MSWSP: fix dissect_mswsp_smb()
[wireshark-wip.git] / epan / dissectors / packet-gsm_map.c
blob0e8ed785b8573a14b54f771ec8bd5eb8f1b47f69
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-gsm_map.c */
4 /* ../../tools/asn2wrs.py -b -c ./gsm_map.cnf -s ./packet-gsm_map-template -D . -O ../../epan/dissectors ../ros/Remote-Operations-Information-Objects.asn MobileDomainDefinitions.asn MAP-ApplicationContexts.asn MAP-SS-Code.asn MAP-BS-Code.asn MAP-TS-Code.asn MAP-ExtensionDataTypes.asn MAP-CommonDataTypes.asn MAP-SS-DataTypes.asn MAP-ER-DataTypes.asn MAP-SM-DataTypes.asn MAP-OM-DataTypes.asn MAP-MS-DataTypes.asn MAP-CH-DataTypes.asn MAP-LCS-DataTypes.asn MAP-GR-DataTypes.asn MAP-DialogueInformation.asn MAP-LocationServiceOperations.asn MAP-Group-Call-Operations.asn MAP-ShortMessageServiceOperations.asn MAP-SupplementaryServiceOperations.asn MAP-CallHandlingOperations.asn MAP-OperationAndMaintenanceOperations.asn MAP-MobileServiceOperations.asn MAP-Errors.asn MAP-Protocol.asn GSMMAP.asn SS-DataTypes.asn SS-Operations.asn Ericsson.asn */
6 /* Input file: packet-gsm_map-template.c */
8 #line 1 "../../asn1/gsm_map/packet-gsm_map-template.c"
9 /* XXX see bug 1852:
11 * packet-gsm_map.c: There are 1174 display filter fields registered. Most are
12 * prefixed appropriately as "gsm_map", but many others are prefixed as
13 * "gsm_old", or even "gad", "gsm_ss", or with no prefix at all. I don't know
14 * if the ones with "gsm_old" are simply obsolete display filter fields or if
15 * they should be prefixed as "gsm_map.old." or what. Similar uncertainties
16 * for the others. Someone more knowledgeable than I am with respect to this
17 * dissector should provide a patch for it.
20 /* packet-gsm_map-template.c
21 * Routines for GSM MobileApplication packet dissection
22 * including GSM SS.
23 * Copyright 2004 - 2010 , Anders Broman <anders.broman [AT] ericsson.com>
24 * Based on the dissector by:
25 * Felix Fei <felix.fei [AT] utstar.com>
26 * and Michael Lum <mlum [AT] telostech.com>
28 * $Id$
30 * Wireshark - Network traffic analyzer
31 * By Gerald Combs <gerald@wireshark.org>
32 * Copyright 1998 Gerald Combs
34 * This program is free software; you can redistribute it and/or
35 * modify it under the terms of the GNU General Public License
36 * as published by the Free Software Foundation; either version 2
37 * of the License, or (at your option) any later version.
39 * This program is distributed in the hope that it will be useful,
40 * but WITHOUT ANY WARRANTY; without even the implied warranty of
41 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
42 * GNU General Public License for more details.
44 * You should have received a copy of the GNU General Public License
45 * along with this program; if not, write to the Free Software
46 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
47 * References GSM MAP:
48 * ETSI TS 129 002
49 * Updated to ETSI TS 129 002 V7.5.0 (3GPP TS 29.002 V7.5.0 (2006-09) Release 7)
50 * Updated to ETSI TS 129 002 V8.4.0 (3GPP TS 29.002 V8.1.0 (2007-06) Release 8)
51 * References GSM SS
52 * References: 3GPP TS 24.080
55 #include "config.h"
57 #include <glib.h>
58 #include <epan/packet.h>
59 #include <epan/prefs.h>
60 #include <epan/tap.h>
61 #include <epan/wmem/wmem.h>
62 #include <epan/oids.h>
63 #include <epan/expert.h>
65 #include <string.h>
67 #include <epan/asn1.h>
68 #include "packet-ber.h"
69 #include "packet-per.h"
70 #include "packet-q931.h"
71 #include "packet-gsm_map.h"
72 #include "packet-gsm_a_common.h"
73 #include "packet-tcap.h"
74 #include "packet-e164.h"
75 #include "packet-e212.h"
76 #include "packet-smpp.h"
77 #include "packet-gsm_sms.h"
78 #include "packet-ranap.h"
80 #define PNAME "GSM Mobile Application"
81 #define PSNAME "GSM_MAP"
82 #define PFNAME "gsm_map"
84 void proto_register_gsm_map(void);
85 void proto_reg_handoff_gsm_map(void);
87 /* Initialize the protocol and registered fields */
88 static int proto_gsm_map = -1;
89 static int proto_gsm_map_dialogue = -1;
91 static int hf_gsm_map_old_Component_PDU = -1;
92 static int hf_gsm_map_getPassword = -1;
93 static int hf_gsm_map_currentPassword = -1;
94 static int hf_gsm_map_extension = -1;
95 static int hf_gsm_map_nature_of_number = -1;
96 static int hf_gsm_map_number_plan = -1;
97 static int hf_gsm_map_isdn_address_digits = -1;
98 static int hf_gsm_map_address_digits = -1;
99 static int hf_gsm_map_servicecentreaddress_digits = -1;
100 static int hf_gsm_map_TBCD_digits = -1;
101 static int hf_gsm_map_Ss_Status_unused = -1;
102 static int hf_gsm_map_Ss_Status_q_bit = -1;
103 static int hf_gsm_map_Ss_Status_p_bit = -1;
104 static int hf_gsm_map_Ss_Status_r_bit = -1;
105 static int hf_gsm_map_Ss_Status_a_bit = -1;
106 static int hf_gsm_map_notification_to_forwarding_party = -1;
107 static int hf_gsm_map_redirecting_presentation = -1;
108 static int hf_gsm_map_notification_to_calling_party = -1;
109 static int hf_gsm_map_forwarding_reason = -1;
110 static int hf_gsm_map_pdp_type_org = -1;
111 static int hf_gsm_map_etsi_pdp_type_number = -1;
112 static int hf_gsm_map_ietf_pdp_type_number = -1;
113 static int hf_gsm_map_ext_qos_subscribed_pri = -1;
115 static int hf_gsm_map_qos_traffic_cls = -1;
116 static int hf_gsm_map_qos_del_order = -1;
117 static int hf_gsm_map_qos_del_of_err_sdu = -1;
118 static int hf_gsm_map_qos_ber = -1;
119 static int hf_gsm_map_qos_sdu_err_rat = -1;
120 static int hf_gsm_map_qos_traff_hdl_pri = -1;
121 static int hf_gsm_map_qos_max_sdu = -1;
122 static int hf_gsm_map_max_brate_ulink = -1;
123 static int hf_gsm_map_max_brate_dlink = -1;
124 static int hf_gsm_map_qos_transfer_delay = -1;
125 static int hf_gsm_map_guaranteed_max_brate_ulink = -1;
126 static int hf_gsm_map_guaranteed_max_brate_dlink = -1;
127 static int hf_gsm_map_GSNAddress_IPv4 = -1;
128 static int hf_gsm_map_GSNAddress_IPv6 = -1;
129 static int hf_gsm_map_ranap_service_Handover = -1;
130 static int hf_gsm_map_IntegrityProtectionInformation = -1;
131 static int hf_gsm_map_EncryptionInformation = -1;
132 static int hf_gsm_map_PlmnContainer_PDU = -1;
133 static int hf_gsm_map_ss_SS_UserData = -1;
134 static int hf_gsm_map_cbs_coding_grp = -1;
135 static int hf_gsm_map_cbs_coding_grp0_lang = -1;
136 static int hf_gsm_map_cbs_coding_grp1_lang = -1;
137 static int hf_gsm_map_cbs_coding_grp2_lang = -1;
138 static int hf_gsm_map_cbs_coding_grp3_lang = -1;
139 static int hf_gsm_map_cbs_coding_grp4_7_comp = -1;
140 static int hf_gsm_map_cbs_coding_grp4_7_class_ind = -1;
141 static int hf_gsm_map_cbs_coding_grp4_7_char_set = -1;
142 static int hf_gsm_map_cbs_coding_grp4_7_class = -1;
143 static int hf_gsm_map_cbs_coding_grp15_mess_code = -1;
144 static int hf_gsm_map_cbs_coding_grp15_class = -1;
145 static int hf_gsm_map_tmsi = -1;
146 static int hf_gsm_map_ie_tag = -1;
147 static int hf_gsm_map_len = -1;
148 static int hf_gsm_map_disc_par = -1;
149 static int hf_gsm_map_dlci = -1;
150 static int hf_gsm_apn_str = -1;
151 static int hf_gsm_map_locationnumber_odd_even = -1;
152 static int hf_gsm_map_locationnumber_nai = -1;
153 static int hf_gsm_map_locationnumber_inn = -1;
154 static int hf_gsm_map_locationnumber_npi = -1;
155 static int hf_gsm_map_locationnumber_apri = -1;
156 static int hf_gsm_map_locationnumber_screening_ind = -1;
157 static int hf_gsm_map_locationnumber_digits = -1;
158 static int hf_gsm_map_ericsson_locationInformation_rat = -1;
159 static int hf_gsm_map_ericsson_locationInformation_lac = -1;
160 static int hf_gsm_map_ericsson_locationInformation_ci = -1;
161 static int hf_gsm_map_ericsson_locationInformation_sac = -1;
164 /*--- Included file: packet-gsm_map-hf.c ---*/
165 #line 1 "../../asn1/gsm_map/packet-gsm_map-hf.c"
167 /* --- Module MAP-ExtensionDataTypes --- --- --- */
169 static int hf_gsm_map_privateExtensionList = -1; /* PrivateExtensionList */
170 static int hf_gsm_map_pcs_Extensions = -1; /* PCS_Extensions */
171 static int hf_gsm_map_slr_Arg_PCS_Extensions = -1; /* SLR_Arg_PCS_Extensions */
172 static int hf_gsm_map_PrivateExtensionList_item = -1; /* PrivateExtension */
173 static int hf_gsm_map_extId = -1; /* T_extId */
174 static int hf_gsm_map_extType = -1; /* T_extType */
175 static int hf_gsm_map_na_ESRK_Request = -1; /* NULL */
177 /* --- Module MAP-CommonDataTypes --- --- --- */
179 static int hf_gsm_map_gsm_map_ISDN_AddressString_PDU = -1; /* ISDN_AddressString */
180 static int hf_gsm_map_protocolId = -1; /* ProtocolId */
181 static int hf_gsm_map_signalInfo = -1; /* SignalInfo */
182 static int hf_gsm_map_extensionContainer = -1; /* ExtensionContainer */
183 static int hf_gsm_map_ext_ProtocolId = -1; /* Ext_ProtocolId */
184 static int hf_gsm_map_accessNetworkProtocolId = -1; /* AccessNetworkProtocolId */
185 static int hf_gsm_map_signalInfo_01 = -1; /* LongSignalInfo */
186 static int hf_gsm_map_imsi = -1; /* IMSI */
187 static int hf_gsm_map_imsi_WithLMSI = -1; /* IMSI_WithLMSI */
188 static int hf_gsm_map_lmsi = -1; /* LMSI */
189 static int hf_gsm_map_HLR_List_item = -1; /* HLR_Id */
190 static int hf_gsm_map_naea_PreferredCIC = -1; /* NAEA_CIC */
191 static int hf_gsm_map_msisdn = -1; /* ISDN_AddressString */
192 static int hf_gsm_map_externalAddress = -1; /* ISDN_AddressString */
193 static int hf_gsm_map_diameter_Name = -1; /* DiameterIdentity */
194 static int hf_gsm_map_diameter_Realm = -1; /* DiameterIdentity */
195 static int hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength = -1; /* CellGlobalIdOrServiceAreaIdFixedLength */
196 static int hf_gsm_map_laiFixedLength = -1; /* LAIFixedLength */
197 static int hf_gsm_map_bearerService = -1; /* BearerServiceCode */
198 static int hf_gsm_map_teleservice = -1; /* TeleserviceCode */
199 static int hf_gsm_map_ext_BearerService = -1; /* Ext_BearerServiceCode */
200 static int hf_gsm_map_ext_Teleservice = -1; /* Ext_TeleserviceCode */
201 static int hf_gsm_map_maximumentitledPriority = -1; /* EMLPP_Priority */
202 static int hf_gsm_map_defaultPriority = -1; /* EMLPP_Priority */
203 static int hf_gsm_map_ss_Code = -1; /* SS_Code */
204 static int hf_gsm_map_ss_Status = -1; /* Ext_SS_Status */
205 static int hf_gsm_map_nbrSB = -1; /* MaxMC_Bearers */
206 static int hf_gsm_map_nbrUser = -1; /* MC_Bearers */
208 /* --- Module MAP-SS-DataTypes --- --- --- */
210 static int hf_gsm_map_ss_ss_Code = -1; /* SS_Code */
211 static int hf_gsm_map_ss_basicService = -1; /* BasicServiceCode */
212 static int hf_gsm_map_ss_forwardedToNumber = -1; /* AddressString */
213 static int hf_gsm_map_ss_forwardedToSubaddress = -1; /* ISDN_SubaddressString */
214 static int hf_gsm_map_ss_noReplyConditionTime = -1; /* NoReplyConditionTime */
215 static int hf_gsm_map_ss_defaultPriority = -1; /* EMLPP_Priority */
216 static int hf_gsm_map_ss_nbrUser = -1; /* MC_Bearers */
217 static int hf_gsm_map_ss_longFTN_Supported = -1; /* NULL */
218 static int hf_gsm_map_ss_forwardingInfo = -1; /* ForwardingInfo */
219 static int hf_gsm_map_ss_callBarringInfo = -1; /* CallBarringInfo */
220 static int hf_gsm_map_ss_ss_Data = -1; /* SS_Data */
221 static int hf_gsm_map_ss_forwardingFeatureList = -1; /* ForwardingFeatureList */
222 static int hf_gsm_map_ss_ForwardingFeatureList_item = -1; /* ForwardingFeature */
223 static int hf_gsm_map_ss_ss_Status = -1; /* SS_Status */
224 static int hf_gsm_map_ss_forwardedToNumber_01 = -1; /* ISDN_AddressString */
225 static int hf_gsm_map_ss_forwardingOptions = -1; /* ForwardingOptions */
226 static int hf_gsm_map_ss_longForwardedToNumber = -1; /* FTN_AddressString */
227 static int hf_gsm_map_ss_callBarringFeatureList = -1; /* CallBarringFeatureList */
228 static int hf_gsm_map_ss_CallBarringFeatureList_item = -1; /* CallBarringFeature */
229 static int hf_gsm_map_ss_ss_SubscriptionOption = -1; /* SS_SubscriptionOption */
230 static int hf_gsm_map_ss_basicServiceGroupList = -1; /* BasicServiceGroupList */
231 static int hf_gsm_map_ss_cliRestrictionOption = -1; /* CliRestrictionOption */
232 static int hf_gsm_map_ss_overrideCategory = -1; /* OverrideCategory */
233 static int hf_gsm_map_ss_maximumEntitledPriority = -1; /* EMLPP_Priority */
234 static int hf_gsm_map_ss_ccbs_FeatureList = -1; /* CCBS_FeatureList */
235 static int hf_gsm_map_ss_nbrSB = -1; /* MaxMC_Bearers */
236 static int hf_gsm_map_ss_nbrSN = -1; /* MC_Bearers */
237 static int hf_gsm_map_ss_CCBS_FeatureList_item = -1; /* CCBS_Feature */
238 static int hf_gsm_map_ss_ccbs_Index = -1; /* CCBS_Index */
239 static int hf_gsm_map_ss_b_subscriberNumber = -1; /* ISDN_AddressString */
240 static int hf_gsm_map_ss_b_subscriberSubaddress = -1; /* ISDN_SubaddressString */
241 static int hf_gsm_map_ss_basicServiceGroup = -1; /* BasicServiceCode */
242 static int hf_gsm_map_ss_genericServiceInfo = -1; /* GenericServiceInfo */
243 static int hf_gsm_map_ss_ussd_DataCodingScheme = -1; /* USSD_DataCodingScheme */
244 static int hf_gsm_map_ss_ussd_String = -1; /* USSD_String */
245 static int hf_gsm_map_ss_alertingPattern = -1; /* AlertingPattern */
246 static int hf_gsm_map_ss_msisdn = -1; /* ISDN_AddressString */
247 static int hf_gsm_map_ss_SS_List_item = -1; /* SS_Code */
248 static int hf_gsm_map_ss_BasicServiceGroupList_item = -1; /* BasicServiceCode */
249 static int hf_gsm_map_ss_imsi = -1; /* IMSI */
250 static int hf_gsm_map_ss_ss_Event = -1; /* SS_Code */
251 static int hf_gsm_map_ss_ss_EventSpecification = -1; /* SS_EventSpecification */
252 static int hf_gsm_map_ss_extensionContainer = -1; /* ExtensionContainer */
253 static int hf_gsm_map_ss_ccbs_RequestState = -1; /* CCBS_RequestState */
254 static int hf_gsm_map_ss_SS_EventSpecification_item = -1; /* AddressString */
255 static int hf_gsm_map_ss_ccbs_Data = -1; /* CCBS_Data */
256 static int hf_gsm_map_ss_ccbs_Feature = -1; /* CCBS_Feature */
257 static int hf_gsm_map_ss_translatedB_Number = -1; /* ISDN_AddressString */
258 static int hf_gsm_map_ss_serviceIndicator = -1; /* ServiceIndicator */
259 static int hf_gsm_map_ss_callInfo = -1; /* ExternalSignalInfo */
260 static int hf_gsm_map_ss_networkSignalInfo = -1; /* ExternalSignalInfo */
261 /* named bits */
262 static int hf_gsm_map_ss_ServiceIndicator_clir_invoked = -1;
263 static int hf_gsm_map_ss_ServiceIndicator_camel_invoked = -1;
265 /* --- Module MAP-ER-DataTypes --- --- --- */
267 static int hf_gsm_map_er_roamingNotAllowedCause = -1; /* RoamingNotAllowedCause */
268 static int hf_gsm_map_er_extensionContainer = -1; /* ExtensionContainer */
269 static int hf_gsm_map_er_additionalRoamingNotAllowedCause = -1; /* AdditionalRoamingNotAllowedCause */
270 static int hf_gsm_map_er_callBarringCause = -1; /* CallBarringCause */
271 static int hf_gsm_map_er_extensibleCallBarredParam = -1; /* ExtensibleCallBarredParam */
272 static int hf_gsm_map_er_unauthorisedMessageOriginator = -1; /* NULL */
273 static int hf_gsm_map_er_anonymousCallRejection = -1; /* NULL */
274 static int hf_gsm_map_er_cug_RejectCause = -1; /* CUG_RejectCause */
275 static int hf_gsm_map_er_ss_Code = -1; /* SS_Code */
276 static int hf_gsm_map_er_basicService = -1; /* BasicServiceCode */
277 static int hf_gsm_map_er_ss_Status = -1; /* SS_Status */
278 static int hf_gsm_map_er_sm_EnumeratedDeliveryFailureCause = -1; /* SM_EnumeratedDeliveryFailureCause */
279 static int hf_gsm_map_er_diagnosticInfo = -1; /* SignalInfo */
280 static int hf_gsm_map_er_absentSubscriberDiagnosticSM = -1; /* AbsentSubscriberDiagnosticSM */
281 static int hf_gsm_map_er_additionalAbsentSubscriberDiagnosticSM = -1; /* AbsentSubscriberDiagnosticSM */
282 static int hf_gsm_map_er_imsi = -1; /* IMSI */
283 static int hf_gsm_map_er_networkResource = -1; /* NetworkResource */
284 static int hf_gsm_map_er_extensibleSystemFailureParam = -1; /* ExtensibleSystemFailureParam */
285 static int hf_gsm_map_er_additionalNetworkResource = -1; /* AdditionalNetworkResource */
286 static int hf_gsm_map_er_failureCauseParam = -1; /* FailureCauseParam */
287 static int hf_gsm_map_er_unexpectedSubscriber = -1; /* NULL */
288 static int hf_gsm_map_er_shapeOfLocationEstimateNotSupported = -1; /* NULL */
289 static int hf_gsm_map_er_neededLcsCapabilityNotSupportedInServingNode = -1; /* NULL */
290 static int hf_gsm_map_er_unknownSubscriberDiagnostic = -1; /* UnknownSubscriberDiagnostic */
291 static int hf_gsm_map_er_absentSubscriberReason = -1; /* AbsentSubscriberReason */
292 static int hf_gsm_map_er_ccbs_Possible = -1; /* NULL */
293 static int hf_gsm_map_er_ccbs_Busy = -1; /* NULL */
294 static int hf_gsm_map_er_gprsConnectionSuspended = -1; /* NULL */
295 static int hf_gsm_map_er_unauthorizedLCSClient_Diagnostic = -1; /* UnauthorizedLCSClient_Diagnostic */
296 static int hf_gsm_map_er_positionMethodFailure_Diagnostic = -1; /* PositionMethodFailure_Diagnostic */
298 /* --- Module MAP-SM-DataTypes --- --- --- */
300 static int hf_gsm_map_sm_msisdn = -1; /* ISDN_AddressString */
301 static int hf_gsm_map_sm_sm_RP_PRI = -1; /* BOOLEAN */
302 static int hf_gsm_map_sm_serviceCentreAddress = -1; /* AddressString */
303 static int hf_gsm_map_sm_extensionContainer = -1; /* ExtensionContainer */
304 static int hf_gsm_map_sm_gprsSupportIndicator = -1; /* NULL */
305 static int hf_gsm_map_sm_sm_RP_MTI = -1; /* SM_RP_MTI */
306 static int hf_gsm_map_sm_sm_RP_SMEA = -1; /* SM_RP_SMEA */
307 static int hf_gsm_map_sm_sm_deliveryNotIntended = -1; /* SM_DeliveryNotIntended */
308 static int hf_gsm_map_sm_ip_sm_gwGuidanceIndicator = -1; /* NULL */
309 static int hf_gsm_map_sm_imsi = -1; /* IMSI */
310 static int hf_gsm_map_sm_locationInfoWithLMSI = -1; /* LocationInfoWithLMSI */
311 static int hf_gsm_map_sm_ip_sm_gwGuidance = -1; /* IP_SM_GW_Guidance */
312 static int hf_gsm_map_sm_minimumDeliveryTimeValue = -1; /* SM_DeliveryTimerValue */
313 static int hf_gsm_map_sm_recommendedDeliveryTimeValue = -1; /* SM_DeliveryTimerValue */
314 static int hf_gsm_map_sm_networkNode_Number = -1; /* ISDN_AddressString */
315 static int hf_gsm_map_sm_lmsi = -1; /* LMSI */
316 static int hf_gsm_map_sm_gprsNodeIndicator = -1; /* NULL */
317 static int hf_gsm_map_sm_additional_Number = -1; /* Additional_Number */
318 static int hf_gsm_map_sm_networkNodeDiameterAddress = -1; /* NetworkNodeDiameterAddress */
319 static int hf_gsm_map_sm_additionalNetworkNodeDiameterAddress = -1; /* NetworkNodeDiameterAddress */
320 static int hf_gsm_map_sm_thirdNumber = -1; /* Additional_Number */
321 static int hf_gsm_map_sm_thirdNetworkNodeDiameterAddress = -1; /* NetworkNodeDiameterAddress */
322 static int hf_gsm_map_sm_imsNodeIndicator = -1; /* NULL */
323 static int hf_gsm_map_sm_msc_Number = -1; /* ISDN_AddressString */
324 static int hf_gsm_map_sm_sgsn_Number = -1; /* ISDN_AddressString */
325 static int hf_gsm_map_sm_sm_RP_DA = -1; /* SM_RP_DA */
326 static int hf_gsm_map_sm_sm_RP_OA = -1; /* SM_RP_OA */
327 static int hf_gsm_map_sm_sm_RP_UI = -1; /* SignalInfo */
328 static int hf_gsm_map_sm_moreMessagesToSend = -1; /* NULL */
329 static int hf_gsm_map_sm_smDeliveryTimer = -1; /* SM_DeliveryTimerValue */
330 static int hf_gsm_map_sm_smDeliveryStartTime = -1; /* Time */
331 static int hf_gsm_map_sm_smsOverIP_OnlyIndicator = -1; /* NULL */
332 static int hf_gsm_map_sm_imsi_01 = -1; /* T_imsi */
333 static int hf_gsm_map_sm_lmsi_01 = -1; /* T_lmsi */
334 static int hf_gsm_map_sm_serviceCentreAddressDA = -1; /* T_serviceCentreAddressDA */
335 static int hf_gsm_map_sm_noSM_RP_DA = -1; /* NULL */
336 static int hf_gsm_map_sm_msisdn_01 = -1; /* T_msisdn */
337 static int hf_gsm_map_sm_serviceCentreAddressOA = -1; /* T_serviceCentreAddressOA */
338 static int hf_gsm_map_sm_noSM_RP_OA = -1; /* NULL */
339 static int hf_gsm_map_sm_sm_DeliveryOutcome = -1; /* SM_DeliveryOutcome */
340 static int hf_gsm_map_sm_absentSubscriberDiagnosticSM = -1; /* AbsentSubscriberDiagnosticSM */
341 static int hf_gsm_map_sm_deliveryOutcomeIndicator = -1; /* NULL */
342 static int hf_gsm_map_sm_additionalSM_DeliveryOutcome = -1; /* SM_DeliveryOutcome */
343 static int hf_gsm_map_sm_additionalAbsentSubscriberDiagnosticSM = -1; /* AbsentSubscriberDiagnosticSM */
344 static int hf_gsm_map_sm_ip_sm_gw_Indicator = -1; /* NULL */
345 static int hf_gsm_map_sm_ip_sm_gw_sm_deliveryOutcome = -1; /* SM_DeliveryOutcome */
346 static int hf_gsm_map_sm_ip_sm_gw_absentSubscriberDiagnosticSM = -1; /* AbsentSubscriberDiagnosticSM */
347 static int hf_gsm_map_sm_storedMSISDN = -1; /* ISDN_AddressString */
348 static int hf_gsm_map_sm_mw_Status = -1; /* MW_Status */
349 static int hf_gsm_map_sm_alertReason = -1; /* AlertReason */
350 static int hf_gsm_map_sm_alertReasonIndicator = -1; /* NULL */
351 static int hf_gsm_map_sm_additionalAlertReasonIndicator = -1; /* NULL */
352 static int hf_gsm_map_sm_asciCallReference = -1; /* ASCI_CallReference */
353 static int hf_gsm_map_sm_dispatcherList = -1; /* DispatcherList */
354 static int hf_gsm_map_sm_ongoingCall = -1; /* NULL */
355 static int hf_gsm_map_sm_additionalDispatcherList = -1; /* AdditionalDispatcherList */
356 static int hf_gsm_map_sm_DispatcherList_item = -1; /* ISDN_AddressString */
357 static int hf_gsm_map_sm_AdditionalDispatcherList_item = -1; /* ISDN_AddressString */
358 /* named bits */
359 static int hf_gsm_map_sm_MW_Status_sc_AddressNotIncluded = -1;
360 static int hf_gsm_map_sm_MW_Status_mnrf_Set = -1;
361 static int hf_gsm_map_sm_MW_Status_mcef_Set = -1;
362 static int hf_gsm_map_sm_MW_Status_mnrg_Set = -1;
364 /* --- Module MAP-OM-DataTypes --- --- --- */
366 static int hf_gsm_map_om_imsi = -1; /* IMSI */
367 static int hf_gsm_map_om_traceReference = -1; /* TraceReference */
368 static int hf_gsm_map_om_traceType = -1; /* TraceType */
369 static int hf_gsm_map_om_omc_Id = -1; /* AddressString */
370 static int hf_gsm_map_om_extensionContainer = -1; /* ExtensionContainer */
371 static int hf_gsm_map_om_traceReference2 = -1; /* TraceReference2 */
372 static int hf_gsm_map_om_traceDepthList = -1; /* TraceDepthList */
373 static int hf_gsm_map_om_traceNE_TypeList = -1; /* TraceNE_TypeList */
374 static int hf_gsm_map_om_traceInterfaceList = -1; /* TraceInterfaceList */
375 static int hf_gsm_map_om_traceEventList = -1; /* TraceEventList */
376 static int hf_gsm_map_om_traceCollectionEntity = -1; /* GSN_Address */
377 static int hf_gsm_map_om_mdt_Configuration = -1; /* MDT_Configuration */
378 static int hf_gsm_map_om_jobType = -1; /* JobType */
379 static int hf_gsm_map_om_areaScope = -1; /* AreaScope */
380 static int hf_gsm_map_om_listOfMeasurements = -1; /* ListOfMeasurements */
381 static int hf_gsm_map_om_reportingTrigger = -1; /* ReportingTrigger */
382 static int hf_gsm_map_om_reportInterval = -1; /* ReportInterval */
383 static int hf_gsm_map_om_reportAmount = -1; /* ReportAmount */
384 static int hf_gsm_map_om_eventThresholdRSRP = -1; /* EventThresholdRSRP */
385 static int hf_gsm_map_om_eventThresholdRSRQ = -1; /* EventThresholdRSRQ */
386 static int hf_gsm_map_om_loggingInterval = -1; /* LoggingInterval */
387 static int hf_gsm_map_om_loggingDuration = -1; /* LoggingDuration */
388 static int hf_gsm_map_om_cgi_List = -1; /* CGI_List */
389 static int hf_gsm_map_om_e_utran_cgi_List = -1; /* E_UTRAN_CGI_List */
390 static int hf_gsm_map_om_routingAreaId_List = -1; /* RoutingAreaId_List */
391 static int hf_gsm_map_om_locationAreaId_List = -1; /* LocationAreaId_List */
392 static int hf_gsm_map_om_trackingAreaId_List = -1; /* TrackingAreaId_List */
393 static int hf_gsm_map_om_CGI_List_item = -1; /* GlobalCellId */
394 static int hf_gsm_map_om_E_UTRAN_CGI_List_item = -1; /* E_UTRAN_CGI */
395 static int hf_gsm_map_om_RoutingAreaId_List_item = -1; /* RAIdentity */
396 static int hf_gsm_map_om_LocationAreaId_List_item = -1; /* LAIFixedLength */
397 static int hf_gsm_map_om_TrackingAreaId_List_item = -1; /* TA_Id */
398 static int hf_gsm_map_om_msc_s_TraceDepth = -1; /* TraceDepth */
399 static int hf_gsm_map_om_mgw_TraceDepth = -1; /* TraceDepth */
400 static int hf_gsm_map_om_sgsn_TraceDepth = -1; /* TraceDepth */
401 static int hf_gsm_map_om_ggsn_TraceDepth = -1; /* TraceDepth */
402 static int hf_gsm_map_om_rnc_TraceDepth = -1; /* TraceDepth */
403 static int hf_gsm_map_om_bmsc_TraceDepth = -1; /* TraceDepth */
404 static int hf_gsm_map_om_mme_TraceDepth = -1; /* TraceDepth */
405 static int hf_gsm_map_om_sgw_TraceDepth = -1; /* TraceDepth */
406 static int hf_gsm_map_om_pgw_TraceDepth = -1; /* TraceDepth */
407 static int hf_gsm_map_om_eNB_TraceDepth = -1; /* TraceDepth */
408 static int hf_gsm_map_om_msc_s_TraceDepthExtension = -1; /* TraceDepthExtension */
409 static int hf_gsm_map_om_mgw_TraceDepthExtension = -1; /* TraceDepthExtension */
410 static int hf_gsm_map_om_sgsn_TraceDepthExtension = -1; /* TraceDepthExtension */
411 static int hf_gsm_map_om_ggsn_TraceDepthExtension = -1; /* TraceDepthExtension */
412 static int hf_gsm_map_om_rnc_TraceDepthExtension = -1; /* TraceDepthExtension */
413 static int hf_gsm_map_om_bmsc_TraceDepthExtension = -1; /* TraceDepthExtension */
414 static int hf_gsm_map_om_mme_TraceDepthExtension = -1; /* TraceDepthExtension */
415 static int hf_gsm_map_om_sgw_TraceDepthExtension = -1; /* TraceDepthExtension */
416 static int hf_gsm_map_om_pgw_TraceDepthExtension = -1; /* TraceDepthExtension */
417 static int hf_gsm_map_om_eNB_TraceDepthExtension = -1; /* TraceDepthExtension */
418 static int hf_gsm_map_om_msc_s_List = -1; /* MSC_S_InterfaceList */
419 static int hf_gsm_map_om_mgw_List = -1; /* MGW_InterfaceList */
420 static int hf_gsm_map_om_sgsn_List = -1; /* SGSN_InterfaceList */
421 static int hf_gsm_map_om_ggsn_List = -1; /* GGSN_InterfaceList */
422 static int hf_gsm_map_om_rnc_List = -1; /* RNC_InterfaceList */
423 static int hf_gsm_map_om_bmsc_List = -1; /* BMSC_InterfaceList */
424 static int hf_gsm_map_om_mme_List = -1; /* MME_InterfaceList */
425 static int hf_gsm_map_om_sgw_List = -1; /* SGW_InterfaceList */
426 static int hf_gsm_map_om_pgw_List = -1; /* PGW_InterfaceList */
427 static int hf_gsm_map_om_eNB_List = -1; /* ENB_InterfaceList */
428 static int hf_gsm_map_om_msc_s_List_01 = -1; /* MSC_S_EventList */
429 static int hf_gsm_map_om_mgw_List_01 = -1; /* MGW_EventList */
430 static int hf_gsm_map_om_sgsn_List_01 = -1; /* SGSN_EventList */
431 static int hf_gsm_map_om_ggsn_List_01 = -1; /* GGSN_EventList */
432 static int hf_gsm_map_om_bmsc_List_01 = -1; /* BMSC_EventList */
433 static int hf_gsm_map_om_mme_List_01 = -1; /* MME_EventList */
434 static int hf_gsm_map_om_sgw_List_01 = -1; /* SGW_EventList */
435 static int hf_gsm_map_om_pgw_List_01 = -1; /* PGW_EventList */
436 static int hf_gsm_map_om_traceRecordingSessionReference = -1; /* TraceRecordingSessionReference */
437 static int hf_gsm_map_om_rnc_InterfaceList = -1; /* RNC_InterfaceList */
438 static int hf_gsm_map_om_msc_s_InterfaceList = -1; /* MSC_S_InterfaceList */
439 static int hf_gsm_map_om_msc_s_EventList = -1; /* MSC_S_EventList */
440 static int hf_gsm_map_om_mgw_InterfaceList = -1; /* MGW_InterfaceList */
441 static int hf_gsm_map_om_mgw_EventList = -1; /* MGW_EventList */
442 static int hf_gsm_map_om_traceSupportIndicator = -1; /* NULL */
443 /* named bits */
444 static int hf_gsm_map_om_TraceNE_TypeList_msc_s = -1;
445 static int hf_gsm_map_om_TraceNE_TypeList_mgw = -1;
446 static int hf_gsm_map_om_TraceNE_TypeList_sgsn = -1;
447 static int hf_gsm_map_om_TraceNE_TypeList_ggsn = -1;
448 static int hf_gsm_map_om_TraceNE_TypeList_rnc = -1;
449 static int hf_gsm_map_om_TraceNE_TypeList_bm_sc = -1;
450 static int hf_gsm_map_om_TraceNE_TypeList_mme = -1;
451 static int hf_gsm_map_om_TraceNE_TypeList_sgw = -1;
452 static int hf_gsm_map_om_TraceNE_TypeList_pgw = -1;
453 static int hf_gsm_map_om_TraceNE_TypeList_eNB = -1;
454 static int hf_gsm_map_om_MSC_S_InterfaceList_a = -1;
455 static int hf_gsm_map_om_MSC_S_InterfaceList_iu = -1;
456 static int hf_gsm_map_om_MSC_S_InterfaceList_mc = -1;
457 static int hf_gsm_map_om_MSC_S_InterfaceList_map_g = -1;
458 static int hf_gsm_map_om_MSC_S_InterfaceList_map_b = -1;
459 static int hf_gsm_map_om_MSC_S_InterfaceList_map_e = -1;
460 static int hf_gsm_map_om_MSC_S_InterfaceList_map_f = -1;
461 static int hf_gsm_map_om_MSC_S_InterfaceList_cap = -1;
462 static int hf_gsm_map_om_MSC_S_InterfaceList_map_d = -1;
463 static int hf_gsm_map_om_MSC_S_InterfaceList_map_c = -1;
464 static int hf_gsm_map_om_MGW_InterfaceList_mc = -1;
465 static int hf_gsm_map_om_MGW_InterfaceList_nb_up = -1;
466 static int hf_gsm_map_om_MGW_InterfaceList_iu_up = -1;
467 static int hf_gsm_map_om_SGSN_InterfaceList_gb = -1;
468 static int hf_gsm_map_om_SGSN_InterfaceList_iu = -1;
469 static int hf_gsm_map_om_SGSN_InterfaceList_gn = -1;
470 static int hf_gsm_map_om_SGSN_InterfaceList_map_gr = -1;
471 static int hf_gsm_map_om_SGSN_InterfaceList_map_gd = -1;
472 static int hf_gsm_map_om_SGSN_InterfaceList_map_gf = -1;
473 static int hf_gsm_map_om_SGSN_InterfaceList_gs = -1;
474 static int hf_gsm_map_om_SGSN_InterfaceList_ge = -1;
475 static int hf_gsm_map_om_SGSN_InterfaceList_s3 = -1;
476 static int hf_gsm_map_om_SGSN_InterfaceList_s4 = -1;
477 static int hf_gsm_map_om_SGSN_InterfaceList_s6d = -1;
478 static int hf_gsm_map_om_GGSN_InterfaceList_gn = -1;
479 static int hf_gsm_map_om_GGSN_InterfaceList_gi = -1;
480 static int hf_gsm_map_om_GGSN_InterfaceList_gmb = -1;
481 static int hf_gsm_map_om_RNC_InterfaceList_iu = -1;
482 static int hf_gsm_map_om_RNC_InterfaceList_iur = -1;
483 static int hf_gsm_map_om_RNC_InterfaceList_iub = -1;
484 static int hf_gsm_map_om_RNC_InterfaceList_uu = -1;
485 static int hf_gsm_map_om_BMSC_InterfaceList_gmb = -1;
486 static int hf_gsm_map_om_MME_InterfaceList_s1_mme = -1;
487 static int hf_gsm_map_om_MME_InterfaceList_s3 = -1;
488 static int hf_gsm_map_om_MME_InterfaceList_s6a = -1;
489 static int hf_gsm_map_om_MME_InterfaceList_s10 = -1;
490 static int hf_gsm_map_om_MME_InterfaceList_s11 = -1;
491 static int hf_gsm_map_om_SGW_InterfaceList_s4 = -1;
492 static int hf_gsm_map_om_SGW_InterfaceList_s5 = -1;
493 static int hf_gsm_map_om_SGW_InterfaceList_s8b = -1;
494 static int hf_gsm_map_om_SGW_InterfaceList_s11 = -1;
495 static int hf_gsm_map_om_SGW_InterfaceList_gxc = -1;
496 static int hf_gsm_map_om_PGW_InterfaceList_s2a = -1;
497 static int hf_gsm_map_om_PGW_InterfaceList_s2b = -1;
498 static int hf_gsm_map_om_PGW_InterfaceList_s2c = -1;
499 static int hf_gsm_map_om_PGW_InterfaceList_s5 = -1;
500 static int hf_gsm_map_om_PGW_InterfaceList_s6b = -1;
501 static int hf_gsm_map_om_PGW_InterfaceList_gx = -1;
502 static int hf_gsm_map_om_PGW_InterfaceList_s8b = -1;
503 static int hf_gsm_map_om_PGW_InterfaceList_sgi = -1;
504 static int hf_gsm_map_om_ENB_InterfaceList_s1_mme = -1;
505 static int hf_gsm_map_om_ENB_InterfaceList_x2 = -1;
506 static int hf_gsm_map_om_ENB_InterfaceList_uu = -1;
507 static int hf_gsm_map_om_MSC_S_EventList_mo_mtCall = -1;
508 static int hf_gsm_map_om_MSC_S_EventList_mo_mt_sms = -1;
509 static int hf_gsm_map_om_MSC_S_EventList_lu_imsiAttach_imsiDetach = -1;
510 static int hf_gsm_map_om_MSC_S_EventList_handovers = -1;
511 static int hf_gsm_map_om_MSC_S_EventList_ss = -1;
512 static int hf_gsm_map_om_MGW_EventList_context = -1;
513 static int hf_gsm_map_om_SGSN_EventList_pdpContext = -1;
514 static int hf_gsm_map_om_SGSN_EventList_mo_mt_sms = -1;
515 static int hf_gsm_map_om_SGSN_EventList_rau_gprsAttach_gprsDetach = -1;
516 static int hf_gsm_map_om_SGSN_EventList_mbmsContext = -1;
517 static int hf_gsm_map_om_GGSN_EventList_pdpContext = -1;
518 static int hf_gsm_map_om_GGSN_EventList_mbmsContext = -1;
519 static int hf_gsm_map_om_BMSC_EventList_mbmsMulticastServiceActivation = -1;
520 static int hf_gsm_map_om_MME_EventList_ue_initiatedPDNconectivityRequest = -1;
521 static int hf_gsm_map_om_MME_EventList_serviceRequestts = -1;
522 static int hf_gsm_map_om_MME_EventList_initialAttachTrackingAreaUpdateDetach = -1;
523 static int hf_gsm_map_om_MME_EventList_ue_initiatedPDNdisconnection = -1;
524 static int hf_gsm_map_om_MME_EventList_bearerActivationModificationDeletion = -1;
525 static int hf_gsm_map_om_MME_EventList_handover = -1;
526 static int hf_gsm_map_om_SGW_EventList_pdn_connectionCreation = -1;
527 static int hf_gsm_map_om_SGW_EventList_pdn_connectionTermination = -1;
528 static int hf_gsm_map_om_SGW_EventList_bearerActivationModificationDeletion = -1;
529 static int hf_gsm_map_om_PGW_EventList_pdn_connectionCreation = -1;
530 static int hf_gsm_map_om_PGW_EventList_pdn_connectionTermination = -1;
531 static int hf_gsm_map_om_PGW_EventList_bearerActivationModificationDeletion = -1;
533 /* --- Module MAP-MS-DataTypes --- --- --- */
535 static int hf_gsm_map_ms_imsi = -1; /* IMSI */
536 static int hf_gsm_map_ms_msc_Number = -1; /* ISDN_AddressString */
537 static int hf_gsm_map_ms_vlr_Number = -1; /* ISDN_AddressString */
538 static int hf_gsm_map_ms_lmsi = -1; /* LMSI */
539 static int hf_gsm_map_ms_extensionContainer = -1; /* ExtensionContainer */
540 static int hf_gsm_map_ms_vlr_Capability = -1; /* VLR_Capability */
541 static int hf_gsm_map_ms_informPreviousNetworkEntity = -1; /* NULL */
542 static int hf_gsm_map_ms_cs_LCS_NotSupportedByUE = -1; /* NULL */
543 static int hf_gsm_map_ms_v_gmlc_Address = -1; /* GSN_Address */
544 static int hf_gsm_map_ms_add_info = -1; /* ADD_Info */
545 static int hf_gsm_map_ms_pagingArea = -1; /* PagingArea */
546 static int hf_gsm_map_ms_skipSubscriberDataUpdate = -1; /* NULL */
547 static int hf_gsm_map_ms_restorationIndicator = -1; /* NULL */
548 static int hf_gsm_map_ms_eplmn_List = -1; /* EPLMN_List */
549 static int hf_gsm_map_ms_mme_DiameterAddress = -1; /* NetworkNodeDiameterAddress */
550 static int hf_gsm_map_ms_supportedCamelPhases = -1; /* SupportedCamelPhases */
551 static int hf_gsm_map_ms_solsaSupportIndicator = -1; /* NULL */
552 static int hf_gsm_map_ms_istSupportIndicator = -1; /* IST_SupportIndicator */
553 static int hf_gsm_map_ms_superChargerSupportedInServingNetworkEntity = -1; /* SuperChargerInfo */
554 static int hf_gsm_map_ms_longFTN_Supported = -1; /* NULL */
555 static int hf_gsm_map_ms_supportedLCS_CapabilitySets = -1; /* SupportedLCS_CapabilitySets */
556 static int hf_gsm_map_ms_offeredCamel4CSIs = -1; /* OfferedCamel4CSIs */
557 static int hf_gsm_map_ms_supportedRAT_TypesIndicator = -1; /* SupportedRAT_Types */
558 static int hf_gsm_map_ms_longGroupID_Supported = -1; /* NULL */
559 static int hf_gsm_map_ms_mtRoamingForwardingSupported = -1; /* NULL */
560 static int hf_gsm_map_ms_msisdn_lessOperation_Supported = -1; /* NULL */
561 static int hf_gsm_map_ms_sendSubscriberData = -1; /* NULL */
562 static int hf_gsm_map_ms_subscriberDataStored = -1; /* AgeIndicator */
563 static int hf_gsm_map_ms_hlr_Number = -1; /* ISDN_AddressString */
564 static int hf_gsm_map_ms_add_Capability = -1; /* NULL */
565 static int hf_gsm_map_ms_pagingArea_Capability = -1; /* NULL */
566 static int hf_gsm_map_ms_imeisv = -1; /* IMEI */
567 static int hf_gsm_map_ms_PagingArea_item = -1; /* LocationArea */
568 static int hf_gsm_map_ms_laiFixedLength = -1; /* LAIFixedLength */
569 static int hf_gsm_map_ms_lac = -1; /* LAC */
570 static int hf_gsm_map_ms_identity = -1; /* Identity */
571 static int hf_gsm_map_ms_cancellationType = -1; /* CancellationType */
572 static int hf_gsm_map_ms_typeOfUpdate = -1; /* TypeOfUpdate */
573 static int hf_gsm_map_ms_mtrf_SupportedAndAuthorized = -1; /* NULL */
574 static int hf_gsm_map_ms_mtrf_SupportedAndNotAuthorized = -1; /* NULL */
575 static int hf_gsm_map_ms_newMSC_Number = -1; /* ISDN_AddressString */
576 static int hf_gsm_map_ms_newVLR_Number = -1; /* ISDN_AddressString */
577 static int hf_gsm_map_ms_new_lmsi = -1; /* LMSI */
578 static int hf_gsm_map_ms_sgsn_Number = -1; /* ISDN_AddressString */
579 static int hf_gsm_map_ms_freezeTMSI = -1; /* NULL */
580 static int hf_gsm_map_ms_freezeP_TMSI = -1; /* NULL */
581 static int hf_gsm_map_ms_freezeM_TMSI = -1; /* NULL */
582 static int hf_gsm_map_ms_tmsi = -1; /* TMSI */
583 static int hf_gsm_map_ms_numberOfRequestedVectors = -1; /* NumberOfRequestedVectors */
584 static int hf_gsm_map_ms_segmentationProhibited = -1; /* NULL */
585 static int hf_gsm_map_ms_previous_LAI = -1; /* LAIFixedLength */
586 static int hf_gsm_map_ms_hopCounter = -1; /* HopCounter */
587 static int hf_gsm_map_ms_authenticationSetList = -1; /* AuthenticationSetList */
588 static int hf_gsm_map_ms_currentSecurityContext = -1; /* CurrentSecurityContext */
589 static int hf_gsm_map_ms_tripletList = -1; /* TripletList */
590 static int hf_gsm_map_ms_quintupletList = -1; /* QuintupletList */
591 static int hf_gsm_map_ms_TripletList_item = -1; /* AuthenticationTriplet */
592 static int hf_gsm_map_ms_QuintupletList_item = -1; /* AuthenticationQuintuplet */
593 static int hf_gsm_map_ms_rand = -1; /* RAND */
594 static int hf_gsm_map_ms_sres = -1; /* SRES */
595 static int hf_gsm_map_ms_kc = -1; /* Kc */
596 static int hf_gsm_map_ms_xres = -1; /* XRES */
597 static int hf_gsm_map_ms_ck = -1; /* CK */
598 static int hf_gsm_map_ms_ik = -1; /* IK */
599 static int hf_gsm_map_ms_autn = -1; /* AUTN */
600 static int hf_gsm_map_ms_gsm_SecurityContextData = -1; /* GSM_SecurityContextData */
601 static int hf_gsm_map_ms_umts_SecurityContextData = -1; /* UMTS_SecurityContextData */
602 static int hf_gsm_map_ms_cksn = -1; /* Cksn */
603 static int hf_gsm_map_ms_ksi = -1; /* KSI */
604 static int hf_gsm_map_ms_failureCause = -1; /* FailureCause */
605 static int hf_gsm_map_ms_re_attempt = -1; /* BOOLEAN */
606 static int hf_gsm_map_ms_accessType = -1; /* AccessType */
607 static int hf_gsm_map_ms_sgsn_Address = -1; /* GSN_Address */
608 static int hf_gsm_map_ms_sgsn_Capability = -1; /* SGSN_Capability */
609 static int hf_gsm_map_ms_ps_LCS_NotSupportedByUE = -1; /* NULL */
610 static int hf_gsm_map_ms_eps_info = -1; /* EPS_Info */
611 static int hf_gsm_map_ms_servingNodeTypeIndicator = -1; /* NULL */
612 static int hf_gsm_map_ms_usedRAT_Type = -1; /* Used_RAT_Type */
613 static int hf_gsm_map_ms_gprsSubscriptionDataNotNeeded = -1; /* NULL */
614 static int hf_gsm_map_ms_nodeTypeIndicator = -1; /* NULL */
615 static int hf_gsm_map_ms_areaRestricted = -1; /* NULL */
616 static int hf_gsm_map_ms_ue_reachableIndicator = -1; /* NULL */
617 static int hf_gsm_map_ms_epsSubscriptionDataNotNeeded = -1; /* NULL */
618 static int hf_gsm_map_ms_ue_srvcc_Capability = -1; /* UE_SRVCC_Capability */
619 static int hf_gsm_map_ms_mmeNumberforMTSMS = -1; /* ISDN_AddressString */
620 static int hf_gsm_map_ms_smsRegisterRequest = -1; /* SMSRegisterRequest */
621 static int hf_gsm_map_ms_sms_Only = -1; /* NULL */
622 static int hf_gsm_map_ms_pdn_gw_update = -1; /* PDN_GW_Update */
623 static int hf_gsm_map_ms_isr_Information = -1; /* ISR_Information */
624 static int hf_gsm_map_ms_apn = -1; /* APN */
625 static int hf_gsm_map_ms_pdn_gw_Identity = -1; /* PDN_GW_Identity */
626 static int hf_gsm_map_ms_contextId = -1; /* ContextId */
627 static int hf_gsm_map_ms_gprsEnhancementsSupportIndicator = -1; /* NULL */
628 static int hf_gsm_map_ms_smsCallBarringSupportIndicator = -1; /* NULL */
629 static int hf_gsm_map_ms_supportedFeatures = -1; /* SupportedFeatures */
630 static int hf_gsm_map_ms_t_adsDataRetrieval = -1; /* NULL */
631 static int hf_gsm_map_ms_homogeneousSupportOfIMSVoiceOverPSSessions = -1; /* BOOLEAN */
632 static int hf_gsm_map_ms_cancellationTypeInitialAttach = -1; /* NULL */
633 static int hf_gsm_map_ms_additionalMsisdnSupport = -1; /* NULL */
634 static int hf_gsm_map_ms_sgsn_mmeSeparationSupported = -1; /* NULL */
635 static int hf_gsm_map_ms_mmeRegisteredforSMS = -1; /* NULL */
636 static int hf_gsm_map_ms_EPLMN_List_item = -1; /* PLMN_Id */
637 static int hf_gsm_map_ms_an_APDU = -1; /* AccessNetworkSignalInfo */
638 static int hf_gsm_map_ms_integrityProtectionInfo = -1; /* IntegrityProtectionInformation */
639 static int hf_gsm_map_ms_encryptionInfo = -1; /* EncryptionInformation */
640 static int hf_gsm_map_ms_keyStatus = -1; /* KeyStatus */
641 static int hf_gsm_map_ms_allowedGSM_Algorithms = -1; /* AllowedGSM_Algorithms */
642 static int hf_gsm_map_ms_allowedUMTS_Algorithms = -1; /* AllowedUMTS_Algorithms */
643 static int hf_gsm_map_ms_radioResourceInformation = -1; /* RadioResourceInformation */
644 static int hf_gsm_map_ms_radioResourceList = -1; /* RadioResourceList */
645 static int hf_gsm_map_ms_bssmap_ServiceHandover = -1; /* BSSMAP_ServiceHandover */
646 static int hf_gsm_map_ms_ranap_ServiceHandover = -1; /* RANAP_ServiceHandover */
647 static int hf_gsm_map_ms_bssmap_ServiceHandoverList = -1; /* BSSMAP_ServiceHandoverList */
648 static int hf_gsm_map_ms_currentlyUsedCodec = -1; /* Codec */
649 static int hf_gsm_map_ms_iuSupportedCodecsList = -1; /* SupportedCodecsList */
650 static int hf_gsm_map_ms_rab_ConfigurationIndicator = -1; /* NULL */
651 static int hf_gsm_map_ms_iuSelectedCodec = -1; /* Codec */
652 static int hf_gsm_map_ms_alternativeChannelType = -1; /* RadioResourceInformation */
653 static int hf_gsm_map_ms_tracePropagationList = -1; /* TracePropagationList */
654 static int hf_gsm_map_ms_aoipSupportedCodecsListAnchor = -1; /* AoIPCodecsList */
655 static int hf_gsm_map_ms_aoipSelectedCodecTarget = -1; /* AoIPCodec */
656 static int hf_gsm_map_ms_integrityProtectionAlgorithms = -1; /* PermittedIntegrityProtectionAlgorithms */
657 static int hf_gsm_map_ms_encryptionAlgorithms = -1; /* PermittedEncryptionAlgorithms */
658 static int hf_gsm_map_ms_targetCellId = -1; /* GlobalCellId */
659 static int hf_gsm_map_ms_ho_NumberNotRequired = -1; /* NULL */
660 static int hf_gsm_map_ms_targetRNCId = -1; /* RNCId */
661 static int hf_gsm_map_ms_multipleBearerRequested = -1; /* NULL */
662 static int hf_gsm_map_ms_rab_Id = -1; /* RAB_Id */
663 static int hf_gsm_map_ms_asciCallReference = -1; /* ASCI_CallReference */
664 static int hf_gsm_map_ms_geran_classmark = -1; /* GERAN_Classmark */
665 static int hf_gsm_map_ms_iuCurrentlyUsedCodec = -1; /* Codec */
666 static int hf_gsm_map_ms_uesbi_Iu = -1; /* UESBI_Iu */
667 static int hf_gsm_map_ms_regionalSubscriptionData = -1; /* ZoneCodeList */
668 static int hf_gsm_map_ms_lclsGlobalCallReference = -1; /* LCLS_GlobalCallReference */
669 static int hf_gsm_map_ms_lcls_Negotiation = -1; /* LCLS_Negotiation */
670 static int hf_gsm_map_ms_lcls_Configuration_Preference = -1; /* LCLS_ConfigurationPreference */
671 static int hf_gsm_map_ms_csg_SubscriptionDataList = -1; /* CSG_SubscriptionDataList */
672 static int hf_gsm_map_ms_BSSMAP_ServiceHandoverList_item = -1; /* BSSMAP_ServiceHandoverInfo */
673 static int hf_gsm_map_ms_RadioResourceList_item = -1; /* RadioResource */
674 static int hf_gsm_map_ms_handoverNumber = -1; /* ISDN_AddressString */
675 static int hf_gsm_map_ms_relocationNumberList = -1; /* RelocationNumberList */
676 static int hf_gsm_map_ms_multicallBearerInfo = -1; /* MulticallBearerInfo */
677 static int hf_gsm_map_ms_multipleBearerNotSupported = -1; /* NULL */
678 static int hf_gsm_map_ms_selectedUMTS_Algorithms = -1; /* SelectedUMTS_Algorithms */
679 static int hf_gsm_map_ms_chosenRadioResourceInformation = -1; /* ChosenRadioResourceInformation */
680 static int hf_gsm_map_ms_iuAvailableCodecsList = -1; /* CodecList */
681 static int hf_gsm_map_ms_aoipAvailableCodecsListMap = -1; /* AoIPCodecsList */
682 static int hf_gsm_map_ms_integrityProtectionAlgorithm = -1; /* ChosenIntegrityProtectionAlgorithm */
683 static int hf_gsm_map_ms_encryptionAlgorithm = -1; /* ChosenEncryptionAlgorithm */
684 static int hf_gsm_map_ms_chosenChannelInfo = -1; /* ChosenChannelInfo */
685 static int hf_gsm_map_ms_chosenSpeechVersion = -1; /* ChosenSpeechVersion */
686 static int hf_gsm_map_ms_targetMSC_Number = -1; /* ISDN_AddressString */
687 static int hf_gsm_map_ms_selectedRab_Id = -1; /* RAB_Id */
688 static int hf_gsm_map_ms_selectedGSM_Algorithm = -1; /* SelectedGSM_Algorithm */
689 static int hf_gsm_map_ms_iUSelectedCodec = -1; /* Codec */
690 static int hf_gsm_map_ms_codec1 = -1; /* AoIPCodec */
691 static int hf_gsm_map_ms_codec2 = -1; /* AoIPCodec */
692 static int hf_gsm_map_ms_codec3 = -1; /* AoIPCodec */
693 static int hf_gsm_map_ms_codec4 = -1; /* AoIPCodec */
694 static int hf_gsm_map_ms_codec5 = -1; /* AoIPCodec */
695 static int hf_gsm_map_ms_codec6 = -1; /* AoIPCodec */
696 static int hf_gsm_map_ms_codec7 = -1; /* AoIPCodec */
697 static int hf_gsm_map_ms_codec8 = -1; /* AoIPCodec */
698 static int hf_gsm_map_ms_utranCodecList = -1; /* CodecList */
699 static int hf_gsm_map_ms_geranCodecList = -1; /* CodecList */
700 static int hf_gsm_map_ms_codec1_01 = -1; /* Codec */
701 static int hf_gsm_map_ms_codec2_01 = -1; /* Codec */
702 static int hf_gsm_map_ms_codec3_01 = -1; /* Codec */
703 static int hf_gsm_map_ms_codec4_01 = -1; /* Codec */
704 static int hf_gsm_map_ms_codec5_01 = -1; /* Codec */
705 static int hf_gsm_map_ms_codec6_01 = -1; /* Codec */
706 static int hf_gsm_map_ms_codec7_01 = -1; /* Codec */
707 static int hf_gsm_map_ms_codec8_01 = -1; /* Codec */
708 static int hf_gsm_map_ms_RelocationNumberList_item = -1; /* RelocationNumber */
709 static int hf_gsm_map_ms_immediateResponsePreferred = -1; /* NULL */
710 static int hf_gsm_map_ms_re_synchronisationInfo = -1; /* Re_synchronisationInfo */
711 static int hf_gsm_map_ms_requestingNodeType = -1; /* RequestingNodeType */
712 static int hf_gsm_map_ms_requestingPLMN_Id = -1; /* PLMN_Id */
713 static int hf_gsm_map_ms_numberOfRequestedAdditional_Vectors = -1; /* NumberOfRequestedVectors */
714 static int hf_gsm_map_ms_additionalVectorsAreForEPS = -1; /* NULL */
715 static int hf_gsm_map_ms_auts = -1; /* AUTS */
716 static int hf_gsm_map_ms_eps_AuthenticationSetList = -1; /* EPS_AuthenticationSetList */
717 static int hf_gsm_map_ms_EPS_AuthenticationSetList_item = -1; /* EPC_AV */
718 static int hf_gsm_map_ms_kasme = -1; /* KASME */
719 static int hf_gsm_map_ms_imei = -1; /* IMEI */
720 static int hf_gsm_map_ms_requestedEquipmentInfo = -1; /* RequestedEquipmentInfo */
721 static int hf_gsm_map_ms_equipmentStatus = -1; /* EquipmentStatus */
722 static int hf_gsm_map_ms_bmuef = -1; /* UESBI_Iu */
723 static int hf_gsm_map_ms_uesbi_IuA = -1; /* UESBI_IuA */
724 static int hf_gsm_map_ms_uesbi_IuB = -1; /* UESBI_IuB */
725 static int hf_gsm_map_ms_CSG_SubscriptionDataList_item = -1; /* CSG_SubscriptionData */
726 static int hf_gsm_map_ms_csg_Id = -1; /* CSG_Id */
727 static int hf_gsm_map_ms_expirationDate = -1; /* Time */
728 static int hf_gsm_map_ms_lipa_AllowedAPNList = -1; /* LIPA_AllowedAPNList */
729 static int hf_gsm_map_ms_plmn_Id = -1; /* PLMN_Id */
730 static int hf_gsm_map_ms_VPLMN_CSG_SubscriptionDataList_item = -1; /* CSG_SubscriptionData */
731 static int hf_gsm_map_ms_LIPA_AllowedAPNList_item = -1; /* APN */
732 static int hf_gsm_map_ms_apn_oi_Replacement = -1; /* APN_OI_Replacement */
733 static int hf_gsm_map_ms_rfsp_id = -1; /* RFSP_ID */
734 static int hf_gsm_map_ms_ambr = -1; /* AMBR */
735 static int hf_gsm_map_ms_apn_ConfigurationProfile = -1; /* APN_ConfigurationProfile */
736 static int hf_gsm_map_ms_stn_sr = -1; /* ISDN_AddressString */
737 static int hf_gsm_map_ms_mps_CSPriority = -1; /* NULL */
738 static int hf_gsm_map_ms_mps_EPSPriority = -1; /* NULL */
739 static int hf_gsm_map_ms_subscribed_vsrvcc = -1; /* NULL */
740 static int hf_gsm_map_ms_defaultContext = -1; /* ContextId */
741 static int hf_gsm_map_ms_completeDataListIncluded = -1; /* NULL */
742 static int hf_gsm_map_ms_epsDataList = -1; /* EPS_DataList */
743 static int hf_gsm_map_ms_EPS_DataList_item = -1; /* APN_Configuration */
744 static int hf_gsm_map_ms_pdn_Type = -1; /* PDN_Type */
745 static int hf_gsm_map_ms_servedPartyIP_IPv4_Address = -1; /* PDP_Address */
746 static int hf_gsm_map_ms_eps_qos_Subscribed = -1; /* EPS_QoS_Subscribed */
747 static int hf_gsm_map_ms_pdn_gw_AllocationType = -1; /* PDN_GW_AllocationType */
748 static int hf_gsm_map_ms_vplmnAddressAllowed = -1; /* NULL */
749 static int hf_gsm_map_ms_chargingCharacteristics = -1; /* ChargingCharacteristics */
750 static int hf_gsm_map_ms_specificAPNInfoList = -1; /* SpecificAPNInfoList */
751 static int hf_gsm_map_ms_servedPartyIP_IPv6_Address = -1; /* PDP_Address */
752 static int hf_gsm_map_ms_sipto_Permission = -1; /* SIPTO_Permission */
753 static int hf_gsm_map_ms_lipa_Permission = -1; /* LIPA_Permission */
754 static int hf_gsm_map_ms_qos_Class_Identifier = -1; /* QoS_Class_Identifier */
755 static int hf_gsm_map_ms_allocation_Retention_Priority = -1; /* Allocation_Retention_Priority */
756 static int hf_gsm_map_ms_max_RequestedBandwidth_UL = -1; /* Bandwidth */
757 static int hf_gsm_map_ms_max_RequestedBandwidth_DL = -1; /* Bandwidth */
758 static int hf_gsm_map_ms_SpecificAPNInfoList_item = -1; /* SpecificAPNInfo */
759 static int hf_gsm_map_ms_priority_level = -1; /* INTEGER */
760 static int hf_gsm_map_ms_pre_emption_capability = -1; /* BOOLEAN */
761 static int hf_gsm_map_ms_pre_emption_vulnerability = -1; /* BOOLEAN */
762 static int hf_gsm_map_ms_pdn_gw_ipv4_Address = -1; /* PDP_Address */
763 static int hf_gsm_map_ms_pdn_gw_ipv6_Address = -1; /* PDP_Address */
764 static int hf_gsm_map_ms_pdn_gw_name = -1; /* FQDN */
765 static int hf_gsm_map_ms_gmlc_List = -1; /* GMLC_List */
766 static int hf_gsm_map_ms_lcs_PrivacyExceptionList = -1; /* LCS_PrivacyExceptionList */
767 static int hf_gsm_map_ms_molr_List = -1; /* MOLR_List */
768 static int hf_gsm_map_ms_add_lcs_PrivacyExceptionList = -1; /* LCS_PrivacyExceptionList */
769 static int hf_gsm_map_ms_GMLC_List_item = -1; /* ISDN_AddressString */
770 static int hf_gsm_map_ms_GPRSDataList_item = -1; /* PDP_Context */
771 static int hf_gsm_map_ms_pdp_ContextId = -1; /* ContextId */
772 static int hf_gsm_map_ms_pdp_Type = -1; /* PDP_Type */
773 static int hf_gsm_map_ms_pdp_Address = -1; /* PDP_Address */
774 static int hf_gsm_map_ms_qos_Subscribed = -1; /* QoS_Subscribed */
775 static int hf_gsm_map_ms_ext_QoS_Subscribed = -1; /* Ext_QoS_Subscribed */
776 static int hf_gsm_map_ms_pdp_ChargingCharacteristics = -1; /* ChargingCharacteristics */
777 static int hf_gsm_map_ms_ext2_QoS_Subscribed = -1; /* Ext2_QoS_Subscribed */
778 static int hf_gsm_map_ms_ext3_QoS_Subscribed = -1; /* Ext3_QoS_Subscribed */
779 static int hf_gsm_map_ms_ext4_QoS_Subscribed = -1; /* Ext4_QoS_Subscribed */
780 static int hf_gsm_map_ms_ext_pdp_Type = -1; /* Ext_PDP_Type */
781 static int hf_gsm_map_ms_ext_pdp_Address = -1; /* PDP_Address */
782 static int hf_gsm_map_ms_gprsDataList = -1; /* GPRSDataList */
783 static int hf_gsm_map_ms_gprs_CSI = -1; /* GPRS_CSI */
784 static int hf_gsm_map_ms_mo_sms_CSI = -1; /* SMS_CSI */
785 static int hf_gsm_map_ms_mt_sms_CSI = -1; /* SMS_CSI */
786 static int hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList = -1; /* MT_smsCAMELTDP_CriteriaList */
787 static int hf_gsm_map_ms_mg_csi = -1; /* MG_CSI */
788 static int hf_gsm_map_ms_gprs_CamelTDPDataList = -1; /* GPRS_CamelTDPDataList */
789 static int hf_gsm_map_ms_camelCapabilityHandling = -1; /* CamelCapabilityHandling */
790 static int hf_gsm_map_ms_notificationToCSE = -1; /* NULL */
791 static int hf_gsm_map_ms_csi_Active = -1; /* NULL */
792 static int hf_gsm_map_ms_GPRS_CamelTDPDataList_item = -1; /* GPRS_CamelTDPData */
793 static int hf_gsm_map_ms_gprs_TriggerDetectionPoint = -1; /* GPRS_TriggerDetectionPoint */
794 static int hf_gsm_map_ms_serviceKey = -1; /* ServiceKey */
795 static int hf_gsm_map_ms_gsmSCF_Address = -1; /* ISDN_AddressString */
796 static int hf_gsm_map_ms_defaultSessionHandling = -1; /* DefaultGPRS_Handling */
797 static int hf_gsm_map_ms_LSADataList_item = -1; /* LSAData */
798 static int hf_gsm_map_ms_lsaIdentity = -1; /* LSAIdentity */
799 static int hf_gsm_map_ms_lsaAttributes = -1; /* LSAAttributes */
800 static int hf_gsm_map_ms_lsaActiveModeIndicator = -1; /* NULL */
801 static int hf_gsm_map_ms_lsaOnlyAccessIndicator = -1; /* LSAOnlyAccessIndicator */
802 static int hf_gsm_map_ms_lsaDataList = -1; /* LSADataList */
803 static int hf_gsm_map_ms_msisdn = -1; /* ISDN_AddressString */
804 static int hf_gsm_map_ms_category = -1; /* Category */
805 static int hf_gsm_map_ms_subscriberStatus = -1; /* SubscriberStatus */
806 static int hf_gsm_map_ms_bearerServiceList = -1; /* BearerServiceList */
807 static int hf_gsm_map_ms_teleserviceList = -1; /* TeleserviceList */
808 static int hf_gsm_map_ms_provisionedSS = -1; /* Ext_SS_InfoList */
809 static int hf_gsm_map_ms_odb_Data = -1; /* ODB_Data */
810 static int hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature = -1; /* NULL */
811 static int hf_gsm_map_ms_vbsSubscriptionData = -1; /* VBSDataList */
812 static int hf_gsm_map_ms_vgcsSubscriptionData = -1; /* VGCSDataList */
813 static int hf_gsm_map_ms_vlrCamelSubscriptionInfo = -1; /* VlrCamelSubscriptionInfo */
814 static int hf_gsm_map_ms_BearerServiceList_item = -1; /* Ext_BearerServiceCode */
815 static int hf_gsm_map_ms_TeleserviceList_item = -1; /* Ext_TeleserviceCode */
816 static int hf_gsm_map_ms_odb_GeneralData = -1; /* ODB_GeneralData */
817 static int hf_gsm_map_ms_odb_HPLMN_Data = -1; /* ODB_HPLMN_Data */
818 static int hf_gsm_map_ms_Ext_SS_InfoList_item = -1; /* Ext_SS_Info */
819 static int hf_gsm_map_ms_forwardingInfo = -1; /* Ext_ForwInfo */
820 static int hf_gsm_map_ms_callBarringInfo = -1; /* Ext_CallBarInfo */
821 static int hf_gsm_map_ms_cug_Info = -1; /* CUG_Info */
822 static int hf_gsm_map_ms_ss_Data = -1; /* Ext_SS_Data */
823 static int hf_gsm_map_ms_emlpp_Info = -1; /* EMLPP_Info */
824 static int hf_gsm_map_ms_ss_Code = -1; /* SS_Code */
825 static int hf_gsm_map_ms_forwardingFeatureList = -1; /* Ext_ForwFeatureList */
826 static int hf_gsm_map_ms_Ext_ForwFeatureList_item = -1; /* Ext_ForwFeature */
827 static int hf_gsm_map_ms_basicService = -1; /* Ext_BasicServiceCode */
828 static int hf_gsm_map_ms_ss_Status = -1; /* Ext_SS_Status */
829 static int hf_gsm_map_ms_forwardedToNumber = -1; /* ISDN_AddressString */
830 static int hf_gsm_map_ms_forwardedToSubaddress = -1; /* ISDN_SubaddressString */
831 static int hf_gsm_map_ms_forwardingOptions = -1; /* T_forwardingOptions */
832 static int hf_gsm_map_ms_noReplyConditionTime = -1; /* Ext_NoRepCondTime */
833 static int hf_gsm_map_ms_longForwardedToNumber = -1; /* FTN_AddressString */
834 static int hf_gsm_map_ms_callBarringFeatureList = -1; /* Ext_CallBarFeatureList */
835 static int hf_gsm_map_ms_Ext_CallBarFeatureList_item = -1; /* Ext_CallBarringFeature */
836 static int hf_gsm_map_ms_cug_SubscriptionList = -1; /* CUG_SubscriptionList */
837 static int hf_gsm_map_ms_cug_FeatureList = -1; /* CUG_FeatureList */
838 static int hf_gsm_map_ms_CUG_SubscriptionList_item = -1; /* CUG_Subscription */
839 static int hf_gsm_map_ms_cug_Index = -1; /* CUG_Index */
840 static int hf_gsm_map_ms_cug_Interlock = -1; /* CUG_Interlock */
841 static int hf_gsm_map_ms_intraCUG_Options = -1; /* IntraCUG_Options */
842 static int hf_gsm_map_ms_basicServiceGroupList = -1; /* Ext_BasicServiceGroupList */
843 static int hf_gsm_map_ms_CUG_FeatureList_item = -1; /* CUG_Feature */
844 static int hf_gsm_map_ms_Ext_BasicServiceGroupList_item = -1; /* Ext_BasicServiceCode */
845 static int hf_gsm_map_ms_preferentialCUG_Indicator = -1; /* CUG_Index */
846 static int hf_gsm_map_ms_interCUG_Restrictions = -1; /* InterCUG_Restrictions */
847 static int hf_gsm_map_ms_ss_SubscriptionOption = -1; /* SS_SubscriptionOption */
848 static int hf_gsm_map_ms_LCS_PrivacyExceptionList_item = -1; /* LCS_PrivacyClass */
849 static int hf_gsm_map_ms_notificationToMSUser = -1; /* NotificationToMSUser */
850 static int hf_gsm_map_ms_externalClientList = -1; /* ExternalClientList */
851 static int hf_gsm_map_ms_plmnClientList = -1; /* PLMNClientList */
852 static int hf_gsm_map_ms_ext_externalClientList = -1; /* Ext_ExternalClientList */
853 static int hf_gsm_map_ms_serviceTypeList = -1; /* ServiceTypeList */
854 static int hf_gsm_map_ms_ExternalClientList_item = -1; /* ExternalClient */
855 static int hf_gsm_map_ms_PLMNClientList_item = -1; /* LCSClientInternalID */
856 static int hf_gsm_map_ms_Ext_ExternalClientList_item = -1; /* ExternalClient */
857 static int hf_gsm_map_ms_clientIdentity = -1; /* LCSClientExternalID */
858 static int hf_gsm_map_ms_gmlc_Restriction = -1; /* GMLC_Restriction */
859 static int hf_gsm_map_ms_ServiceTypeList_item = -1; /* ServiceType */
860 static int hf_gsm_map_ms_serviceTypeIdentity = -1; /* LCSServiceTypeID */
861 static int hf_gsm_map_ms_MOLR_List_item = -1; /* MOLR_Class */
862 static int hf_gsm_map_ms_ZoneCodeList_item = -1; /* ZoneCode */
863 static int hf_gsm_map_ms_ss_List = -1; /* SS_List */
864 static int hf_gsm_map_ms_regionalSubscriptionResponse = -1; /* RegionalSubscriptionResponse */
865 static int hf_gsm_map_ms_basicServiceList = -1; /* BasicServiceList */
866 static int hf_gsm_map_ms_regionalSubscriptionIdentifier = -1; /* ZoneCode */
867 static int hf_gsm_map_ms_vbsGroupIndication = -1; /* NULL */
868 static int hf_gsm_map_ms_vgcsGroupIndication = -1; /* NULL */
869 static int hf_gsm_map_ms_camelSubscriptionInfoWithdraw = -1; /* NULL */
870 static int hf_gsm_map_ms_gprsSubscriptionDataWithdraw = -1; /* GPRSSubscriptionDataWithdraw */
871 static int hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsuppportedFeature = -1; /* NULL */
872 static int hf_gsm_map_ms_lsaInformationWithdraw = -1; /* LSAInformationWithdraw */
873 static int hf_gsm_map_ms_gmlc_ListWithdraw = -1; /* NULL */
874 static int hf_gsm_map_ms_istInformationWithdraw = -1; /* NULL */
875 static int hf_gsm_map_ms_specificCSI_Withdraw = -1; /* SpecificCSI_Withdraw */
876 static int hf_gsm_map_ms_chargingCharacteristicsWithdraw = -1; /* NULL */
877 static int hf_gsm_map_ms_stn_srWithdraw = -1; /* NULL */
878 static int hf_gsm_map_ms_epsSubscriptionDataWithdraw = -1; /* EPS_SubscriptionDataWithdraw */
879 static int hf_gsm_map_ms_apn_oi_replacementWithdraw = -1; /* NULL */
880 static int hf_gsm_map_ms_csg_SubscriptionDeleted = -1; /* NULL */
881 static int hf_gsm_map_ms_subscribedPeriodicTAU_RAU_TimerWithdraw = -1; /* NULL */
882 static int hf_gsm_map_ms_subscribedPeriodicLAU_TimerWithdraw = -1; /* NULL */
883 static int hf_gsm_map_ms_subscribed_vsrvccWithdraw = -1; /* NULL */
884 static int hf_gsm_map_ms_vplmn_Csg_SubscriptionDeleted = -1; /* NULL */
885 static int hf_gsm_map_ms_additionalMSISDN_Withdraw = -1; /* NULL */
886 static int hf_gsm_map_ms_allGPRSData = -1; /* NULL */
887 static int hf_gsm_map_ms_contextIdList = -1; /* ContextIdList */
888 static int hf_gsm_map_ms_allEPS_Data = -1; /* NULL */
889 static int hf_gsm_map_ms_ContextIdList_item = -1; /* ContextId */
890 static int hf_gsm_map_ms_allLSAData = -1; /* NULL */
891 static int hf_gsm_map_ms_lsaIdentityList = -1; /* LSAIdentityList */
892 static int hf_gsm_map_ms_LSAIdentityList_item = -1; /* LSAIdentity */
893 static int hf_gsm_map_ms_BasicServiceList_item = -1; /* Ext_BasicServiceCode */
894 static int hf_gsm_map_ms_o_CSI = -1; /* O_CSI */
895 static int hf_gsm_map_ms_ss_CSI = -1; /* SS_CSI */
896 static int hf_gsm_map_ms_o_BcsmCamelTDP_CriteriaList = -1; /* O_BcsmCamelTDPCriteriaList */
897 static int hf_gsm_map_ms_tif_CSI = -1; /* NULL */
898 static int hf_gsm_map_ms_m_CSI = -1; /* M_CSI */
899 static int hf_gsm_map_ms_vt_CSI = -1; /* T_CSI */
900 static int hf_gsm_map_ms_t_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_BCSM_CAMEL_TDP_CriteriaList */
901 static int hf_gsm_map_ms_d_CSI = -1; /* D_CSI */
902 static int hf_gsm_map_ms_MT_smsCAMELTDP_CriteriaList_item = -1; /* MT_smsCAMELTDP_Criteria */
903 static int hf_gsm_map_ms_sms_TriggerDetectionPoint = -1; /* SMS_TriggerDetectionPoint */
904 static int hf_gsm_map_ms_tpdu_TypeCriterion = -1; /* TPDU_TypeCriterion */
905 static int hf_gsm_map_ms_TPDU_TypeCriterion_item = -1; /* MT_SMS_TPDU_Type */
906 static int hf_gsm_map_ms_dp_AnalysedInfoCriteriaList = -1; /* DP_AnalysedInfoCriteriaList */
907 static int hf_gsm_map_ms_DP_AnalysedInfoCriteriaList_item = -1; /* DP_AnalysedInfoCriterium */
908 static int hf_gsm_map_ms_dialledNumber = -1; /* ISDN_AddressString */
909 static int hf_gsm_map_ms_defaultCallHandling = -1; /* DefaultCallHandling */
910 static int hf_gsm_map_ms_ss_CamelData = -1; /* SS_CamelData */
911 static int hf_gsm_map_ms_ss_EventList = -1; /* SS_EventList */
912 static int hf_gsm_map_ms_SS_EventList_item = -1; /* SS_Code */
913 static int hf_gsm_map_ms_o_BcsmCamelTDPDataList = -1; /* O_BcsmCamelTDPDataList */
914 static int hf_gsm_map_ms_csiActive = -1; /* NULL */
915 static int hf_gsm_map_ms_O_BcsmCamelTDPDataList_item = -1; /* O_BcsmCamelTDPData */
916 static int hf_gsm_map_ms_o_BcsmTriggerDetectionPoint = -1; /* O_BcsmTriggerDetectionPoint */
917 static int hf_gsm_map_ms_O_BcsmCamelTDPCriteriaList_item = -1; /* O_BcsmCamelTDP_Criteria */
918 static int hf_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_item = -1; /* T_BCSM_CAMEL_TDP_Criteria */
919 static int hf_gsm_map_ms_destinationNumberCriteria = -1; /* DestinationNumberCriteria */
920 static int hf_gsm_map_ms_basicServiceCriteria = -1; /* BasicServiceCriteria */
921 static int hf_gsm_map_ms_callTypeCriteria = -1; /* CallTypeCriteria */
922 static int hf_gsm_map_ms_o_CauseValueCriteria = -1; /* O_CauseValueCriteria */
923 static int hf_gsm_map_ms_t_BCSM_TriggerDetectionPoint = -1; /* T_BcsmTriggerDetectionPoint */
924 static int hf_gsm_map_ms_t_CauseValueCriteria = -1; /* T_CauseValueCriteria */
925 static int hf_gsm_map_ms_matchType = -1; /* MatchType */
926 static int hf_gsm_map_ms_destinationNumberList = -1; /* DestinationNumberList */
927 static int hf_gsm_map_ms_destinationNumberLengthList = -1; /* DestinationNumberLengthList */
928 static int hf_gsm_map_ms_DestinationNumberList_item = -1; /* ISDN_AddressString */
929 static int hf_gsm_map_ms_DestinationNumberLengthList_item = -1; /* INTEGER_1_maxNumOfISDN_AddressDigits */
930 static int hf_gsm_map_ms_BasicServiceCriteria_item = -1; /* Ext_BasicServiceCode */
931 static int hf_gsm_map_ms_O_CauseValueCriteria_item = -1; /* CauseValue */
932 static int hf_gsm_map_ms_T_CauseValueCriteria_item = -1; /* CauseValue */
933 static int hf_gsm_map_ms_sms_CAMEL_TDP_DataList = -1; /* SMS_CAMEL_TDP_DataList */
934 static int hf_gsm_map_ms_SMS_CAMEL_TDP_DataList_item = -1; /* SMS_CAMEL_TDP_Data */
935 static int hf_gsm_map_ms_defaultSMS_Handling = -1; /* DefaultSMS_Handling */
936 static int hf_gsm_map_ms_mobilityTriggers = -1; /* MobilityTriggers */
937 static int hf_gsm_map_ms_MobilityTriggers_item = -1; /* MM_Code */
938 static int hf_gsm_map_ms_t_BcsmCamelTDPDataList = -1; /* T_BcsmCamelTDPDataList */
939 static int hf_gsm_map_ms_T_BcsmCamelTDPDataList_item = -1; /* T_BcsmCamelTDPData */
940 static int hf_gsm_map_ms_t_BcsmTriggerDetectionPoint = -1; /* T_BcsmTriggerDetectionPoint */
941 static int hf_gsm_map_ms_ggsn_Address = -1; /* GSN_Address */
942 static int hf_gsm_map_ms_ggsn_Number = -1; /* ISDN_AddressString */
943 static int hf_gsm_map_ms_mobileNotReachableReason = -1; /* AbsentSubscriberDiagnosticSM */
944 static int hf_gsm_map_ms_sendingNodenumber = -1; /* SendingNode_Number */
945 static int hf_gsm_map_ms_hlr_List = -1; /* HLR_List */
946 static int hf_gsm_map_ms_css_Number = -1; /* ISDN_AddressString */
947 static int hf_gsm_map_ms_msNotReachable = -1; /* NULL */
948 static int hf_gsm_map_ms_VBSDataList_item = -1; /* VoiceBroadcastData */
949 static int hf_gsm_map_ms_VGCSDataList_item = -1; /* VoiceGroupCallData */
950 static int hf_gsm_map_ms_groupId = -1; /* GroupId */
951 static int hf_gsm_map_ms_additionalSubscriptions = -1; /* AdditionalSubscriptions */
952 static int hf_gsm_map_ms_additionalInfo = -1; /* AdditionalInfo */
953 static int hf_gsm_map_ms_longGroupId = -1; /* Long_GroupId */
954 static int hf_gsm_map_ms_groupid = -1; /* GroupId */
955 static int hf_gsm_map_ms_broadcastInitEntitlement = -1; /* NULL */
956 static int hf_gsm_map_ms_requestedInfo = -1; /* RequestedInfo */
957 static int hf_gsm_map_ms_callPriority = -1; /* EMLPP_Priority */
958 static int hf_gsm_map_ms_subscriberInfo = -1; /* SubscriberInfo */
959 static int hf_gsm_map_ms_locationInformation = -1; /* LocationInformation */
960 static int hf_gsm_map_ms_subscriberState = -1; /* SubscriberState */
961 static int hf_gsm_map_ms_locationInformationGPRS = -1; /* LocationInformationGPRS */
962 static int hf_gsm_map_ms_ps_SubscriberState = -1; /* PS_SubscriberState */
963 static int hf_gsm_map_ms_ms_Classmark2 = -1; /* MS_Classmark2 */
964 static int hf_gsm_map_ms_gprs_MS_Class = -1; /* GPRSMSClass */
965 static int hf_gsm_map_ms_mnpInfoRes = -1; /* MNPInfoRes */
966 static int hf_gsm_map_ms_imsVoiceOverPS_SessionsIndication = -1; /* IMS_VoiceOverPS_SessionsInd */
967 static int hf_gsm_map_ms_lastUE_ActivityTime = -1; /* Time */
968 static int hf_gsm_map_ms_lastRAT_Type = -1; /* Used_RAT_Type */
969 static int hf_gsm_map_ms_eps_SubscriberState = -1; /* PS_SubscriberState */
970 static int hf_gsm_map_ms_locationInformationEPS = -1; /* LocationInformationEPS */
971 static int hf_gsm_map_ms_timeZone = -1; /* TimeZone */
972 static int hf_gsm_map_ms_daylightSavingTime = -1; /* DaylightSavingTime */
973 static int hf_gsm_map_ms_routeingNumber = -1; /* RouteingNumber */
974 static int hf_gsm_map_ms_numberPortabilityStatus = -1; /* NumberPortabilityStatus */
975 static int hf_gsm_map_ms_mSNetworkCapability = -1; /* MSNetworkCapability */
976 static int hf_gsm_map_ms_mSRadioAccessCapability = -1; /* MSRadioAccessCapability */
977 static int hf_gsm_map_ms_locationInformation_01 = -1; /* NULL */
978 static int hf_gsm_map_ms_subscriberState_01 = -1; /* NULL */
979 static int hf_gsm_map_ms_currentLocation = -1; /* NULL */
980 static int hf_gsm_map_ms_requestedDomain = -1; /* DomainType */
981 static int hf_gsm_map_ms_imei_01 = -1; /* NULL */
982 static int hf_gsm_map_ms_ms_classmark = -1; /* NULL */
983 static int hf_gsm_map_ms_mnpRequestedInfo = -1; /* NULL */
984 static int hf_gsm_map_ms_locationInformationEPS_Supported = -1; /* NULL */
985 static int hf_gsm_map_ms_t_adsData = -1; /* NULL */
986 static int hf_gsm_map_ms_requestedNodes = -1; /* RequestedNodes */
987 static int hf_gsm_map_ms_servingNodeIndication = -1; /* NULL */
988 static int hf_gsm_map_ms_localTimeZoneRequest = -1; /* NULL */
989 static int hf_gsm_map_ms_ageOfLocationInformation = -1; /* AgeOfLocationInformation */
990 static int hf_gsm_map_ms_geographicalInformation = -1; /* GeographicalInformation */
991 static int hf_gsm_map_ms_vlr_number = -1; /* ISDN_AddressString */
992 static int hf_gsm_map_ms_locationNumber = -1; /* LocationNumber */
993 static int hf_gsm_map_ms_cellGlobalIdOrServiceAreaIdOrLAI = -1; /* CellGlobalIdOrServiceAreaIdOrLAI */
994 static int hf_gsm_map_ms_selectedLSA_Id = -1; /* LSAIdentity */
995 static int hf_gsm_map_ms_geodeticInformation = -1; /* GeodeticInformation */
996 static int hf_gsm_map_ms_currentLocationRetrieved = -1; /* NULL */
997 static int hf_gsm_map_ms_sai_Present = -1; /* NULL */
998 static int hf_gsm_map_ms_userCSGInformation = -1; /* UserCSGInformation */
999 static int hf_gsm_map_ms_e_utranCellGlobalIdentity = -1; /* E_UTRAN_CGI */
1000 static int hf_gsm_map_ms_trackingAreaIdentity = -1; /* TA_Id */
1001 static int hf_gsm_map_ms_mme_Name = -1; /* DiameterIdentity */
1002 static int hf_gsm_map_ms_routeingAreaIdentity = -1; /* RAIdentity */
1003 static int hf_gsm_map_ms_selectedLSAIdentity = -1; /* LSAIdentity */
1004 static int hf_gsm_map_ms_accessMode = -1; /* OCTET_STRING_SIZE_1 */
1005 static int hf_gsm_map_ms_cmi = -1; /* OCTET_STRING_SIZE_1 */
1006 static int hf_gsm_map_ms_assumedIdle = -1; /* NULL */
1007 static int hf_gsm_map_ms_camelBusy = -1; /* NULL */
1008 static int hf_gsm_map_ms_netDetNotReachable = -1; /* NotReachableReason */
1009 static int hf_gsm_map_ms_notProvidedFromVLR = -1; /* NULL */
1010 static int hf_gsm_map_ms_notProvidedFromSGSNorMME = -1; /* NULL */
1011 static int hf_gsm_map_ms_ps_Detached = -1; /* NULL */
1012 static int hf_gsm_map_ms_ps_AttachedNotReachableForPaging = -1; /* NULL */
1013 static int hf_gsm_map_ms_ps_AttachedReachableForPaging = -1; /* NULL */
1014 static int hf_gsm_map_ms_ps_PDP_ActiveNotReachableForPaging = -1; /* PDP_ContextInfoList */
1015 static int hf_gsm_map_ms_ps_PDP_ActiveReachableForPaging = -1; /* PDP_ContextInfoList */
1016 static int hf_gsm_map_ms_PDP_ContextInfoList_item = -1; /* PDP_ContextInfo */
1017 static int hf_gsm_map_ms_pdp_ContextIdentifier = -1; /* ContextId */
1018 static int hf_gsm_map_ms_pdp_ContextActive = -1; /* NULL */
1019 static int hf_gsm_map_ms_apn_Subscribed = -1; /* APN */
1020 static int hf_gsm_map_ms_apn_InUse = -1; /* APN */
1021 static int hf_gsm_map_ms_nsapi = -1; /* NSAPI */
1022 static int hf_gsm_map_ms_transactionId = -1; /* TransactionId */
1023 static int hf_gsm_map_ms_teid_ForGnAndGp = -1; /* TEID */
1024 static int hf_gsm_map_ms_teid_ForIu = -1; /* TEID */
1025 static int hf_gsm_map_ms_qos_Subscribed_01 = -1; /* Ext_QoS_Subscribed */
1026 static int hf_gsm_map_ms_qos_Requested = -1; /* Ext_QoS_Subscribed */
1027 static int hf_gsm_map_ms_qos_Negotiated = -1; /* Ext_QoS_Subscribed */
1028 static int hf_gsm_map_ms_chargingId = -1; /* GPRSChargingID */
1029 static int hf_gsm_map_ms_rnc_Address = -1; /* GSN_Address */
1030 static int hf_gsm_map_ms_qos2_Subscribed = -1; /* Ext2_QoS_Subscribed */
1031 static int hf_gsm_map_ms_qos2_Requested = -1; /* Ext2_QoS_Subscribed */
1032 static int hf_gsm_map_ms_qos2_Negotiated = -1; /* Ext2_QoS_Subscribed */
1033 static int hf_gsm_map_ms_qos3_Subscribed = -1; /* Ext3_QoS_Subscribed */
1034 static int hf_gsm_map_ms_qos3_Requested = -1; /* Ext3_QoS_Subscribed */
1035 static int hf_gsm_map_ms_qos3_Negotiated = -1; /* Ext3_QoS_Subscribed */
1036 static int hf_gsm_map_ms_qos4_Subscribed = -1; /* Ext4_QoS_Subscribed */
1037 static int hf_gsm_map_ms_qos4_Requested = -1; /* Ext4_QoS_Subscribed */
1038 static int hf_gsm_map_ms_qos4_Negotiated = -1; /* Ext4_QoS_Subscribed */
1039 static int hf_gsm_map_ms_subscriberIdentity = -1; /* SubscriberIdentity */
1040 static int hf_gsm_map_ms_requestedSubscriptionInfo = -1; /* RequestedSubscriptionInfo */
1041 static int hf_gsm_map_ms_callForwardingData = -1; /* CallForwardingData */
1042 static int hf_gsm_map_ms_callBarringData = -1; /* CallBarringData */
1043 static int hf_gsm_map_ms_odb_Info = -1; /* ODB_Info */
1044 static int hf_gsm_map_ms_camel_SubscriptionInfo = -1; /* CAMEL_SubscriptionInfo */
1045 static int hf_gsm_map_ms_supportedVLR_CAMEL_Phases = -1; /* SupportedCamelPhases */
1046 static int hf_gsm_map_ms_supportedSGSN_CAMEL_Phases = -1; /* SupportedCamelPhases */
1047 static int hf_gsm_map_ms_offeredCamel4CSIsInVLR = -1; /* OfferedCamel4CSIs */
1048 static int hf_gsm_map_ms_offeredCamel4CSIsInSGSN = -1; /* OfferedCamel4CSIs */
1049 static int hf_gsm_map_ms_msisdn_BS_List = -1; /* MSISDN_BS_List */
1050 static int hf_gsm_map_ms_cw_Data = -1; /* CallWaitingData */
1051 static int hf_gsm_map_ms_ch_Data = -1; /* CallHoldData */
1052 static int hf_gsm_map_ms_clip_Data = -1; /* ClipData */
1053 static int hf_gsm_map_ms_clir_Data = -1; /* ClirData */
1054 static int hf_gsm_map_ms_ect_data = -1; /* EctData */
1055 static int hf_gsm_map_ms_cwFeatureList = -1; /* Ext_CwFeatureList */
1056 static int hf_gsm_map_ms_Ext_CwFeatureList_item = -1; /* Ext_CwFeature */
1057 static int hf_gsm_map_ms_overrideCategory = -1; /* OverrideCategory */
1058 static int hf_gsm_map_ms_cliRestrictionOption = -1; /* CliRestrictionOption */
1059 static int hf_gsm_map_ms_requestedSS_Info = -1; /* SS_ForBS_Code */
1060 static int hf_gsm_map_ms_odb = -1; /* NULL */
1061 static int hf_gsm_map_ms_requestedCAMEL_SubscriptionInfo = -1; /* RequestedCAMEL_SubscriptionInfo */
1062 static int hf_gsm_map_ms_supportedVLR_CAMEL_Phases_01 = -1; /* NULL */
1063 static int hf_gsm_map_ms_supportedSGSN_CAMEL_Phases_01 = -1; /* NULL */
1064 static int hf_gsm_map_ms_additionalRequestedCAMEL_SubscriptionInfo = -1; /* AdditionalRequestedCAMEL_SubscriptionInfo */
1065 static int hf_gsm_map_ms_msisdn_BS_List_01 = -1; /* NULL */
1066 static int hf_gsm_map_ms_csg_SubscriptionDataRequested = -1; /* NULL */
1067 static int hf_gsm_map_ms_cw_Info = -1; /* NULL */
1068 static int hf_gsm_map_ms_clip_Info = -1; /* NULL */
1069 static int hf_gsm_map_ms_clir_Info = -1; /* NULL */
1070 static int hf_gsm_map_ms_hold_Info = -1; /* NULL */
1071 static int hf_gsm_map_ms_ect_Info = -1; /* NULL */
1072 static int hf_gsm_map_ms_MSISDN_BS_List_item = -1; /* MSISDN_BS */
1073 static int hf_gsm_map_ms_password = -1; /* Password */
1074 static int hf_gsm_map_ms_wrongPasswordAttemptsCounter = -1; /* WrongPasswordAttemptsCounter */
1075 static int hf_gsm_map_ms_t_CSI = -1; /* T_CSI */
1076 static int hf_gsm_map_ms_vt_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_BCSM_CAMEL_TDP_CriteriaList */
1077 static int hf_gsm_map_ms_tif_CSI_NotificationToCSE = -1; /* NULL */
1078 static int hf_gsm_map_ms_specificCSIDeletedList = -1; /* SpecificCSI_Withdraw */
1079 static int hf_gsm_map_ms_o_IM_CSI = -1; /* O_CSI */
1080 static int hf_gsm_map_ms_o_IM_BcsmCamelTDP_CriteriaList = -1; /* O_BcsmCamelTDPCriteriaList */
1081 static int hf_gsm_map_ms_d_IM_CSI = -1; /* D_CSI */
1082 static int hf_gsm_map_ms_vt_IM_CSI = -1; /* T_CSI */
1083 static int hf_gsm_map_ms_vt_IM_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_BCSM_CAMEL_TDP_CriteriaList */
1084 static int hf_gsm_map_ms_modificationRequestFor_CF_Info = -1; /* ModificationRequestFor_CF_Info */
1085 static int hf_gsm_map_ms_modificationRequestFor_CB_Info = -1; /* ModificationRequestFor_CB_Info */
1086 static int hf_gsm_map_ms_modificationRequestFor_CSI = -1; /* ModificationRequestFor_CSI */
1087 static int hf_gsm_map_ms_modificationRequestFor_ODB_data = -1; /* ModificationRequestFor_ODB_data */
1088 static int hf_gsm_map_ms_modificationRequestFor_IP_SM_GW_Data = -1; /* ModificationRequestFor_IP_SM_GW_Data */
1089 static int hf_gsm_map_ms_activationRequestForUE_reachability = -1; /* RequestedServingNode */
1090 static int hf_gsm_map_ms_modificationRequestFor_CSG = -1; /* ModificationRequestFor_CSG */
1091 static int hf_gsm_map_ms_modificationRequestFor_CW_Data = -1; /* ModificationRequestFor_CW_Info */
1092 static int hf_gsm_map_ms_modificationRequestFor_CLIP_Data = -1; /* ModificationRequestFor_CLIP_Info */
1093 static int hf_gsm_map_ms_modificationRequestFor_CLIR_Data = -1; /* ModificationRequestFor_CLIR_Info */
1094 static int hf_gsm_map_ms_modificationRequestFor_HOLD_Data = -1; /* ModificationRequestFor_CH_Info */
1095 static int hf_gsm_map_ms_modificationRequestFor_ECT_Data = -1; /* ModificationRequestFor_ECT_Info */
1096 static int hf_gsm_map_ms_modifyNotificationToCSE = -1; /* ModificationInstruction */
1097 static int hf_gsm_map_ms_ss_InfoFor_CSE = -1; /* Ext_SS_InfoFor_CSE */
1098 static int hf_gsm_map_ms_serviceCentreAddress = -1; /* AddressString */
1099 static int hf_gsm_map_ms_forwardedToNumber_01 = -1; /* AddressString */
1100 static int hf_gsm_map_ms_odb_data = -1; /* ODB_Data */
1101 static int hf_gsm_map_ms_requestedCamel_SubscriptionInfo = -1; /* RequestedCAMEL_SubscriptionInfo */
1102 static int hf_gsm_map_ms_modifyCSI_State = -1; /* ModificationInstruction */
1103 static int hf_gsm_map_ms_modifyRegistrationStatus = -1; /* ModificationInstruction */
1104 static int hf_gsm_map_ms_ip_sm_gw_DiameterAddress = -1; /* NetworkNodeDiameterAddress */
1105 static int hf_gsm_map_ms_forwardingInfoFor_CSE = -1; /* Ext_ForwardingInfoFor_CSE */
1106 static int hf_gsm_map_ms_callBarringInfoFor_CSE = -1; /* Ext_CallBarringInfoFor_CSE */
1107 static int hf_gsm_map_ms_allInformationSent = -1; /* NULL */
1108 static int hf_gsm_map_ms_ue_reachable = -1; /* ServingNode */
1109 static int hf_gsm_map_ms_eventMet = -1; /* MM_Code */
1110 static int hf_gsm_map_ms_supportedCAMELPhases = -1; /* SupportedCamelPhases */
1111 static int hf_gsm_map_ms_offeredCamel4Functionalities = -1; /* OfferedCamel4Functionalities */
1112 static int hf_gsm_map_ms_temporaryEmptySubscriptiondataIndicator = -1; /* NULL */
1113 static int hf_gsm_map_ms_naea_PreferredCI = -1; /* NAEA_PreferredCI */
1114 static int hf_gsm_map_ms_gprsSubscriptionData = -1; /* GPRSSubscriptionData */
1115 static int hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsupportedFeature = -1; /* NULL */
1116 static int hf_gsm_map_ms_networkAccessMode = -1; /* NetworkAccessMode */
1117 static int hf_gsm_map_ms_lsaInformation = -1; /* LSAInformation */
1118 static int hf_gsm_map_ms_lmu_Indicator = -1; /* NULL */
1119 static int hf_gsm_map_ms_lcsInformation = -1; /* LCSInformation */
1120 static int hf_gsm_map_ms_istAlertTimer = -1; /* IST_AlertTimerValue */
1121 static int hf_gsm_map_ms_superChargerSupportedInHLR = -1; /* AgeIndicator */
1122 static int hf_gsm_map_ms_mc_SS_Info = -1; /* MC_SS_Info */
1123 static int hf_gsm_map_ms_cs_AllocationRetentionPriority = -1; /* CS_AllocationRetentionPriority */
1124 static int hf_gsm_map_ms_sgsn_CAMEL_SubscriptionInfo = -1; /* SGSN_CAMEL_SubscriptionInfo */
1125 static int hf_gsm_map_ms_accessRestrictionData = -1; /* AccessRestrictionData */
1126 static int hf_gsm_map_ms_ics_Indicator = -1; /* BOOLEAN */
1127 static int hf_gsm_map_ms_eps_SubscriptionData = -1; /* EPS_SubscriptionData */
1128 static int hf_gsm_map_ms_ue_ReachabilityRequestIndicator = -1; /* NULL */
1129 static int hf_gsm_map_ms_subscribedPeriodicRAUTAUtimer = -1; /* SubscribedPeriodicRAUTAUtimer */
1130 static int hf_gsm_map_ms_vplmnLIPAAllowed = -1; /* NULL */
1131 static int hf_gsm_map_ms_mdtUserConsent = -1; /* BOOLEAN */
1132 static int hf_gsm_map_ms_subscribedPeriodicLAUtimer = -1; /* SubscribedPeriodicLAUtimer */
1133 static int hf_gsm_map_ms_vplmn_Csg_SubscriptionDataList = -1; /* VPLMN_CSG_SubscriptionDataList */
1134 static int hf_gsm_map_ms_additionalMSISDN = -1; /* ISDN_AddressString */
1135 static int hf_gsm_map_ms_psAndSMS_OnlyServiceProvision = -1; /* NULL */
1136 static int hf_gsm_map_ms_smsInSGSNAllowed = -1; /* NULL */
1137 /* named bits */
1138 static int hf_gsm_map_ms_SupportedRAT_Types_utran = -1;
1139 static int hf_gsm_map_ms_SupportedRAT_Types_geran = -1;
1140 static int hf_gsm_map_ms_SupportedRAT_Types_gan = -1;
1141 static int hf_gsm_map_ms_SupportedRAT_Types_i_hspa_evolution = -1;
1142 static int hf_gsm_map_ms_SupportedRAT_Types_e_utran = -1;
1143 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet1 = -1;
1144 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet2 = -1;
1145 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet3 = -1;
1146 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet4 = -1;
1147 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet5 = -1;
1148 static int hf_gsm_map_ms_ISR_Information_updateLocation = -1;
1149 static int hf_gsm_map_ms_ISR_Information_cancelSGSN = -1;
1150 static int hf_gsm_map_ms_ISR_Information_initialAttachIndicator = -1;
1151 static int hf_gsm_map_ms_SupportedFeatures_odb_all_apn = -1;
1152 static int hf_gsm_map_ms_SupportedFeatures_odb_HPLMN_APN = -1;
1153 static int hf_gsm_map_ms_SupportedFeatures_odb_VPLMN_APN = -1;
1154 static int hf_gsm_map_ms_SupportedFeatures_odb_all_og = -1;
1155 static int hf_gsm_map_ms_SupportedFeatures_odb_all_international_og = -1;
1156 static int hf_gsm_map_ms_SupportedFeatures_odb_all_int_og_not_to_HPLMN_country = -1;
1157 static int hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og = -1;
1158 static int hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og_not_to_HPLMN_country = -1;
1159 static int hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og_and_internat_og_not_to_HPLMN_country = -1;
1160 static int hf_gsm_map_ms_SupportedFeatures_regSub = -1;
1161 static int hf_gsm_map_ms_SupportedFeatures_trace = -1;
1162 static int hf_gsm_map_ms_SupportedFeatures_lcs_all_PrivExcep = -1;
1163 static int hf_gsm_map_ms_SupportedFeatures_lcs_universal = -1;
1164 static int hf_gsm_map_ms_SupportedFeatures_lcs_CallSessionRelated = -1;
1165 static int hf_gsm_map_ms_SupportedFeatures_lcs_CallSessionUnrelated = -1;
1166 static int hf_gsm_map_ms_SupportedFeatures_lcs_PLMN_operator = -1;
1167 static int hf_gsm_map_ms_SupportedFeatures_lcs_ServiceType = -1;
1168 static int hf_gsm_map_ms_SupportedFeatures_lcs_all_MOLR_SS = -1;
1169 static int hf_gsm_map_ms_SupportedFeatures_lcs_basicSelfLocation = -1;
1170 static int hf_gsm_map_ms_SupportedFeatures_lcs_autonomousSelfLocation = -1;
1171 static int hf_gsm_map_ms_SupportedFeatures_lcs_transferToThirdParty = -1;
1172 static int hf_gsm_map_ms_SupportedFeatures_sm_mo_pp = -1;
1173 static int hf_gsm_map_ms_SupportedFeatures_barring_OutgoingCalls = -1;
1174 static int hf_gsm_map_ms_SupportedFeatures_baoc = -1;
1175 static int hf_gsm_map_ms_SupportedFeatures_boic = -1;
1176 static int hf_gsm_map_ms_SupportedFeatures_boicExHC = -1;
1177 static int hf_gsm_map_ms_SupportedFeatures_localTimeZoneRetrieval = -1;
1178 static int hf_gsm_map_ms_SupportedFeatures_additionalMsisdn = -1;
1179 static int hf_gsm_map_ms_SupportedFeatures_smsInMME = -1;
1180 static int hf_gsm_map_ms_SupportedFeatures_smsInSGSN = -1;
1181 static int hf_gsm_map_ms_LCLS_Negotiation_permission_indicator_not_allowed_bit = -1;
1182 static int hf_gsm_map_ms_LCLS_Negotiation_permission_indicator_spare_bit = -1;
1183 static int hf_gsm_map_ms_LCLS_ConfigurationPreference_forward_data_sending_indicator = -1;
1184 static int hf_gsm_map_ms_LCLS_ConfigurationPreference_backward_data_sending_indicator = -1;
1185 static int hf_gsm_map_ms_LCLS_ConfigurationPreference_forward_data_reception_indicator = -1;
1186 static int hf_gsm_map_ms_LCLS_ConfigurationPreference_backward_data_reception_indicator = -1;
1187 static int hf_gsm_map_ms_RequestedEquipmentInfo_equipmentStatus = -1;
1188 static int hf_gsm_map_ms_RequestedEquipmentInfo_bmuef = -1;
1189 static int hf_gsm_map_ms_AccessRestrictionData_utranNotAllowed = -1;
1190 static int hf_gsm_map_ms_AccessRestrictionData_geranNotAllowed = -1;
1191 static int hf_gsm_map_ms_AccessRestrictionData_ganNotAllowed = -1;
1192 static int hf_gsm_map_ms_AccessRestrictionData_i_hspa_evolutionNotAllowed = -1;
1193 static int hf_gsm_map_ms_AccessRestrictionData_e_utranNotAllowed = -1;
1194 static int hf_gsm_map_ms_AccessRestrictionData_ho_toNon3GPP_AccessNotAllowed = -1;
1195 static int hf_gsm_map_ms_ODB_GeneralData_allOG_CallsBarred = -1;
1196 static int hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsBarred = -1;
1197 static int hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred = -1;
1198 static int hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsBarred = -1;
1199 static int hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred = -1;
1200 static int hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred = -1;
1201 static int hf_gsm_map_ms_ODB_GeneralData_premiumRateInformationOGCallsBarred = -1;
1202 static int hf_gsm_map_ms_ODB_GeneralData_premiumRateEntertainementOGCallsBarred = -1;
1203 static int hf_gsm_map_ms_ODB_GeneralData_ss_AccessBarred = -1;
1204 static int hf_gsm_map_ms_ODB_GeneralData_allECT_Barred = -1;
1205 static int hf_gsm_map_ms_ODB_GeneralData_chargeableECT_Barred = -1;
1206 static int hf_gsm_map_ms_ODB_GeneralData_internationalECT_Barred = -1;
1207 static int hf_gsm_map_ms_ODB_GeneralData_interzonalECT_Barred = -1;
1208 static int hf_gsm_map_ms_ODB_GeneralData_doublyChargeableECT_Barred = -1;
1209 static int hf_gsm_map_ms_ODB_GeneralData_multipleECT_Barred = -1;
1210 static int hf_gsm_map_ms_ODB_GeneralData_allPacketOrientedServicesBarred = -1;
1211 static int hf_gsm_map_ms_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred = -1;
1212 static int hf_gsm_map_ms_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred = -1;
1213 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred = -1;
1214 static int hf_gsm_map_ms_ODB_GeneralData_allIC_CallsBarred = -1;
1215 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred = -1;
1216 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred = -1;
1217 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_Barred = -1;
1218 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_CountryBarred = -1;
1219 static int hf_gsm_map_ms_ODB_GeneralData_registrationAllCF_Barred = -1;
1220 static int hf_gsm_map_ms_ODB_GeneralData_registrationCFNotToHPLMN_Barred = -1;
1221 static int hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCF_Barred = -1;
1222 static int hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred = -1;
1223 static int hf_gsm_map_ms_ODB_GeneralData_registrationInternationalCF_Barred = -1;
1224 static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType1 = -1;
1225 static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType2 = -1;
1226 static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType3 = -1;
1227 static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType4 = -1;
1228 static int hf_gsm_map_ms_SpecificCSI_Withdraw_o_csi = -1;
1229 static int hf_gsm_map_ms_SpecificCSI_Withdraw_ss_csi = -1;
1230 static int hf_gsm_map_ms_SpecificCSI_Withdraw_tif_csi = -1;
1231 static int hf_gsm_map_ms_SpecificCSI_Withdraw_d_csi = -1;
1232 static int hf_gsm_map_ms_SpecificCSI_Withdraw_vt_csi = -1;
1233 static int hf_gsm_map_ms_SpecificCSI_Withdraw_mo_sms_csi = -1;
1234 static int hf_gsm_map_ms_SpecificCSI_Withdraw_m_csi = -1;
1235 static int hf_gsm_map_ms_SpecificCSI_Withdraw_gprs_csi = -1;
1236 static int hf_gsm_map_ms_SpecificCSI_Withdraw_t_csi = -1;
1237 static int hf_gsm_map_ms_SpecificCSI_Withdraw_mt_sms_csi = -1;
1238 static int hf_gsm_map_ms_SpecificCSI_Withdraw_mg_csi = -1;
1239 static int hf_gsm_map_ms_SpecificCSI_Withdraw_o_IM_CSI = -1;
1240 static int hf_gsm_map_ms_SpecificCSI_Withdraw_d_IM_CSI = -1;
1241 static int hf_gsm_map_ms_SpecificCSI_Withdraw_vt_IM_CSI = -1;
1242 static int hf_gsm_map_ms_SupportedCamelPhases_phase1 = -1;
1243 static int hf_gsm_map_ms_SupportedCamelPhases_phase2 = -1;
1244 static int hf_gsm_map_ms_SupportedCamelPhases_phase3 = -1;
1245 static int hf_gsm_map_ms_SupportedCamelPhases_phase4 = -1;
1246 static int hf_gsm_map_ms_OfferedCamel4CSIs_o_csi = -1;
1247 static int hf_gsm_map_ms_OfferedCamel4CSIs_d_csi = -1;
1248 static int hf_gsm_map_ms_OfferedCamel4CSIs_vt_csi = -1;
1249 static int hf_gsm_map_ms_OfferedCamel4CSIs_t_csi = -1;
1250 static int hf_gsm_map_ms_OfferedCamel4CSIs_mt_sms_csi = -1;
1251 static int hf_gsm_map_ms_OfferedCamel4CSIs_mg_csi = -1;
1252 static int hf_gsm_map_ms_OfferedCamel4CSIs_psi_enhancements = -1;
1253 static int hf_gsm_map_ms_OfferedCamel4Functionalities_initiateCallAttempt = -1;
1254 static int hf_gsm_map_ms_OfferedCamel4Functionalities_splitLeg = -1;
1255 static int hf_gsm_map_ms_OfferedCamel4Functionalities_moveLeg = -1;
1256 static int hf_gsm_map_ms_OfferedCamel4Functionalities_disconnectLeg = -1;
1257 static int hf_gsm_map_ms_OfferedCamel4Functionalities_entityReleased = -1;
1258 static int hf_gsm_map_ms_OfferedCamel4Functionalities_dfc_WithArgument = -1;
1259 static int hf_gsm_map_ms_OfferedCamel4Functionalities_playTone = -1;
1260 static int hf_gsm_map_ms_OfferedCamel4Functionalities_dtmf_MidCall = -1;
1261 static int hf_gsm_map_ms_OfferedCamel4Functionalities_chargingIndicator = -1;
1262 static int hf_gsm_map_ms_OfferedCamel4Functionalities_alertingDP = -1;
1263 static int hf_gsm_map_ms_OfferedCamel4Functionalities_locationAtAlerting = -1;
1264 static int hf_gsm_map_ms_OfferedCamel4Functionalities_changeOfPositionDP = -1;
1265 static int hf_gsm_map_ms_OfferedCamel4Functionalities_or_Interactions = -1;
1266 static int hf_gsm_map_ms_OfferedCamel4Functionalities_warningToneEnhancements = -1;
1267 static int hf_gsm_map_ms_OfferedCamel4Functionalities_cf_Enhancements = -1;
1268 static int hf_gsm_map_ms_OfferedCamel4Functionalities_subscribedEnhancedDialledServices = -1;
1269 static int hf_gsm_map_ms_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices = -1;
1270 static int hf_gsm_map_ms_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP = -1;
1271 static int hf_gsm_map_ms_OfferedCamel4Functionalities_serviceChangeDP = -1;
1272 static int hf_gsm_map_ms_OfferedCamel4Functionalities_collectInformation = -1;
1273 static int hf_gsm_map_ms_AdditionalSubscriptions_privilegedUplinkRequest = -1;
1274 static int hf_gsm_map_ms_AdditionalSubscriptions_emergencyUplinkRequest = -1;
1275 static int hf_gsm_map_ms_AdditionalSubscriptions_emergencyReset = -1;
1276 static int hf_gsm_map_ms_RequestedNodes_mme = -1;
1277 static int hf_gsm_map_ms_RequestedNodes_sgsn = -1;
1278 static int hf_gsm_map_ms_RequestedServingNode_mmeAndSgsn = -1;
1279 static int hf_gsm_map_ms_ServingNode_mme = -1;
1280 static int hf_gsm_map_ms_ServingNode_sgsn = -1;
1282 /* --- Module MAP-CH-DataTypes --- --- --- */
1284 static int hf_gsm_map_ch_cug_Interlock = -1; /* CUG_Interlock */
1285 static int hf_gsm_map_ch_cug_OutgoingAccess = -1; /* NULL */
1286 static int hf_gsm_map_ch_extensionContainer = -1; /* ExtensionContainer */
1287 static int hf_gsm_map_ch_msisdn = -1; /* ISDN_AddressString */
1288 static int hf_gsm_map_ch_cug_CheckInfo = -1; /* CUG_CheckInfo */
1289 static int hf_gsm_map_ch_numberOfForwarding = -1; /* NumberOfForwarding */
1290 static int hf_gsm_map_ch_interrogationType = -1; /* InterrogationType */
1291 static int hf_gsm_map_ch_or_Interrogation = -1; /* NULL */
1292 static int hf_gsm_map_ch_or_Capability = -1; /* OR_Phase */
1293 static int hf_gsm_map_ch_gmsc_OrGsmSCF_Address = -1; /* ISDN_AddressString */
1294 static int hf_gsm_map_ch_callReferenceNumber = -1; /* CallReferenceNumber */
1295 static int hf_gsm_map_ch_forwardingReason = -1; /* ForwardingReason */
1296 static int hf_gsm_map_ch_basicServiceGroup = -1; /* Ext_BasicServiceCode */
1297 static int hf_gsm_map_ch_networkSignalInfo = -1; /* ExternalSignalInfo */
1298 static int hf_gsm_map_ch_camelInfo = -1; /* CamelInfo */
1299 static int hf_gsm_map_ch_suppressionOfAnnouncement = -1; /* SuppressionOfAnnouncement */
1300 static int hf_gsm_map_ch_alertingPattern = -1; /* AlertingPattern */
1301 static int hf_gsm_map_ch_ccbs_Call = -1; /* NULL */
1302 static int hf_gsm_map_ch_supportedCCBS_Phase = -1; /* SupportedCCBS_Phase */
1303 static int hf_gsm_map_ch_additionalSignalInfo = -1; /* Ext_ExternalSignalInfo */
1304 static int hf_gsm_map_ch_istSupportIndicator = -1; /* IST_SupportIndicator */
1305 static int hf_gsm_map_ch_pre_pagingSupported = -1; /* NULL */
1306 static int hf_gsm_map_ch_callDiversionTreatmentIndicator = -1; /* CallDiversionTreatmentIndicator */
1307 static int hf_gsm_map_ch_longFTN_Supported = -1; /* NULL */
1308 static int hf_gsm_map_ch_suppress_VT_CSI = -1; /* NULL */
1309 static int hf_gsm_map_ch_suppressIncomingCallBarring = -1; /* NULL */
1310 static int hf_gsm_map_ch_gsmSCF_InitiatedCall = -1; /* NULL */
1311 static int hf_gsm_map_ch_basicServiceGroup2 = -1; /* Ext_BasicServiceCode */
1312 static int hf_gsm_map_ch_networkSignalInfo2 = -1; /* ExternalSignalInfo */
1313 static int hf_gsm_map_ch_suppressMTSS = -1; /* SuppressMTSS */
1314 static int hf_gsm_map_ch_mtRoamingRetrySupported = -1; /* NULL */
1315 static int hf_gsm_map_ch_callPriority = -1; /* EMLPP_Priority */
1316 static int hf_gsm_map_ch_imsi = -1; /* IMSI */
1317 static int hf_gsm_map_ch_extendedRoutingInfo = -1; /* ExtendedRoutingInfo */
1318 static int hf_gsm_map_ch_cugSubscriptionFlag = -1; /* NULL */
1319 static int hf_gsm_map_ch_subscriberInfo = -1; /* SubscriberInfo */
1320 static int hf_gsm_map_ch_ss_List = -1; /* SS_List */
1321 static int hf_gsm_map_ch_basicService = -1; /* Ext_BasicServiceCode */
1322 static int hf_gsm_map_ch_forwardingInterrogationRequired = -1; /* NULL */
1323 static int hf_gsm_map_ch_vmsc_Address = -1; /* ISDN_AddressString */
1324 static int hf_gsm_map_ch_naea_PreferredCI = -1; /* NAEA_PreferredCI */
1325 static int hf_gsm_map_ch_ccbs_Indicators = -1; /* CCBS_Indicators */
1326 static int hf_gsm_map_ch_numberPortabilityStatus = -1; /* NumberPortabilityStatus */
1327 static int hf_gsm_map_ch_istAlertTimer = -1; /* IST_AlertTimerValue */
1328 static int hf_gsm_map_ch_supportedCamelPhasesInVMSC = -1; /* SupportedCamelPhases */
1329 static int hf_gsm_map_ch_offeredCamel4CSIsInVMSC = -1; /* OfferedCamel4CSIs */
1330 static int hf_gsm_map_ch_routingInfo2 = -1; /* RoutingInfo */
1331 static int hf_gsm_map_ch_ss_List2 = -1; /* SS_List */
1332 static int hf_gsm_map_ch_basicService2 = -1; /* Ext_BasicServiceCode */
1333 static int hf_gsm_map_ch_allowedServices = -1; /* AllowedServices */
1334 static int hf_gsm_map_ch_unavailabilityCause = -1; /* UnavailabilityCause */
1335 static int hf_gsm_map_ch_releaseResourcesSupported = -1; /* NULL */
1336 static int hf_gsm_map_ch_gsm_BearerCapability = -1; /* ExternalSignalInfo */
1337 static int hf_gsm_map_ch_ccbs_Possible = -1; /* NULL */
1338 static int hf_gsm_map_ch_keepCCBS_CallIndicator = -1; /* NULL */
1339 static int hf_gsm_map_ch_roamingNumber = -1; /* ISDN_AddressString */
1340 static int hf_gsm_map_ch_forwardingData = -1; /* ForwardingData */
1341 static int hf_gsm_map_ch_forwardedToNumber = -1; /* ISDN_AddressString */
1342 static int hf_gsm_map_ch_forwardedToSubaddress = -1; /* ISDN_SubaddressString */
1343 static int hf_gsm_map_ch_forwardingOptions = -1; /* ForwardingOptions */
1344 static int hf_gsm_map_ch_longForwardedToNumber = -1; /* FTN_AddressString */
1345 static int hf_gsm_map_ch_msc_Number = -1; /* ISDN_AddressString */
1346 static int hf_gsm_map_ch_lmsi = -1; /* LMSI */
1347 static int hf_gsm_map_ch_gmsc_Address = -1; /* ISDN_AddressString */
1348 static int hf_gsm_map_ch_supportedCamelPhasesInInterrogatingNode = -1; /* SupportedCamelPhases */
1349 static int hf_gsm_map_ch_orNotSupportedInGMSC = -1; /* NULL */
1350 static int hf_gsm_map_ch_offeredCamel4CSIsInInterrogatingNode = -1; /* OfferedCamel4CSIs */
1351 static int hf_gsm_map_ch_pagingArea = -1; /* PagingArea */
1352 static int hf_gsm_map_ch_mtrf_Indicator = -1; /* NULL */
1353 static int hf_gsm_map_ch_oldMSC_Number = -1; /* ISDN_AddressString */
1354 static int hf_gsm_map_ch_o_CSI = -1; /* O_CSI */
1355 static int hf_gsm_map_ch_uu_Data = -1; /* UU_Data */
1356 static int hf_gsm_map_ch_allInformationSent = -1; /* NULL */
1357 static int hf_gsm_map_ch_d_csi = -1; /* D_CSI */
1358 static int hf_gsm_map_ch_o_BcsmCamelTDPCriteriaList = -1; /* O_BcsmCamelTDPCriteriaList */
1359 static int hf_gsm_map_ch_mtRoamingRetry = -1; /* NULL */
1360 static int hf_gsm_map_ch_uuIndicator = -1; /* UUIndicator */
1361 static int hf_gsm_map_ch_uui = -1; /* UUI */
1362 static int hf_gsm_map_ch_uusCFInteraction = -1; /* NULL */
1363 static int hf_gsm_map_ch_supportedCamelPhases = -1; /* SupportedCamelPhases */
1364 static int hf_gsm_map_ch_suppress_T_CSI = -1; /* NULL */
1365 static int hf_gsm_map_ch_offeredCamel4CSIs = -1; /* OfferedCamel4CSIs */
1366 static int hf_gsm_map_ch_routingInfo = -1; /* RoutingInfo */
1367 static int hf_gsm_map_ch_camelRoutingInfo = -1; /* CamelRoutingInfo */
1368 static int hf_gsm_map_ch_gmscCamelSubscriptionInfo = -1; /* GmscCamelSubscriptionInfo */
1369 static int hf_gsm_map_ch_t_CSI = -1; /* T_CSI */
1370 static int hf_gsm_map_ch_o_BcsmCamelTDP_CriteriaList = -1; /* O_BcsmCamelTDPCriteriaList */
1371 static int hf_gsm_map_ch_t_BCSM_CAMEL_TDP_CriteriaList = -1; /* T_BCSM_CAMEL_TDP_CriteriaList */
1372 static int hf_gsm_map_ch_ccbs_Monitoring = -1; /* ReportingState */
1373 static int hf_gsm_map_ch_ccbs_SubscriberStatus = -1; /* CCBS_SubscriberStatus */
1374 static int hf_gsm_map_ch_eventReportData = -1; /* EventReportData */
1375 static int hf_gsm_map_ch_callReportdata = -1; /* CallReportData */
1376 static int hf_gsm_map_ch_monitoringMode = -1; /* MonitoringMode */
1377 static int hf_gsm_map_ch_callOutcome = -1; /* CallOutcome */
1378 static int hf_gsm_map_ch_callInfo = -1; /* ExternalSignalInfo */
1379 static int hf_gsm_map_ch_ccbs_Feature = -1; /* CCBS_Feature */
1380 static int hf_gsm_map_ch_translatedB_Number = -1; /* ISDN_AddressString */
1381 static int hf_gsm_map_ch_replaceB_Number = -1; /* NULL */
1382 static int hf_gsm_map_ch_ruf_Outcome = -1; /* RUF_Outcome */
1383 static int hf_gsm_map_ch_istInformationWithdraw = -1; /* NULL */
1384 static int hf_gsm_map_ch_callTerminationIndicator = -1; /* CallTerminationIndicator */
1385 static int hf_gsm_map_ch_msrn = -1; /* ISDN_AddressString */
1386 /* named bits */
1387 static int hf_gsm_map_ch_SuppressMTSS_suppressCUG = -1;
1388 static int hf_gsm_map_ch_SuppressMTSS_suppressCCBS = -1;
1389 static int hf_gsm_map_ch_AllowedServices_firstServiceAllowed = -1;
1390 static int hf_gsm_map_ch_AllowedServices_secondServiceAllowed = -1;
1392 /* --- Module MAP-LCS-DataTypes --- --- --- */
1394 static int hf_gsm_map_lcs_gsm_map_lcs_LCS_ClientID_PDU = -1; /* LCS_ClientID */
1395 static int hf_gsm_map_lcs_mlcNumber = -1; /* ISDN_AddressString */
1396 static int hf_gsm_map_lcs_targetMS = -1; /* SubscriberIdentity */
1397 static int hf_gsm_map_lcs_extensionContainer = -1; /* ExtensionContainer */
1398 static int hf_gsm_map_lcs_lcsLocationInfo = -1; /* LCSLocationInfo */
1399 static int hf_gsm_map_lcs_v_gmlc_Address = -1; /* GSN_Address */
1400 static int hf_gsm_map_lcs_h_gmlc_Address = -1; /* GSN_Address */
1401 static int hf_gsm_map_lcs_ppr_Address = -1; /* GSN_Address */
1402 static int hf_gsm_map_lcs_additional_v_gmlc_Address = -1; /* GSN_Address */
1403 static int hf_gsm_map_lcs_networkNode_Number = -1; /* ISDN_AddressString */
1404 static int hf_gsm_map_lcs_lmsi = -1; /* LMSI */
1405 static int hf_gsm_map_lcs_gprsNodeIndicator = -1; /* NULL */
1406 static int hf_gsm_map_lcs_additional_Number = -1; /* Additional_Number */
1407 static int hf_gsm_map_lcs_supportedLCS_CapabilitySets = -1; /* SupportedLCS_CapabilitySets */
1408 static int hf_gsm_map_lcs_additional_LCS_CapabilitySets = -1; /* SupportedLCS_CapabilitySets */
1409 static int hf_gsm_map_lcs_mme_Name = -1; /* DiameterIdentity */
1410 static int hf_gsm_map_lcs_aaa_Server_Name = -1; /* DiameterIdentity */
1411 static int hf_gsm_map_lcs_locationType = -1; /* LocationType */
1412 static int hf_gsm_map_lcs_mlc_Number = -1; /* ISDN_AddressString */
1413 static int hf_gsm_map_lcs_lcs_ClientID = -1; /* LCS_ClientID */
1414 static int hf_gsm_map_lcs_privacyOverride = -1; /* NULL */
1415 static int hf_gsm_map_lcs_imsi = -1; /* IMSI */
1416 static int hf_gsm_map_lcs_msisdn = -1; /* ISDN_AddressString */
1417 static int hf_gsm_map_lcs_imei = -1; /* IMEI */
1418 static int hf_gsm_map_lcs_lcs_Priority = -1; /* LCS_Priority */
1419 static int hf_gsm_map_lcs_lcs_QoS = -1; /* LCS_QoS */
1420 static int hf_gsm_map_lcs_supportedGADShapes = -1; /* SupportedGADShapes */
1421 static int hf_gsm_map_lcs_lcs_ReferenceNumber = -1; /* LCS_ReferenceNumber */
1422 static int hf_gsm_map_lcs_lcsServiceTypeID = -1; /* LCSServiceTypeID */
1423 static int hf_gsm_map_lcs_lcsCodeword = -1; /* LCSCodeword */
1424 static int hf_gsm_map_lcs_lcs_PrivacyCheck = -1; /* LCS_PrivacyCheck */
1425 static int hf_gsm_map_lcs_areaEventInfo = -1; /* AreaEventInfo */
1426 static int hf_gsm_map_lcs_mo_lrShortCircuitIndicator = -1; /* NULL */
1427 static int hf_gsm_map_lcs_periodicLDRInfo = -1; /* PeriodicLDRInfo */
1428 static int hf_gsm_map_lcs_reportingPLMNList = -1; /* ReportingPLMNList */
1429 static int hf_gsm_map_lcs_locationEstimateType = -1; /* LocationEstimateType */
1430 static int hf_gsm_map_lcs_deferredLocationEventType = -1; /* DeferredLocationEventType */
1431 static int hf_gsm_map_lcs_lcsClientType = -1; /* LCSClientType */
1432 static int hf_gsm_map_lcs_lcsClientExternalID = -1; /* LCSClientExternalID */
1433 static int hf_gsm_map_lcs_lcsClientDialedByMS = -1; /* AddressString */
1434 static int hf_gsm_map_lcs_lcsClientInternalID = -1; /* LCSClientInternalID */
1435 static int hf_gsm_map_lcs_lcsClientName = -1; /* LCSClientName */
1436 static int hf_gsm_map_lcs_lcsAPN = -1; /* APN */
1437 static int hf_gsm_map_lcs_lcsRequestorID = -1; /* LCSRequestorID */
1438 static int hf_gsm_map_lcs_dataCodingScheme = -1; /* USSD_DataCodingScheme */
1439 static int hf_gsm_map_lcs_nameString = -1; /* NameString */
1440 static int hf_gsm_map_lcs_lcs_FormatIndicator = -1; /* LCS_FormatIndicator */
1441 static int hf_gsm_map_lcs_requestorIDString = -1; /* RequestorIDString */
1442 static int hf_gsm_map_lcs_horizontal_accuracy = -1; /* Horizontal_Accuracy */
1443 static int hf_gsm_map_lcs_verticalCoordinateRequest = -1; /* NULL */
1444 static int hf_gsm_map_lcs_vertical_accuracy = -1; /* Vertical_Accuracy */
1445 static int hf_gsm_map_lcs_responseTime = -1; /* ResponseTime */
1446 static int hf_gsm_map_lcs_velocityRequest = -1; /* NULL */
1447 static int hf_gsm_map_lcs_responseTimeCategory = -1; /* ResponseTimeCategory */
1448 static int hf_gsm_map_lcs_lcsCodewordString = -1; /* LCSCodewordString */
1449 static int hf_gsm_map_lcs_callSessionUnrelated = -1; /* PrivacyCheckRelatedAction */
1450 static int hf_gsm_map_lcs_callSessionRelated = -1; /* PrivacyCheckRelatedAction */
1451 static int hf_gsm_map_lcs_areaDefinition = -1; /* AreaDefinition */
1452 static int hf_gsm_map_lcs_occurrenceInfo = -1; /* OccurrenceInfo */
1453 static int hf_gsm_map_lcs_intervalTime = -1; /* IntervalTime */
1454 static int hf_gsm_map_lcs_areaList = -1; /* AreaList */
1455 static int hf_gsm_map_lcs_AreaList_item = -1; /* Area */
1456 static int hf_gsm_map_lcs_areaType = -1; /* AreaType */
1457 static int hf_gsm_map_lcs_areaIdentification = -1; /* AreaIdentification */
1458 static int hf_gsm_map_lcs_reportingAmount = -1; /* ReportingAmount */
1459 static int hf_gsm_map_lcs_reportingInterval = -1; /* ReportingInterval */
1460 static int hf_gsm_map_lcs_plmn_ListPrioritized = -1; /* NULL */
1461 static int hf_gsm_map_lcs_plmn_List = -1; /* PLMNList */
1462 static int hf_gsm_map_lcs_PLMNList_item = -1; /* ReportingPLMN */
1463 static int hf_gsm_map_lcs_plmn_Id = -1; /* PLMN_Id */
1464 static int hf_gsm_map_lcs_ran_Technology = -1; /* RAN_Technology */
1465 static int hf_gsm_map_lcs_ran_PeriodicLocationSupport = -1; /* NULL */
1466 static int hf_gsm_map_lcs_locationEstimate = -1; /* Ext_GeographicalInformation */
1467 static int hf_gsm_map_lcs_ageOfLocationEstimate = -1; /* AgeOfLocationInformation */
1468 static int hf_gsm_map_lcs_add_LocationEstimate = -1; /* Add_GeographicalInformation */
1469 static int hf_gsm_map_lcs_deferredmt_lrResponseIndicator = -1; /* NULL */
1470 static int hf_gsm_map_lcs_geranPositioningData = -1; /* PositioningDataInformation */
1471 static int hf_gsm_map_lcs_utranPositioningData = -1; /* UtranPositioningDataInfo */
1472 static int hf_gsm_map_lcs_cellIdOrSai = -1; /* CellGlobalIdOrServiceAreaIdOrLAI */
1473 static int hf_gsm_map_lcs_sai_Present = -1; /* NULL */
1474 static int hf_gsm_map_lcs_accuracyFulfilmentIndicator = -1; /* AccuracyFulfilmentIndicator */
1475 static int hf_gsm_map_lcs_velocityEstimate = -1; /* VelocityEstimate */
1476 static int hf_gsm_map_lcs_geranGANSSpositioningData = -1; /* GeranGANSSpositioningData */
1477 static int hf_gsm_map_lcs_utranGANSSpositioningData = -1; /* UtranGANSSpositioningData */
1478 static int hf_gsm_map_lcs_targetServingNodeForHandover = -1; /* ServingNodeAddress */
1479 static int hf_gsm_map_lcs_lcs_Event = -1; /* LCS_Event */
1480 static int hf_gsm_map_lcs_na_ESRD = -1; /* ISDN_AddressString */
1481 static int hf_gsm_map_lcs_na_ESRK = -1; /* ISDN_AddressString */
1482 static int hf_gsm_map_lcs_slr_ArgExtensionContainer = -1; /* SLR_ArgExtensionContainer */
1483 static int hf_gsm_map_lcs_deferredmt_lrData = -1; /* Deferredmt_lrData */
1484 static int hf_gsm_map_lcs_pseudonymIndicator = -1; /* NULL */
1485 static int hf_gsm_map_lcs_sequenceNumber = -1; /* SequenceNumber */
1486 static int hf_gsm_map_lcs_terminationCause = -1; /* TerminationCause */
1487 static int hf_gsm_map_lcs_msc_Number = -1; /* ISDN_AddressString */
1488 static int hf_gsm_map_lcs_sgsn_Number = -1; /* ISDN_AddressString */
1489 static int hf_gsm_map_lcs_mme_Number = -1; /* DiameterIdentity */
1490 /* named bits */
1491 static int hf_gsm_map_lcs_DeferredLocationEventType_msAvailable = -1;
1492 static int hf_gsm_map_lcs_DeferredLocationEventType_enteringIntoArea = -1;
1493 static int hf_gsm_map_lcs_DeferredLocationEventType_leavingFromArea = -1;
1494 static int hf_gsm_map_lcs_DeferredLocationEventType_beingInsideArea = -1;
1495 static int hf_gsm_map_lcs_DeferredLocationEventType_periodicLDR = -1;
1496 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPoint = -1;
1497 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle = -1;
1498 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse = -1;
1499 static int hf_gsm_map_lcs_SupportedGADShapes_polygon = -1;
1500 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitude = -1;
1501 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid = -1;
1502 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidArc = -1;
1504 /* --- Module MAP-GR-DataTypes --- --- --- */
1506 static int hf_gsm_map_gr_teleservice = -1; /* Ext_TeleserviceCode */
1507 static int hf_gsm_map_gr_asciCallReference = -1; /* ASCI_CallReference */
1508 static int hf_gsm_map_gr_codec_Info = -1; /* CODEC_Info */
1509 static int hf_gsm_map_gr_cipheringAlgorithm = -1; /* CipheringAlgorithm */
1510 static int hf_gsm_map_gr_groupKeyNumber_Vk_Id = -1; /* GroupKeyNumber */
1511 static int hf_gsm_map_gr_groupKey = -1; /* Kc */
1512 static int hf_gsm_map_gr_priority = -1; /* EMLPP_Priority */
1513 static int hf_gsm_map_gr_uplinkFree = -1; /* NULL */
1514 static int hf_gsm_map_gr_extensionContainer = -1; /* ExtensionContainer */
1515 static int hf_gsm_map_gr_vstk = -1; /* VSTK */
1516 static int hf_gsm_map_gr_vstk_rand = -1; /* VSTK_RAND */
1517 static int hf_gsm_map_gr_talkerChannelParameter = -1; /* NULL */
1518 static int hf_gsm_map_gr_uplinkReplyIndicator = -1; /* NULL */
1519 static int hf_gsm_map_gr_groupCallNumber = -1; /* ISDN_AddressString */
1520 static int hf_gsm_map_gr_imsi = -1; /* IMSI */
1521 static int hf_gsm_map_gr_talkerPriority = -1; /* TalkerPriority */
1522 static int hf_gsm_map_gr_additionalInfo = -1; /* AdditionalInfo */
1523 static int hf_gsm_map_gr_uplinkRequestAck = -1; /* NULL */
1524 static int hf_gsm_map_gr_uplinkReleaseIndication = -1; /* NULL */
1525 static int hf_gsm_map_gr_uplinkRejectCommand = -1; /* NULL */
1526 static int hf_gsm_map_gr_uplinkSeizedCommand = -1; /* NULL */
1527 static int hf_gsm_map_gr_uplinkReleaseCommand = -1; /* NULL */
1528 static int hf_gsm_map_gr_stateAttributes = -1; /* StateAttributes */
1529 static int hf_gsm_map_gr_emergencyModeResetCommandFlag = -1; /* NULL */
1530 static int hf_gsm_map_gr_sm_RP_UI = -1; /* SignalInfo */
1531 static int hf_gsm_map_gr_an_APDU = -1; /* AccessNetworkSignalInfo */
1532 static int hf_gsm_map_gr_uplinkRequest = -1; /* NULL */
1533 static int hf_gsm_map_gr_releaseGroupCall = -1; /* NULL */
1534 static int hf_gsm_map_gr_downlinkAttached = -1; /* NULL */
1535 static int hf_gsm_map_gr_uplinkAttached = -1; /* NULL */
1536 static int hf_gsm_map_gr_dualCommunication = -1; /* NULL */
1537 static int hf_gsm_map_gr_callOriginator = -1; /* NULL */
1538 static int hf_gsm_map_gr_requestedInfo = -1; /* RequestedInfo */
1539 static int hf_gsm_map_gr_groupId = -1; /* Long_GroupId */
1540 static int hf_gsm_map_gr_cellId = -1; /* GlobalCellId */
1541 static int hf_gsm_map_gr_tmsi = -1; /* TMSI */
1542 static int hf_gsm_map_gr_cksn = -1; /* Cksn */
1543 static int hf_gsm_map_gr_anchorMSC_Address = -1; /* ISDN_AddressString */
1544 static int hf_gsm_map_gr_additionalSubscriptions = -1; /* AdditionalSubscriptions */
1545 static int hf_gsm_map_gr_kc = -1; /* Kc */
1547 /* --- Module MAP-DialogueInformation --- --- --- */
1549 static int hf_gsm_map_dialogue_gsm_map_dialogue_MAP_DialoguePDU_PDU = -1; /* MAP_DialoguePDU */
1550 static int hf_gsm_map_dialogue_map_open = -1; /* MAP_OpenInfo */
1551 static int hf_gsm_map_dialogue_map_accept = -1; /* MAP_AcceptInfo */
1552 static int hf_gsm_map_dialogue_map_close = -1; /* MAP_CloseInfo */
1553 static int hf_gsm_map_dialogue_map_refuse = -1; /* MAP_RefuseInfo */
1554 static int hf_gsm_map_dialogue_map_userAbort = -1; /* MAP_UserAbortInfo */
1555 static int hf_gsm_map_dialogue_map_providerAbort = -1; /* MAP_ProviderAbortInfo */
1556 static int hf_gsm_map_dialogue_destinationReference = -1; /* AddressString */
1557 static int hf_gsm_map_dialogue_originationReference = -1; /* AddressString */
1558 static int hf_gsm_map_dialogue_extensionContainer = -1; /* ExtensionContainer */
1559 static int hf_gsm_map_dialogue_reason = -1; /* Reason */
1560 static int hf_gsm_map_dialogue_alternativeApplicationContext = -1; /* OBJECT_IDENTIFIER */
1561 static int hf_gsm_map_dialogue_map_UserAbortChoice = -1; /* MAP_UserAbortChoice */
1562 static int hf_gsm_map_dialogue_userSpecificReason = -1; /* NULL */
1563 static int hf_gsm_map_dialogue_userResourceLimitation = -1; /* NULL */
1564 static int hf_gsm_map_dialogue_resourceUnavailable = -1; /* ResourceUnavailableReason */
1565 static int hf_gsm_map_dialogue_applicationProcedureCancellation = -1; /* ProcedureCancellationReason */
1566 static int hf_gsm_map_dialogue_map_ProviderAbortReason = -1; /* MAP_ProviderAbortReason */
1568 /* --- Module DummyMAP --- --- --- */
1570 static int hf_gsm_old_invoke = -1; /* Invoke */
1571 static int hf_gsm_old_returnResultLast = -1; /* ReturnResult */
1572 static int hf_gsm_old_returnError = -1; /* ReturnError */
1573 static int hf_gsm_old_reject = -1; /* Reject */
1574 static int hf_gsm_old_returnResultNotLast = -1; /* ReturnResult */
1575 static int hf_gsm_old_invokeID = -1; /* InvokeIdType */
1576 static int hf_gsm_old_linkedID = -1; /* InvokeIdType */
1577 static int hf_gsm_old_opCode = -1; /* MAP_OPERATION */
1578 static int hf_gsm_old_invokeparameter = -1; /* InvokeParameter */
1579 static int hf_gsm_old_resultretres = -1; /* T_resultretres */
1580 static int hf_gsm_old_returnparameter = -1; /* ReturnResultParameter */
1581 static int hf_gsm_old_errorCode = -1; /* MAP_ERROR */
1582 static int hf_gsm_old_parameter = -1; /* ReturnErrorParameter */
1583 static int hf_gsm_old_invokeIDRej = -1; /* T_invokeIDRej */
1584 static int hf_gsm_old_derivable = -1; /* InvokeIdType */
1585 static int hf_gsm_old_not_derivable = -1; /* NULL */
1586 static int hf_gsm_old_problem = -1; /* T_problem */
1587 static int hf_gsm_old_generalProblem = -1; /* GeneralProblem */
1588 static int hf_gsm_old_invokeProblem = -1; /* InvokeProblem */
1589 static int hf_gsm_old_returnResultProblem = -1; /* ReturnResultProblem */
1590 static int hf_gsm_old_returnErrorProblem = -1; /* ReturnErrorProblem */
1591 static int hf_gsm_old_localValue = -1; /* OperationLocalvalue */
1592 static int hf_gsm_old_globalValue = -1; /* OBJECT_IDENTIFIER */
1593 static int hf_gsm_old_localValue_01 = -1; /* LocalErrorcode */
1594 static int hf_gsm_old_protocolId = -1; /* ProtocolId */
1595 static int hf_gsm_old_signalInfo = -1; /* SignalInfo */
1596 static int hf_gsm_old_extensionContainer = -1; /* ExtensionContainer */
1597 static int hf_gsm_old_gsm_BearerCapability = -1; /* ExternalSignalInfo */
1598 static int hf_gsm_old_isdn_BearerCapability = -1; /* ExternalSignalInfo */
1599 static int hf_gsm_old_call_Direction = -1; /* CallDirection */
1600 static int hf_gsm_old_b_Subscriber_Address = -1; /* ISDN_AddressString */
1601 static int hf_gsm_old_chosenChannel = -1; /* ExternalSignalInfo */
1602 static int hf_gsm_old_lowerLayerCompatibility = -1; /* ExternalSignalInfo */
1603 static int hf_gsm_old_highLayerCompatibility = -1; /* ExternalSignalInfo */
1604 static int hf_gsm_old_sIWFSNumber = -1; /* ISDN_AddressString */
1605 static int hf_gsm_old_imsi = -1; /* IMSI */
1606 static int hf_gsm_old_vlr_Number = -1; /* ISDN_AddressString */
1607 static int hf_gsm_old_targetCellId = -1; /* GlobalCellId */
1608 static int hf_gsm_old_ho_NumberNotRequired = -1; /* NULL */
1609 static int hf_gsm_old_bss_APDU = -1; /* Bss_APDU */
1610 static int hf_gsm_old_handoverNumber = -1; /* ISDN_AddressString */
1611 static int hf_gsm_old_SendAuthenticationInfoResOld_item = -1; /* SendAuthenticationInfoResOld_item */
1612 static int hf_gsm_old_rand = -1; /* RAND */
1613 static int hf_gsm_old_sres = -1; /* SRES */
1614 static int hf_gsm_old_kc = -1; /* Kc */
1615 static int hf_gsm_old_tripletList = -1; /* TripletListold */
1616 static int hf_gsm_old_TripletListold_item = -1; /* AuthenticationTriplet_v2 */
1617 static int hf_gsm_old_channelType = -1; /* ExternalSignalInfo */
1618 static int hf_gsm_old_securityHeader = -1; /* SecurityHeader */
1619 static int hf_gsm_old_protectedPayload = -1; /* ProtectedPayload */
1620 static int hf_gsm_old_securityParametersIndex = -1; /* SecurityParametersIndex */
1621 static int hf_gsm_old_originalComponentIdentifier = -1; /* OriginalComponentIdentifier */
1622 static int hf_gsm_old_initialisationVector = -1; /* InitialisationVector */
1623 static int hf_gsm_old_operationCode = -1; /* OperationCode */
1624 static int hf_gsm_old_errorCode_01 = -1; /* ErrorCode */
1625 static int hf_gsm_old_userInfo = -1; /* NULL */
1626 static int hf_gsm_old_localValue_02 = -1; /* INTEGER */
1627 static int hf_gsm_old_msisdn = -1; /* ISDN_AddressString */
1628 static int hf_gsm_old_category = -1; /* Category */
1629 static int hf_gsm_old_basicService = -1; /* BasicServiceCode */
1630 static int hf_gsm_old_operatorSS_Code = -1; /* T_operatorSS_Code */
1631 static int hf_gsm_old_operatorSS_Code_item = -1; /* OCTET_STRING_SIZE_1 */
1632 static int hf_gsm_old_sm_RP_DA = -1; /* SM_RP_DAold */
1633 static int hf_gsm_old_sm_RP_OA = -1; /* SM_RP_OAold */
1634 static int hf_gsm_old_sm_RP_UI = -1; /* SignalInfo */
1635 static int hf_gsm_old_moreMessagesToSend = -1; /* NULL */
1636 static int hf_gsm_old_imsi_01 = -1; /* T_imsi */
1637 static int hf_gsm_old_lmsi = -1; /* T_lmsi */
1638 static int hf_gsm_old_serviceCentreAddressDA = -1; /* T_serviceCentreAddressDA */
1639 static int hf_gsm_old_noSM_RP_DA = -1; /* NULL */
1640 static int hf_gsm_old_msisdn_01 = -1; /* T_msisdn */
1641 static int hf_gsm_old_serviceCentreAddressOA = -1; /* T_serviceCentreAddressOA */
1642 static int hf_gsm_old_noSM_RP_OA = -1; /* NULL */
1643 static int hf_gsm_old_cug_CheckInfo = -1; /* CUG_CheckInfo */
1644 static int hf_gsm_old_numberOfForwarding = -1; /* NumberOfForwarding */
1645 static int hf_gsm_old_networkSignalInfo = -1; /* ExternalSignalInfo */
1646 static int hf_gsm_old_routingInfo = -1; /* RoutingInfo */
1647 static int hf_gsm_old_originatingEntityNumber = -1; /* ISDN_AddressString */
1648 static int hf_gsm_old_msisdn_02 = -1; /* AddressString */
1650 /* --- Module SS-DataTypes --- --- --- */
1652 static int hf_gsm_ss_ss_Code = -1; /* SS_Code */
1653 static int hf_gsm_ss_ss_Status = -1; /* SS_Status */
1654 static int hf_gsm_ss_ss_Notification = -1; /* SS_Notification */
1655 static int hf_gsm_ss_callIsWaiting_Indicator = -1; /* NULL */
1656 static int hf_gsm_ss_callOnHold_Indicator = -1; /* CallOnHold_Indicator */
1657 static int hf_gsm_ss_mpty_Indicator = -1; /* NULL */
1658 static int hf_gsm_ss_cug_Index = -1; /* CUG_Index */
1659 static int hf_gsm_ss_clirSuppressionRejected = -1; /* NULL */
1660 static int hf_gsm_ss_ect_Indicator = -1; /* ECT_Indicator */
1661 static int hf_gsm_ss_nameIndicator = -1; /* NameIndicator */
1662 static int hf_gsm_ss_ccbs_Feature = -1; /* CCBS_Feature */
1663 static int hf_gsm_ss_alertingPattern = -1; /* AlertingPattern */
1664 static int hf_gsm_ss_multicall_Indicator = -1; /* Multicall_Indicator */
1665 static int hf_gsm_ss_chargingInformation = -1; /* ChargingInformation */
1666 static int hf_gsm_ss_e1 = -1; /* E1 */
1667 static int hf_gsm_ss_e2 = -1; /* E2 */
1668 static int hf_gsm_ss_e3 = -1; /* E3 */
1669 static int hf_gsm_ss_e4 = -1; /* E4 */
1670 static int hf_gsm_ss_e5 = -1; /* E5 */
1671 static int hf_gsm_ss_e6 = -1; /* E6 */
1672 static int hf_gsm_ss_e7 = -1; /* E7 */
1673 static int hf_gsm_ss_suppressPrefCUG = -1; /* NULL */
1674 static int hf_gsm_ss_suppressOA = -1; /* NULL */
1675 static int hf_gsm_ss_ect_CallState = -1; /* ECT_CallState */
1676 static int hf_gsm_ss_rdn = -1; /* RDN */
1677 static int hf_gsm_ss_callingName = -1; /* Name */
1678 static int hf_gsm_ss_namePresentationAllowed = -1; /* NameSet */
1679 static int hf_gsm_ss_presentationRestricted = -1; /* NULL */
1680 static int hf_gsm_ss_nameUnavailable = -1; /* NULL */
1681 static int hf_gsm_ss_namePresentationRestricted = -1; /* NameSet */
1682 static int hf_gsm_ss_dataCodingScheme = -1; /* USSD_DataCodingScheme */
1683 static int hf_gsm_ss_lengthInCharacters = -1; /* INTEGER */
1684 static int hf_gsm_ss_nameString = -1; /* USSD_String */
1685 static int hf_gsm_ss_presentationAllowedAddress = -1; /* RemotePartyNumber */
1686 static int hf_gsm_ss_numberNotAvailableDueToInterworking = -1; /* NULL */
1687 static int hf_gsm_ss_presentationRestrictedAddress = -1; /* RemotePartyNumber */
1688 static int hf_gsm_ss_partyNumber = -1; /* ISDN_AddressString */
1689 static int hf_gsm_ss_partyNumberSubaddress = -1; /* ISDN_SubaddressString */
1690 static int hf_gsm_ss_deflectedToNumber = -1; /* AddressString */
1691 static int hf_gsm_ss_deflectedToSubaddress = -1; /* ISDN_SubaddressString */
1692 static int hf_gsm_ss_uUS_Service = -1; /* UUS_Service */
1693 static int hf_gsm_ss_uUS_Required = -1; /* BOOLEAN */
1694 static int hf_gsm_ss_notificationType = -1; /* NotificationToMSUser */
1695 static int hf_gsm_ss_locationType = -1; /* LocationType */
1696 static int hf_gsm_ss_lcsClientExternalID = -1; /* LCSClientExternalID */
1697 static int hf_gsm_ss_lcsClientName = -1; /* LCSClientName */
1698 static int hf_gsm_ss_lcsRequestorID = -1; /* LCSRequestorID */
1699 static int hf_gsm_ss_lcsCodeword = -1; /* LCSCodeword */
1700 static int hf_gsm_ss_lcsServiceTypeID = -1; /* LCSServiceTypeID */
1701 static int hf_gsm_ss_verificationResponse = -1; /* VerificationResponse */
1702 static int hf_gsm_ss_molr_Type = -1; /* MOLR_Type */
1703 static int hf_gsm_ss_locationMethod = -1; /* LocationMethod */
1704 static int hf_gsm_ss_lcs_QoS = -1; /* LCS_QoS */
1705 static int hf_gsm_ss_mlc_Number = -1; /* ISDN_AddressString */
1706 static int hf_gsm_ss_gpsAssistanceData = -1; /* GPSAssistanceData */
1707 static int hf_gsm_ss_supportedGADShapes = -1; /* SupportedGADShapes */
1708 static int hf_gsm_ss_ageOfLocationInfo = -1; /* AgeOfLocationInformation */
1709 static int hf_gsm_ss_pseudonymIndicator = -1; /* NULL */
1710 static int hf_gsm_ss_h_gmlc_address = -1; /* GSN_Address */
1711 static int hf_gsm_ss_locationEstimate = -1; /* Ext_GeographicalInformation */
1712 static int hf_gsm_ss_velocityEstimate = -1; /* VelocityEstimate */
1713 static int hf_gsm_ss_referenceNumber = -1; /* LCS_ReferenceNumber */
1714 static int hf_gsm_ss_periodicLDRInfo = -1; /* PeriodicLDRInfo */
1715 static int hf_gsm_ss_locationUpdateRequest = -1; /* NULL */
1716 static int hf_gsm_ss_sequenceNumber = -1; /* SequenceNumber */
1717 static int hf_gsm_ss_terminationCause = -1; /* TerminationCause */
1718 static int hf_gsm_ss_mo_lrShortCircuit = -1; /* NULL */
1719 static int hf_gsm_ss_ganssAssistanceData = -1; /* GANSSAssistanceData */
1720 static int hf_gsm_ss_multiplePositioningProtocolPDUs = -1; /* MultiplePositioningProtocolPDUs */
1721 static int hf_gsm_ss_MultiplePositioningProtocolPDUs_item = -1; /* PositioningProtocolPDU */
1722 static int hf_gsm_ss_decipheringKeys = -1; /* DecipheringKeys */
1723 static int hf_gsm_ss_add_LocationEstimate = -1; /* Add_GeographicalInformation */
1724 static int hf_gsm_ss_reportingPLMNList = -1; /* ReportingPLMNList */
1725 static int hf_gsm_ss_deferredLocationEventType = -1; /* DeferredLocationEventType */
1726 static int hf_gsm_ss_areaEventInfo = -1; /* AreaEventInfo */
1727 static int hf_gsm_ss_qoS = -1; /* LCS_QoS */
1729 /* --- Module EricssonMAP --- --- --- */
1731 static int hf_gsm_map_ericsson_imei = -1; /* IMEI */
1732 static int hf_gsm_map_ericsson_requestedEquipmentInfo = -1; /* RequestedEquipmentInfo */
1733 static int hf_gsm_map_ericsson_imsi = -1; /* IMSI */
1734 static int hf_gsm_map_ericsson_locationInformation = -1; /* T_locationInformation */
1735 static int hf_gsm_map_ericsson_extensionContainer = -1; /* ExtensionContainer */
1737 /*--- End of included file: packet-gsm_map-hf.c ---*/
1738 #line 156 "../../asn1/gsm_map/packet-gsm_map-template.c"
1740 /* Initialize the subtree pointers */
1741 static gint ett_gsm_map = -1;
1742 static gint ett_gsm_map_InvokeId = -1;
1743 static gint ett_gsm_map_InvokePDU = -1;
1744 static gint ett_gsm_map_ReturnResultPDU = -1;
1745 static gint ett_gsm_map_ReturnErrorPDU = -1;
1746 static gint ett_gsm_map_ReturnResult_result = -1;
1747 static gint ett_gsm_map_ReturnError_result = -1;
1748 static gint ett_gsm_map_GSMMAPPDU = -1;
1749 static gint ett_gsm_map_ext_qos_subscribed = -1;
1750 static gint ett_gsm_map_pdptypenumber = -1;
1751 static gint ett_gsm_map_RAIdentity = -1;
1752 static gint ett_gsm_map_LAIFixedLength = -1;
1753 static gint ett_gsm_map_isdn_address_string = -1;
1754 static gint ett_gsm_map_geo_desc = -1;
1755 static gint ett_gsm_map_LongSignalInfo = -1;
1756 static gint ett_gsm_map_RadioResourceInformation =-1;
1757 static gint ett_gsm_map_MSNetworkCapability =-1;
1758 static gint ett_gsm_map_MSRadioAccessCapability = -1;
1759 static gint ett_gsm_map_externalsignalinfo = -1;
1760 static gint ett_gsm_map_cbs_data_coding = -1;
1761 static gint ett_gsm_map_GlobalCellId = -1;
1762 static gint ett_gsm_map_GeographicalInformation = -1;
1763 static gint ett_gsm_map_apn_str = -1;
1764 static gint ett_gsm_map_LocationNumber = -1;
1765 static gint ett_gsm_map_ericsson_locationInformation = -1;
1768 /*--- Included file: packet-gsm_map-ett.c ---*/
1769 #line 1 "../../asn1/gsm_map/packet-gsm_map-ett.c"
1771 /* --- Module MAP-ExtensionDataTypes --- --- --- */
1773 static gint ett_gsm_map_ExtensionContainer = -1;
1774 static gint ett_gsm_map_SLR_ArgExtensionContainer = -1;
1775 static gint ett_gsm_map_PrivateExtensionList = -1;
1776 static gint ett_gsm_map_PrivateExtension = -1;
1777 static gint ett_gsm_map_PCS_Extensions = -1;
1778 static gint ett_gsm_map_SLR_Arg_PCS_Extensions = -1;
1780 /* --- Module MAP-CommonDataTypes --- --- --- */
1782 static gint ett_gsm_map_ExternalSignalInfo = -1;
1783 static gint ett_gsm_map_Ext_ExternalSignalInfo = -1;
1784 static gint ett_gsm_map_AccessNetworkSignalInfo = -1;
1785 static gint ett_gsm_map_Identity = -1;
1786 static gint ett_gsm_map_IMSI_WithLMSI = -1;
1787 static gint ett_gsm_map_HLR_List = -1;
1788 static gint ett_gsm_map_NAEA_PreferredCI = -1;
1789 static gint ett_gsm_map_SubscriberIdentity = -1;
1790 static gint ett_gsm_map_LCSClientExternalID = -1;
1791 static gint ett_gsm_map_NetworkNodeDiameterAddress = -1;
1792 static gint ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI = -1;
1793 static gint ett_gsm_map_BasicServiceCode = -1;
1794 static gint ett_gsm_map_Ext_BasicServiceCode = -1;
1795 static gint ett_gsm_map_EMLPP_Info = -1;
1796 static gint ett_gsm_map_MC_SS_Info = -1;
1798 /* --- Module MAP-SS-DataTypes --- --- --- */
1800 static gint ett_gsm_map_ss_RegisterSS_Arg = -1;
1801 static gint ett_gsm_map_ss_SS_Info = -1;
1802 static gint ett_gsm_map_ss_ForwardingInfo = -1;
1803 static gint ett_gsm_map_ss_ForwardingFeatureList = -1;
1804 static gint ett_gsm_map_ss_ForwardingFeature = -1;
1805 static gint ett_gsm_map_ss_CallBarringInfo = -1;
1806 static gint ett_gsm_map_ss_CallBarringFeatureList = -1;
1807 static gint ett_gsm_map_ss_CallBarringFeature = -1;
1808 static gint ett_gsm_map_ss_SS_Data = -1;
1809 static gint ett_gsm_map_ss_SS_SubscriptionOption = -1;
1810 static gint ett_gsm_map_ss_SS_ForBS_Code = -1;
1811 static gint ett_gsm_map_ss_GenericServiceInfo = -1;
1812 static gint ett_gsm_map_ss_CCBS_FeatureList = -1;
1813 static gint ett_gsm_map_ss_CCBS_Feature = -1;
1814 static gint ett_gsm_map_ss_InterrogateSS_Res = -1;
1815 static gint ett_gsm_map_ss_USSD_Arg = -1;
1816 static gint ett_gsm_map_ss_USSD_Res = -1;
1817 static gint ett_gsm_map_ss_SS_List = -1;
1818 static gint ett_gsm_map_ss_BasicServiceGroupList = -1;
1819 static gint ett_gsm_map_ss_SS_InvocationNotificationArg = -1;
1820 static gint ett_gsm_map_ss_SS_InvocationNotificationRes = -1;
1821 static gint ett_gsm_map_ss_SS_EventSpecification = -1;
1822 static gint ett_gsm_map_ss_RegisterCC_EntryArg = -1;
1823 static gint ett_gsm_map_ss_CCBS_Data = -1;
1824 static gint ett_gsm_map_ss_ServiceIndicator = -1;
1825 static gint ett_gsm_map_ss_RegisterCC_EntryRes = -1;
1826 static gint ett_gsm_map_ss_EraseCC_EntryArg = -1;
1827 static gint ett_gsm_map_ss_EraseCC_EntryRes = -1;
1829 /* --- Module MAP-ER-DataTypes --- --- --- */
1831 static gint ett_gsm_map_er_RoamingNotAllowedParam = -1;
1832 static gint ett_gsm_map_er_CallBarredParam = -1;
1833 static gint ett_gsm_map_er_ExtensibleCallBarredParam = -1;
1834 static gint ett_gsm_map_er_CUG_RejectParam = -1;
1835 static gint ett_gsm_map_er_SS_IncompatibilityCause = -1;
1836 static gint ett_gsm_map_er_SM_DeliveryFailureCause = -1;
1837 static gint ett_gsm_map_er_AbsentSubscriberSM_Param = -1;
1838 static gint ett_gsm_map_er_SystemFailureParam = -1;
1839 static gint ett_gsm_map_er_ExtensibleSystemFailureParam = -1;
1840 static gint ett_gsm_map_er_DataMissingParam = -1;
1841 static gint ett_gsm_map_er_UnexpectedDataParam = -1;
1842 static gint ett_gsm_map_er_FacilityNotSupParam = -1;
1843 static gint ett_gsm_map_er_OR_NotAllowedParam = -1;
1844 static gint ett_gsm_map_er_UnknownSubscriberParam = -1;
1845 static gint ett_gsm_map_er_NumberChangedParam = -1;
1846 static gint ett_gsm_map_er_UnidentifiedSubParam = -1;
1847 static gint ett_gsm_map_er_IllegalSubscriberParam = -1;
1848 static gint ett_gsm_map_er_IllegalEquipmentParam = -1;
1849 static gint ett_gsm_map_er_BearerServNotProvParam = -1;
1850 static gint ett_gsm_map_er_TeleservNotProvParam = -1;
1851 static gint ett_gsm_map_er_TracingBufferFullParam = -1;
1852 static gint ett_gsm_map_er_NoRoamingNbParam = -1;
1853 static gint ett_gsm_map_er_AbsentSubscriberParam = -1;
1854 static gint ett_gsm_map_er_BusySubscriberParam = -1;
1855 static gint ett_gsm_map_er_NoSubscriberReplyParam = -1;
1856 static gint ett_gsm_map_er_ForwardingViolationParam = -1;
1857 static gint ett_gsm_map_er_ForwardingFailedParam = -1;
1858 static gint ett_gsm_map_er_ATI_NotAllowedParam = -1;
1859 static gint ett_gsm_map_er_ATSI_NotAllowedParam = -1;
1860 static gint ett_gsm_map_er_ATM_NotAllowedParam = -1;
1861 static gint ett_gsm_map_er_IllegalSS_OperationParam = -1;
1862 static gint ett_gsm_map_er_SS_NotAvailableParam = -1;
1863 static gint ett_gsm_map_er_SS_SubscriptionViolationParam = -1;
1864 static gint ett_gsm_map_er_InformationNotAvailableParam = -1;
1865 static gint ett_gsm_map_er_SubBusyForMT_SMS_Param = -1;
1866 static gint ett_gsm_map_er_MessageWaitListFullParam = -1;
1867 static gint ett_gsm_map_er_ResourceLimitationParam = -1;
1868 static gint ett_gsm_map_er_NoGroupCallNbParam = -1;
1869 static gint ett_gsm_map_er_IncompatibleTerminalParam = -1;
1870 static gint ett_gsm_map_er_ShortTermDenialParam = -1;
1871 static gint ett_gsm_map_er_LongTermDenialParam = -1;
1872 static gint ett_gsm_map_er_UnauthorizedRequestingNetwork_Param = -1;
1873 static gint ett_gsm_map_er_UnauthorizedLCSClient_Param = -1;
1874 static gint ett_gsm_map_er_PositionMethodFailure_Param = -1;
1875 static gint ett_gsm_map_er_UnknownOrUnreachableLCSClient_Param = -1;
1876 static gint ett_gsm_map_er_MM_EventNotSupported_Param = -1;
1877 static gint ett_gsm_map_er_TargetCellOutsideGCA_Param = -1;
1878 static gint ett_gsm_map_er_OngoingGroupCallParam = -1;
1880 /* --- Module MAP-SM-DataTypes --- --- --- */
1882 static gint ett_gsm_map_sm_RoutingInfoForSM_Arg = -1;
1883 static gint ett_gsm_map_sm_RoutingInfoForSM_Res = -1;
1884 static gint ett_gsm_map_sm_IP_SM_GW_Guidance = -1;
1885 static gint ett_gsm_map_sm_LocationInfoWithLMSI = -1;
1886 static gint ett_gsm_map_sm_Additional_Number = -1;
1887 static gint ett_gsm_map_sm_MO_ForwardSM_Arg = -1;
1888 static gint ett_gsm_map_sm_MO_ForwardSM_Res = -1;
1889 static gint ett_gsm_map_sm_MT_ForwardSM_Arg = -1;
1890 static gint ett_gsm_map_sm_MT_ForwardSM_Res = -1;
1891 static gint ett_gsm_map_sm_SM_RP_DA = -1;
1892 static gint ett_gsm_map_sm_SM_RP_OA = -1;
1893 static gint ett_gsm_map_sm_ReportSM_DeliveryStatusArg = -1;
1894 static gint ett_gsm_map_sm_ReportSM_DeliveryStatusRes = -1;
1895 static gint ett_gsm_map_sm_AlertServiceCentreArg = -1;
1896 static gint ett_gsm_map_sm_InformServiceCentreArg = -1;
1897 static gint ett_gsm_map_sm_MW_Status = -1;
1898 static gint ett_gsm_map_sm_ReadyForSM_Arg = -1;
1899 static gint ett_gsm_map_sm_ReadyForSM_Res = -1;
1900 static gint ett_gsm_map_sm_MT_ForwardSM_VGCS_Arg = -1;
1901 static gint ett_gsm_map_sm_MT_ForwardSM_VGCS_Res = -1;
1902 static gint ett_gsm_map_sm_DispatcherList = -1;
1903 static gint ett_gsm_map_sm_AdditionalDispatcherList = -1;
1905 /* --- Module MAP-OM-DataTypes --- --- --- */
1907 static gint ett_gsm_map_om_ActivateTraceModeArg = -1;
1908 static gint ett_gsm_map_om_MDT_Configuration = -1;
1909 static gint ett_gsm_map_om_AreaScope = -1;
1910 static gint ett_gsm_map_om_CGI_List = -1;
1911 static gint ett_gsm_map_om_E_UTRAN_CGI_List = -1;
1912 static gint ett_gsm_map_om_RoutingAreaId_List = -1;
1913 static gint ett_gsm_map_om_LocationAreaId_List = -1;
1914 static gint ett_gsm_map_om_TrackingAreaId_List = -1;
1915 static gint ett_gsm_map_om_TraceDepthList = -1;
1916 static gint ett_gsm_map_om_TraceNE_TypeList = -1;
1917 static gint ett_gsm_map_om_TraceInterfaceList = -1;
1918 static gint ett_gsm_map_om_MSC_S_InterfaceList = -1;
1919 static gint ett_gsm_map_om_MGW_InterfaceList = -1;
1920 static gint ett_gsm_map_om_SGSN_InterfaceList = -1;
1921 static gint ett_gsm_map_om_GGSN_InterfaceList = -1;
1922 static gint ett_gsm_map_om_RNC_InterfaceList = -1;
1923 static gint ett_gsm_map_om_BMSC_InterfaceList = -1;
1924 static gint ett_gsm_map_om_MME_InterfaceList = -1;
1925 static gint ett_gsm_map_om_SGW_InterfaceList = -1;
1926 static gint ett_gsm_map_om_PGW_InterfaceList = -1;
1927 static gint ett_gsm_map_om_ENB_InterfaceList = -1;
1928 static gint ett_gsm_map_om_TraceEventList = -1;
1929 static gint ett_gsm_map_om_MSC_S_EventList = -1;
1930 static gint ett_gsm_map_om_MGW_EventList = -1;
1931 static gint ett_gsm_map_om_SGSN_EventList = -1;
1932 static gint ett_gsm_map_om_GGSN_EventList = -1;
1933 static gint ett_gsm_map_om_BMSC_EventList = -1;
1934 static gint ett_gsm_map_om_MME_EventList = -1;
1935 static gint ett_gsm_map_om_SGW_EventList = -1;
1936 static gint ett_gsm_map_om_PGW_EventList = -1;
1937 static gint ett_gsm_map_om_TracePropagationList = -1;
1938 static gint ett_gsm_map_om_ActivateTraceModeRes = -1;
1939 static gint ett_gsm_map_om_DeactivateTraceModeArg = -1;
1940 static gint ett_gsm_map_om_DeactivateTraceModeRes = -1;
1942 /* --- Module MAP-MS-DataTypes --- --- --- */
1944 static gint ett_gsm_map_ms_UpdateLocationArg = -1;
1945 static gint ett_gsm_map_ms_VLR_Capability = -1;
1946 static gint ett_gsm_map_ms_SupportedRAT_Types = -1;
1947 static gint ett_gsm_map_ms_SuperChargerInfo = -1;
1948 static gint ett_gsm_map_ms_SupportedLCS_CapabilitySets = -1;
1949 static gint ett_gsm_map_ms_UpdateLocationRes = -1;
1950 static gint ett_gsm_map_ms_ADD_Info = -1;
1951 static gint ett_gsm_map_ms_PagingArea = -1;
1952 static gint ett_gsm_map_ms_LocationArea = -1;
1953 static gint ett_gsm_map_ms_CancelLocationArg_U = -1;
1954 static gint ett_gsm_map_ms_CancelLocationRes = -1;
1955 static gint ett_gsm_map_ms_PurgeMS_Arg_U = -1;
1956 static gint ett_gsm_map_ms_PurgeMS_Res = -1;
1957 static gint ett_gsm_map_ms_SendIdentificationArg = -1;
1958 static gint ett_gsm_map_ms_SendIdentificationRes_U = -1;
1959 static gint ett_gsm_map_ms_AuthenticationSetList = -1;
1960 static gint ett_gsm_map_ms_TripletList = -1;
1961 static gint ett_gsm_map_ms_QuintupletList = -1;
1962 static gint ett_gsm_map_ms_AuthenticationTriplet = -1;
1963 static gint ett_gsm_map_ms_AuthenticationQuintuplet = -1;
1964 static gint ett_gsm_map_ms_CurrentSecurityContext = -1;
1965 static gint ett_gsm_map_ms_GSM_SecurityContextData = -1;
1966 static gint ett_gsm_map_ms_UMTS_SecurityContextData = -1;
1967 static gint ett_gsm_map_ms_AuthenticationFailureReportArg = -1;
1968 static gint ett_gsm_map_ms_AuthenticationFailureReportRes = -1;
1969 static gint ett_gsm_map_ms_UpdateGprsLocationArg = -1;
1970 static gint ett_gsm_map_ms_EPS_Info = -1;
1971 static gint ett_gsm_map_ms_PDN_GW_Update = -1;
1972 static gint ett_gsm_map_ms_ISR_Information = -1;
1973 static gint ett_gsm_map_ms_SGSN_Capability = -1;
1974 static gint ett_gsm_map_ms_SupportedFeatures = -1;
1975 static gint ett_gsm_map_ms_UpdateGprsLocationRes = -1;
1976 static gint ett_gsm_map_ms_EPLMN_List = -1;
1977 static gint ett_gsm_map_ms_ForwardAccessSignalling_Arg_U = -1;
1978 static gint ett_gsm_map_ms_AllowedUMTS_Algorithms = -1;
1979 static gint ett_gsm_map_ms_PrepareHO_Arg_U = -1;
1980 static gint ett_gsm_map_ms_LCLS_Negotiation = -1;
1981 static gint ett_gsm_map_ms_LCLS_ConfigurationPreference = -1;
1982 static gint ett_gsm_map_ms_BSSMAP_ServiceHandoverList = -1;
1983 static gint ett_gsm_map_ms_BSSMAP_ServiceHandoverInfo = -1;
1984 static gint ett_gsm_map_ms_RadioResourceList = -1;
1985 static gint ett_gsm_map_ms_RadioResource = -1;
1986 static gint ett_gsm_map_ms_PrepareHO_Res_U = -1;
1987 static gint ett_gsm_map_ms_SelectedUMTS_Algorithms = -1;
1988 static gint ett_gsm_map_ms_ChosenRadioResourceInformation = -1;
1989 static gint ett_gsm_map_ms_PrepareSubsequentHO_Arg_U = -1;
1990 static gint ett_gsm_map_ms_PrepareSubsequentHO_Res_U = -1;
1991 static gint ett_gsm_map_ms_ProcessAccessSignalling_Arg_U = -1;
1992 static gint ett_gsm_map_ms_AoIPCodecsList = -1;
1993 static gint ett_gsm_map_ms_SupportedCodecsList = -1;
1994 static gint ett_gsm_map_ms_CodecList = -1;
1995 static gint ett_gsm_map_ms_SendEndSignal_Arg_U = -1;
1996 static gint ett_gsm_map_ms_SendEndSignal_Res = -1;
1997 static gint ett_gsm_map_ms_RelocationNumberList = -1;
1998 static gint ett_gsm_map_ms_RelocationNumber = -1;
1999 static gint ett_gsm_map_ms_SendAuthenticationInfoArg = -1;
2000 static gint ett_gsm_map_ms_Re_synchronisationInfo = -1;
2001 static gint ett_gsm_map_ms_SendAuthenticationInfoRes_U = -1;
2002 static gint ett_gsm_map_ms_EPS_AuthenticationSetList = -1;
2003 static gint ett_gsm_map_ms_EPC_AV = -1;
2004 static gint ett_gsm_map_ms_CheckIMEI_Arg = -1;
2005 static gint ett_gsm_map_ms_CheckIMEI_Res = -1;
2006 static gint ett_gsm_map_ms_RequestedEquipmentInfo = -1;
2007 static gint ett_gsm_map_ms_UESBI_Iu = -1;
2008 static gint ett_gsm_map_ms_InsertSubscriberDataArg = -1;
2009 static gint ett_gsm_map_ms_CSG_SubscriptionDataList = -1;
2010 static gint ett_gsm_map_ms_CSG_SubscriptionData = -1;
2011 static gint ett_gsm_map_ms_VPLMN_CSG_SubscriptionDataList = -1;
2012 static gint ett_gsm_map_ms_LIPA_AllowedAPNList = -1;
2013 static gint ett_gsm_map_ms_EPS_SubscriptionData = -1;
2014 static gint ett_gsm_map_ms_APN_ConfigurationProfile = -1;
2015 static gint ett_gsm_map_ms_EPS_DataList = -1;
2016 static gint ett_gsm_map_ms_APN_Configuration = -1;
2017 static gint ett_gsm_map_ms_EPS_QoS_Subscribed = -1;
2018 static gint ett_gsm_map_ms_AMBR = -1;
2019 static gint ett_gsm_map_ms_SpecificAPNInfoList = -1;
2020 static gint ett_gsm_map_ms_SpecificAPNInfo = -1;
2021 static gint ett_gsm_map_ms_Allocation_Retention_Priority = -1;
2022 static gint ett_gsm_map_ms_PDN_GW_Identity = -1;
2023 static gint ett_gsm_map_ms_AccessRestrictionData = -1;
2024 static gint ett_gsm_map_ms_LCSInformation = -1;
2025 static gint ett_gsm_map_ms_GMLC_List = -1;
2026 static gint ett_gsm_map_ms_GPRSDataList = -1;
2027 static gint ett_gsm_map_ms_PDP_Context = -1;
2028 static gint ett_gsm_map_ms_GPRSSubscriptionData = -1;
2029 static gint ett_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo = -1;
2030 static gint ett_gsm_map_ms_GPRS_CSI = -1;
2031 static gint ett_gsm_map_ms_GPRS_CamelTDPDataList = -1;
2032 static gint ett_gsm_map_ms_GPRS_CamelTDPData = -1;
2033 static gint ett_gsm_map_ms_LSADataList = -1;
2034 static gint ett_gsm_map_ms_LSAData = -1;
2035 static gint ett_gsm_map_ms_LSAInformation = -1;
2036 static gint ett_gsm_map_ms_SubscriberData = -1;
2037 static gint ett_gsm_map_ms_BearerServiceList = -1;
2038 static gint ett_gsm_map_ms_TeleserviceList = -1;
2039 static gint ett_gsm_map_ms_ODB_Data = -1;
2040 static gint ett_gsm_map_ms_ODB_GeneralData = -1;
2041 static gint ett_gsm_map_ms_ODB_HPLMN_Data = -1;
2042 static gint ett_gsm_map_ms_Ext_SS_InfoList = -1;
2043 static gint ett_gsm_map_ms_Ext_SS_Info = -1;
2044 static gint ett_gsm_map_ms_Ext_ForwInfo = -1;
2045 static gint ett_gsm_map_ms_Ext_ForwFeatureList = -1;
2046 static gint ett_gsm_map_ms_Ext_ForwFeature = -1;
2047 static gint ett_gsm_map_ms_Ext_CallBarInfo = -1;
2048 static gint ett_gsm_map_ms_Ext_CallBarFeatureList = -1;
2049 static gint ett_gsm_map_ms_Ext_CallBarringFeature = -1;
2050 static gint ett_gsm_map_ms_CUG_Info = -1;
2051 static gint ett_gsm_map_ms_CUG_SubscriptionList = -1;
2052 static gint ett_gsm_map_ms_CUG_Subscription = -1;
2053 static gint ett_gsm_map_ms_CUG_FeatureList = -1;
2054 static gint ett_gsm_map_ms_Ext_BasicServiceGroupList = -1;
2055 static gint ett_gsm_map_ms_CUG_Feature = -1;
2056 static gint ett_gsm_map_ms_Ext_SS_Data = -1;
2057 static gint ett_gsm_map_ms_LCS_PrivacyExceptionList = -1;
2058 static gint ett_gsm_map_ms_LCS_PrivacyClass = -1;
2059 static gint ett_gsm_map_ms_ExternalClientList = -1;
2060 static gint ett_gsm_map_ms_PLMNClientList = -1;
2061 static gint ett_gsm_map_ms_Ext_ExternalClientList = -1;
2062 static gint ett_gsm_map_ms_ExternalClient = -1;
2063 static gint ett_gsm_map_ms_ServiceTypeList = -1;
2064 static gint ett_gsm_map_ms_ServiceType = -1;
2065 static gint ett_gsm_map_ms_MOLR_List = -1;
2066 static gint ett_gsm_map_ms_MOLR_Class = -1;
2067 static gint ett_gsm_map_ms_ZoneCodeList = -1;
2068 static gint ett_gsm_map_ms_InsertSubscriberDataRes = -1;
2069 static gint ett_gsm_map_ms_DeleteSubscriberDataArg = -1;
2070 static gint ett_gsm_map_ms_SpecificCSI_Withdraw = -1;
2071 static gint ett_gsm_map_ms_GPRSSubscriptionDataWithdraw = -1;
2072 static gint ett_gsm_map_ms_EPS_SubscriptionDataWithdraw = -1;
2073 static gint ett_gsm_map_ms_ContextIdList = -1;
2074 static gint ett_gsm_map_ms_LSAInformationWithdraw = -1;
2075 static gint ett_gsm_map_ms_LSAIdentityList = -1;
2076 static gint ett_gsm_map_ms_BasicServiceList = -1;
2077 static gint ett_gsm_map_ms_DeleteSubscriberDataRes = -1;
2078 static gint ett_gsm_map_ms_VlrCamelSubscriptionInfo = -1;
2079 static gint ett_gsm_map_ms_MT_smsCAMELTDP_CriteriaList = -1;
2080 static gint ett_gsm_map_ms_MT_smsCAMELTDP_Criteria = -1;
2081 static gint ett_gsm_map_ms_TPDU_TypeCriterion = -1;
2082 static gint ett_gsm_map_ms_D_CSI = -1;
2083 static gint ett_gsm_map_ms_DP_AnalysedInfoCriteriaList = -1;
2084 static gint ett_gsm_map_ms_DP_AnalysedInfoCriterium = -1;
2085 static gint ett_gsm_map_ms_SS_CSI = -1;
2086 static gint ett_gsm_map_ms_SS_CamelData = -1;
2087 static gint ett_gsm_map_ms_SS_EventList = -1;
2088 static gint ett_gsm_map_ms_O_CSI = -1;
2089 static gint ett_gsm_map_ms_O_BcsmCamelTDPDataList = -1;
2090 static gint ett_gsm_map_ms_O_BcsmCamelTDPData = -1;
2091 static gint ett_gsm_map_ms_O_BcsmCamelTDPCriteriaList = -1;
2092 static gint ett_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList = -1;
2093 static gint ett_gsm_map_ms_O_BcsmCamelTDP_Criteria = -1;
2094 static gint ett_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria = -1;
2095 static gint ett_gsm_map_ms_DestinationNumberCriteria = -1;
2096 static gint ett_gsm_map_ms_DestinationNumberList = -1;
2097 static gint ett_gsm_map_ms_DestinationNumberLengthList = -1;
2098 static gint ett_gsm_map_ms_BasicServiceCriteria = -1;
2099 static gint ett_gsm_map_ms_O_CauseValueCriteria = -1;
2100 static gint ett_gsm_map_ms_T_CauseValueCriteria = -1;
2101 static gint ett_gsm_map_ms_SupportedCamelPhases = -1;
2102 static gint ett_gsm_map_ms_OfferedCamel4CSIs = -1;
2103 static gint ett_gsm_map_ms_OfferedCamel4Functionalities = -1;
2104 static gint ett_gsm_map_ms_SMS_CSI = -1;
2105 static gint ett_gsm_map_ms_SMS_CAMEL_TDP_DataList = -1;
2106 static gint ett_gsm_map_ms_SMS_CAMEL_TDP_Data = -1;
2107 static gint ett_gsm_map_ms_M_CSI = -1;
2108 static gint ett_gsm_map_ms_MG_CSI = -1;
2109 static gint ett_gsm_map_ms_MobilityTriggers = -1;
2110 static gint ett_gsm_map_ms_T_CSI = -1;
2111 static gint ett_gsm_map_ms_T_BcsmCamelTDPDataList = -1;
2112 static gint ett_gsm_map_ms_T_BcsmCamelTDPData = -1;
2113 static gint ett_gsm_map_ms_SendRoutingInfoForGprsArg = -1;
2114 static gint ett_gsm_map_ms_SendRoutingInfoForGprsRes = -1;
2115 static gint ett_gsm_map_ms_FailureReportArg = -1;
2116 static gint ett_gsm_map_ms_FailureReportRes = -1;
2117 static gint ett_gsm_map_ms_NoteMsPresentForGprsArg = -1;
2118 static gint ett_gsm_map_ms_NoteMsPresentForGprsRes = -1;
2119 static gint ett_gsm_map_ms_ResetArg = -1;
2120 static gint ett_gsm_map_ms_SendingNode_Number = -1;
2121 static gint ett_gsm_map_ms_RestoreDataArg = -1;
2122 static gint ett_gsm_map_ms_RestoreDataRes = -1;
2123 static gint ett_gsm_map_ms_VBSDataList = -1;
2124 static gint ett_gsm_map_ms_VGCSDataList = -1;
2125 static gint ett_gsm_map_ms_VoiceGroupCallData = -1;
2126 static gint ett_gsm_map_ms_AdditionalSubscriptions = -1;
2127 static gint ett_gsm_map_ms_VoiceBroadcastData = -1;
2128 static gint ett_gsm_map_ms_ProvideSubscriberInfoArg = -1;
2129 static gint ett_gsm_map_ms_ProvideSubscriberInfoRes = -1;
2130 static gint ett_gsm_map_ms_SubscriberInfo = -1;
2131 static gint ett_gsm_map_ms_MNPInfoRes = -1;
2132 static gint ett_gsm_map_ms_GPRSMSClass = -1;
2133 static gint ett_gsm_map_ms_RequestedInfo = -1;
2134 static gint ett_gsm_map_ms_RequestedNodes = -1;
2135 static gint ett_gsm_map_ms_LocationInformation = -1;
2136 static gint ett_gsm_map_ms_LocationInformationEPS = -1;
2137 static gint ett_gsm_map_ms_LocationInformationGPRS = -1;
2138 static gint ett_gsm_map_ms_UserCSGInformation = -1;
2139 static gint ett_gsm_map_ms_SubscriberState = -1;
2140 static gint ett_gsm_map_ms_PS_SubscriberState = -1;
2141 static gint ett_gsm_map_ms_PDP_ContextInfoList = -1;
2142 static gint ett_gsm_map_ms_PDP_ContextInfo = -1;
2143 static gint ett_gsm_map_ms_AnyTimeInterrogationArg = -1;
2144 static gint ett_gsm_map_ms_AnyTimeInterrogationRes = -1;
2145 static gint ett_gsm_map_ms_AnyTimeSubscriptionInterrogationArg = -1;
2146 static gint ett_gsm_map_ms_AnyTimeSubscriptionInterrogationRes = -1;
2147 static gint ett_gsm_map_ms_CallWaitingData = -1;
2148 static gint ett_gsm_map_ms_Ext_CwFeatureList = -1;
2149 static gint ett_gsm_map_ms_Ext_CwFeature = -1;
2150 static gint ett_gsm_map_ms_ClipData = -1;
2151 static gint ett_gsm_map_ms_ClirData = -1;
2152 static gint ett_gsm_map_ms_CallHoldData = -1;
2153 static gint ett_gsm_map_ms_EctData = -1;
2154 static gint ett_gsm_map_ms_RequestedSubscriptionInfo = -1;
2155 static gint ett_gsm_map_ms_MSISDN_BS_List = -1;
2156 static gint ett_gsm_map_ms_MSISDN_BS = -1;
2157 static gint ett_gsm_map_ms_CallForwardingData = -1;
2158 static gint ett_gsm_map_ms_CallBarringData = -1;
2159 static gint ett_gsm_map_ms_ODB_Info = -1;
2160 static gint ett_gsm_map_ms_CAMEL_SubscriptionInfo = -1;
2161 static gint ett_gsm_map_ms_AnyTimeModificationArg = -1;
2162 static gint ett_gsm_map_ms_ModificationRequestFor_CW_Info = -1;
2163 static gint ett_gsm_map_ms_ModificationRequestFor_CH_Info = -1;
2164 static gint ett_gsm_map_ms_ModificationRequestFor_ECT_Info = -1;
2165 static gint ett_gsm_map_ms_ModificationRequestFor_CLIR_Info = -1;
2166 static gint ett_gsm_map_ms_ModificationRequestFor_CLIP_Info = -1;
2167 static gint ett_gsm_map_ms_ModificationRequestFor_CSG = -1;
2168 static gint ett_gsm_map_ms_RequestedServingNode = -1;
2169 static gint ett_gsm_map_ms_ServingNode = -1;
2170 static gint ett_gsm_map_ms_AnyTimeModificationRes = -1;
2171 static gint ett_gsm_map_ms_ModificationRequestFor_CF_Info = -1;
2172 static gint ett_gsm_map_ms_ModificationRequestFor_CB_Info = -1;
2173 static gint ett_gsm_map_ms_ModificationRequestFor_ODB_data = -1;
2174 static gint ett_gsm_map_ms_ModificationRequestFor_CSI = -1;
2175 static gint ett_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data = -1;
2176 static gint ett_gsm_map_ms_NoteSubscriberDataModifiedArg = -1;
2177 static gint ett_gsm_map_ms_NoteSubscriberDataModifiedRes = -1;
2178 static gint ett_gsm_map_ms_NoteMM_EventArg = -1;
2179 static gint ett_gsm_map_ms_NoteMM_EventRes = -1;
2180 static gint ett_gsm_map_ms_Ext_SS_InfoFor_CSE = -1;
2181 static gint ett_gsm_map_ms_Ext_ForwardingInfoFor_CSE = -1;
2182 static gint ett_gsm_map_ms_Ext_CallBarringInfoFor_CSE = -1;
2183 static gint ett_gsm_map_ms_UpdateVcsgLocationArg = -1;
2184 static gint ett_gsm_map_ms_UpdateVcsgLocationRes = -1;
2185 static gint ett_gsm_map_ms_CancelVcsgLocationArg = -1;
2186 static gint ett_gsm_map_ms_CancelVcsgLocationRes = -1;
2188 /* --- Module MAP-CH-DataTypes --- --- --- */
2190 static gint ett_gsm_map_ch_CUG_CheckInfo = -1;
2191 static gint ett_gsm_map_ch_SendRoutingInfoArg = -1;
2192 static gint ett_gsm_map_ch_SuppressMTSS = -1;
2193 static gint ett_gsm_map_ch_SendRoutingInfoRes_U = -1;
2194 static gint ett_gsm_map_ch_AllowedServices = -1;
2195 static gint ett_gsm_map_ch_CCBS_Indicators = -1;
2196 static gint ett_gsm_map_ch_RoutingInfo = -1;
2197 static gint ett_gsm_map_ch_ForwardingData = -1;
2198 static gint ett_gsm_map_ch_ProvideRoamingNumberArg = -1;
2199 static gint ett_gsm_map_ch_ProvideRoamingNumberRes = -1;
2200 static gint ett_gsm_map_ch_ResumeCallHandlingArg = -1;
2201 static gint ett_gsm_map_ch_UU_Data = -1;
2202 static gint ett_gsm_map_ch_ResumeCallHandlingRes = -1;
2203 static gint ett_gsm_map_ch_CamelInfo = -1;
2204 static gint ett_gsm_map_ch_ExtendedRoutingInfo = -1;
2205 static gint ett_gsm_map_ch_CamelRoutingInfo = -1;
2206 static gint ett_gsm_map_ch_GmscCamelSubscriptionInfo = -1;
2207 static gint ett_gsm_map_ch_SetReportingStateArg = -1;
2208 static gint ett_gsm_map_ch_SetReportingStateRes = -1;
2209 static gint ett_gsm_map_ch_StatusReportArg = -1;
2210 static gint ett_gsm_map_ch_EventReportData = -1;
2211 static gint ett_gsm_map_ch_CallReportData = -1;
2212 static gint ett_gsm_map_ch_StatusReportRes = -1;
2213 static gint ett_gsm_map_ch_RemoteUserFreeArg = -1;
2214 static gint ett_gsm_map_ch_RemoteUserFreeRes = -1;
2215 static gint ett_gsm_map_ch_IST_AlertArg = -1;
2216 static gint ett_gsm_map_ch_IST_AlertRes = -1;
2217 static gint ett_gsm_map_ch_IST_CommandArg = -1;
2218 static gint ett_gsm_map_ch_IST_CommandRes = -1;
2219 static gint ett_gsm_map_ch_ReleaseResourcesArg = -1;
2220 static gint ett_gsm_map_ch_ReleaseResourcesRes = -1;
2222 /* --- Module MAP-LCS-DataTypes --- --- --- */
2224 static gint ett_gsm_map_lcs_RoutingInfoForLCS_Arg = -1;
2225 static gint ett_gsm_map_lcs_RoutingInfoForLCS_Res = -1;
2226 static gint ett_gsm_map_lcs_LCSLocationInfo = -1;
2227 static gint ett_gsm_map_lcs_ProvideSubscriberLocation_Arg = -1;
2228 static gint ett_gsm_map_lcs_LocationType = -1;
2229 static gint ett_gsm_map_lcs_DeferredLocationEventType = -1;
2230 static gint ett_gsm_map_lcs_LCS_ClientID = -1;
2231 static gint ett_gsm_map_lcs_LCSClientName = -1;
2232 static gint ett_gsm_map_lcs_LCSRequestorID = -1;
2233 static gint ett_gsm_map_lcs_LCS_QoS = -1;
2234 static gint ett_gsm_map_lcs_ResponseTime = -1;
2235 static gint ett_gsm_map_lcs_SupportedGADShapes = -1;
2236 static gint ett_gsm_map_lcs_LCSCodeword = -1;
2237 static gint ett_gsm_map_lcs_LCS_PrivacyCheck = -1;
2238 static gint ett_gsm_map_lcs_AreaEventInfo = -1;
2239 static gint ett_gsm_map_lcs_AreaDefinition = -1;
2240 static gint ett_gsm_map_lcs_AreaList = -1;
2241 static gint ett_gsm_map_lcs_Area = -1;
2242 static gint ett_gsm_map_lcs_PeriodicLDRInfo = -1;
2243 static gint ett_gsm_map_lcs_ReportingPLMNList = -1;
2244 static gint ett_gsm_map_lcs_PLMNList = -1;
2245 static gint ett_gsm_map_lcs_ReportingPLMN = -1;
2246 static gint ett_gsm_map_lcs_ProvideSubscriberLocation_Res = -1;
2247 static gint ett_gsm_map_lcs_SubscriberLocationReport_Arg = -1;
2248 static gint ett_gsm_map_lcs_Deferredmt_lrData = -1;
2249 static gint ett_gsm_map_lcs_ServingNodeAddress = -1;
2250 static gint ett_gsm_map_lcs_SubscriberLocationReport_Res = -1;
2252 /* --- Module MAP-GR-DataTypes --- --- --- */
2254 static gint ett_gsm_map_gr_PrepareGroupCallArg = -1;
2255 static gint ett_gsm_map_gr_PrepareGroupCallRes = -1;
2256 static gint ett_gsm_map_gr_SendGroupCallEndSignalArg = -1;
2257 static gint ett_gsm_map_gr_SendGroupCallEndSignalRes = -1;
2258 static gint ett_gsm_map_gr_ForwardGroupCallSignallingArg = -1;
2259 static gint ett_gsm_map_gr_ProcessGroupCallSignallingArg = -1;
2260 static gint ett_gsm_map_gr_StateAttributes = -1;
2261 static gint ett_gsm_map_gr_SendGroupCallInfoArg = -1;
2262 static gint ett_gsm_map_gr_SendGroupCallInfoRes = -1;
2264 /* --- Module MAP-DialogueInformation --- --- --- */
2266 static gint ett_gsm_map_dialogue_MAP_DialoguePDU = -1;
2267 static gint ett_gsm_map_dialogue_MAP_OpenInfo = -1;
2268 static gint ett_gsm_map_dialogue_MAP_AcceptInfo = -1;
2269 static gint ett_gsm_map_dialogue_MAP_CloseInfo = -1;
2270 static gint ett_gsm_map_dialogue_MAP_RefuseInfo = -1;
2271 static gint ett_gsm_map_dialogue_MAP_UserAbortInfo = -1;
2272 static gint ett_gsm_map_dialogue_MAP_UserAbortChoice = -1;
2273 static gint ett_gsm_map_dialogue_MAP_ProviderAbortInfo = -1;
2275 /* --- Module MAP-LocationServiceOperations --- --- --- */
2278 /* --- Module MAP-Group-Call-Operations --- --- --- */
2281 /* --- Module MAP-ShortMessageServiceOperations --- --- --- */
2284 /* --- Module MAP-SupplementaryServiceOperations --- --- --- */
2287 /* --- Module MAP-CallHandlingOperations --- --- --- */
2290 /* --- Module MAP-OperationAndMaintenanceOperations --- --- --- */
2293 /* --- Module MAP-MobileServiceOperations --- --- --- */
2296 /* --- Module MAP-Errors --- --- --- */
2299 /* --- Module MAP-Protocol --- --- --- */
2302 /* --- Module DummyMAP --- --- --- */
2304 static gint ett_gsm_old_Component = -1;
2305 static gint ett_gsm_old_Invoke = -1;
2306 static gint ett_gsm_old_ReturnResult = -1;
2307 static gint ett_gsm_old_T_resultretres = -1;
2308 static gint ett_gsm_old_ReturnError = -1;
2309 static gint ett_gsm_old_Reject = -1;
2310 static gint ett_gsm_old_T_invokeIDRej = -1;
2311 static gint ett_gsm_old_T_problem = -1;
2312 static gint ett_gsm_old_MAP_OPERATION = -1;
2313 static gint ett_gsm_old_MAP_ERROR = -1;
2314 static gint ett_gsm_old_Bss_APDU = -1;
2315 static gint ett_gsm_old_ProvideSIWFSNumberArg = -1;
2316 static gint ett_gsm_old_ProvideSIWFSNumberRes = -1;
2317 static gint ett_gsm_old_PurgeMSArgV2 = -1;
2318 static gint ett_gsm_old_PrepareHO_ArgOld = -1;
2319 static gint ett_gsm_old_PrepareHO_ResOld = -1;
2320 static gint ett_gsm_old_SendAuthenticationInfoResOld = -1;
2321 static gint ett_gsm_old_SendAuthenticationInfoResOld_item = -1;
2322 static gint ett_gsm_old_SendIdentificationResV2 = -1;
2323 static gint ett_gsm_old_TripletListold = -1;
2324 static gint ett_gsm_old_AuthenticationTriplet_v2 = -1;
2325 static gint ett_gsm_old_SIWFSSignallingModifyArg = -1;
2326 static gint ett_gsm_old_SIWFSSignallingModifyRes = -1;
2327 static gint ett_gsm_old_SecureTransportArg = -1;
2328 static gint ett_gsm_old_SecureTransportErrorParam = -1;
2329 static gint ett_gsm_old_SecureTransportRes = -1;
2330 static gint ett_gsm_old_SecurityHeader = -1;
2331 static gint ett_gsm_old_OriginalComponentIdentifier = -1;
2332 static gint ett_gsm_old_OperationCode = -1;
2333 static gint ett_gsm_old_ErrorCode = -1;
2334 static gint ett_gsm_old_PlmnContainer_U = -1;
2335 static gint ett_gsm_old_T_operatorSS_Code = -1;
2336 static gint ett_gsm_old_ForwardSM_Arg = -1;
2337 static gint ett_gsm_old_SM_RP_DAold = -1;
2338 static gint ett_gsm_old_SM_RP_OAold = -1;
2339 static gint ett_gsm_old_SendRoutingInfoArgV2 = -1;
2340 static gint ett_gsm_old_SendRoutingInfoResV2 = -1;
2341 static gint ett_gsm_old_BeginSubscriberActivityArg = -1;
2343 /* --- Module SS-DataTypes --- --- --- */
2345 static gint ett_gsm_ss_NotifySS_Arg = -1;
2346 static gint ett_gsm_ss_ForwardChargeAdviceArg = -1;
2347 static gint ett_gsm_ss_ChargingInformation = -1;
2348 static gint ett_gsm_ss_ForwardCUG_InfoArg = -1;
2349 static gint ett_gsm_ss_ECT_Indicator = -1;
2350 static gint ett_gsm_ss_NameIndicator = -1;
2351 static gint ett_gsm_ss_Name = -1;
2352 static gint ett_gsm_ss_NameSet = -1;
2353 static gint ett_gsm_ss_RDN = -1;
2354 static gint ett_gsm_ss_RemotePartyNumber = -1;
2355 static gint ett_gsm_ss_AccessRegisterCCEntryArg = -1;
2356 static gint ett_gsm_ss_CallDeflectionArg = -1;
2357 static gint ett_gsm_ss_UserUserServiceArg = -1;
2358 static gint ett_gsm_ss_LocationNotificationArg = -1;
2359 static gint ett_gsm_ss_LocationNotificationRes = -1;
2360 static gint ett_gsm_ss_LCS_MOLRArg = -1;
2361 static gint ett_gsm_ss_MultiplePositioningProtocolPDUs = -1;
2362 static gint ett_gsm_ss_LCS_MOLRRes = -1;
2363 static gint ett_gsm_ss_LCS_AreaEventRequestArg = -1;
2364 static gint ett_gsm_ss_LCS_AreaEventReportArg = -1;
2365 static gint ett_gsm_ss_LCS_AreaEventCancellationArg = -1;
2366 static gint ett_gsm_ss_LCS_PeriodicLocationRequestArg = -1;
2367 static gint ett_gsm_ss_LCS_PeriodicLocationRequestRes = -1;
2368 static gint ett_gsm_ss_LCS_LocationUpdateArg = -1;
2369 static gint ett_gsm_ss_LCS_LocationUpdateRes = -1;
2370 static gint ett_gsm_ss_LCS_PeriodicLocationCancellationArg = -1;
2372 /* --- Module SS-Operations --- --- --- */
2375 /* --- Module EricssonMAP --- --- --- */
2377 static gint ett_gsm_map_ericsson_EnhancedCheckIMEI_Arg = -1;
2379 /*--- End of included file: packet-gsm_map-ett.c ---*/
2380 #line 185 "../../asn1/gsm_map/packet-gsm_map-template.c"
2382 static expert_field ei_gsm_map_unknown_sequence3 = EI_INIT;
2383 static expert_field ei_gsm_map_unknown_sequence = EI_INIT;
2384 static expert_field ei_gsm_map_unknown_parameter = EI_INIT;
2385 static expert_field ei_gsm_map_unknown_invokeData = EI_INIT;
2387 static dissector_handle_t gsm_sms_handle; /* SMS TPDU */
2388 static dissector_handle_t data_handle;
2389 static dissector_handle_t ranap_handle;
2390 static dissector_handle_t dtap_handle;
2391 static dissector_handle_t map_handle;
2392 static dissector_table_t map_prop_arg_opcode_table; /* prorietary operation codes */
2393 static dissector_table_t map_prop_res_opcode_table; /* prorietary operation codes */
2394 static dissector_table_t map_prop_err_opcode_table; /* prorietary operation codes */
2395 /* Preferenc settings default */
2396 #define MAX_SSN 254
2397 static range_t *global_ssn_range;
2398 #define APPLICATON_CONTEXT_FROM_TRACE 0
2399 static gint pref_application_context_version = APPLICATON_CONTEXT_FROM_TRACE;
2400 static gboolean pref_ericsson_proprietary_ext = FALSE;
2402 /* Global variables */
2403 static guint32 opcode=0;
2404 static guint32 errorCode;
2405 static proto_tree *top_tree;
2406 static int application_context_version;
2407 static guint ProtocolId;
2408 static guint AccessNetworkProtocolId;
2409 static const char *obj_id = NULL;
2410 static int gsm_map_tap = -1;
2412 #define SMS_ENCODING_NOT_SET 0
2413 #define SMS_ENCODING_7BIT 1
2414 #define SMS_ENCODING_8BIT 2
2415 #define SMS_ENCODING_UCS2 3
2416 #define SMS_ENCODING_7BIT_LANG 4
2417 #define SMS_ENCODING_UCS2_LANG 5
2419 static guint8 sms_encoding;
2421 /* Forward declarations */
2422 static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
2423 static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
2424 static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
2425 const gchar* gsm_map_opr_code(guint32 val);
2427 /* Value strings */
2429 const value_string gsm_map_PDP_Type_Organisation_vals[] = {
2430 { 0, "ETSI" },
2431 { 1, "IETF" },
2432 { 0, NULL }
2435 const value_string gsm_map_ietf_defined_pdp_vals[] = {
2436 { 0x21, "IPv4 Address" },
2437 { 0x57, "IPv6 Address" },
2438 { 0, NULL }
2441 const value_string gsm_map_etsi_defined_pdp_vals[] = {
2442 { 1, "PPP" },
2443 { 0, NULL }
2446 static const value_string gsm_map_tag_vals[] = {
2447 { 0x4, "Bearer Capability" },
2448 { 0, NULL }
2451 static const value_string gsm_map_disc_par_vals[] = {
2452 { 0, "Not Transparent" },
2453 { 1, "Transparent" },
2454 { 0, NULL }
2457 static const value_string gsm_map_ericsson_locationInformation_rat_vals[] = {
2458 { 0x0, "GSM" },
2459 { 0x1, "UMTS" },
2460 { 0x2, "LTE" },
2461 { 0xf, "No information" },
2462 { 0, NULL }
2465 /* ITU-T Q.763 (12/1999)
2466 * 3.30 Location number
2468 /* b) Nature of address indicator */
2469 static const range_string gsm_map_na_vals[] = {
2470 { 0, 0, "spare" },
2471 { 1, 1, "reserved for subscriber number (national use)" },
2472 { 2, 2, "reserved for unknown (national use)" },
2473 { 3, 3, "national (significant) number (national use)" },
2474 { 4, 4, "international number" },
2475 { 5, 0x6f, "spare" },
2476 { 0x70, 0x7e, "spare" },
2477 { 0x70, 0x7e, "reserved for national use" },
2478 { 0x7f, 0x7f, "spare" },
2479 { 0, 0, NULL }
2482 /* d) Numbering plan indicator */
2483 static const value_string gsm_map_np_vals[] = {
2484 { 0, "spare" },
2485 { 1, "ISDN (telephony) numbering plan (ITU-T Recommendation E.164)" },
2486 { 2, "spare" },
2487 { 3, "Data numbering plan (ITU-T Recommendation X.121) (national use)" },
2488 { 4, "Telex numbering plan (ITU-T Recommendation F.69) (national use)" },
2489 { 5, "private numbering plan" },
2490 { 6, "reserved for national use" },
2491 { 7, "spare" },
2492 { 0, NULL }
2495 * e) Address presentation restricted indicator
2497 static const value_string gsm_map_addr_pres_rest_vals[] = {
2498 { 0, "presentation allowed" },
2499 { 1, "presentation restricted" },
2500 { 2, "address not available (national use)" },
2501 { 3, "spare" },
2502 { 0, NULL }
2505 /* f) Screening indicator */
2506 static const value_string gsm_map_screening_ind_vals[] = {
2507 { 0, "reserved" },
2508 { 1, "user provided, verified and passed" },
2509 { 2, "reserved" },
2510 { 3, "network provided" },
2511 { 0, NULL }
2514 const char *
2515 unpack_digits(tvbuff_t *tvb, int offset) {
2517 int length;
2518 guint8 octet;
2519 int i=0;
2520 char *digit_str;
2522 length = tvb_length(tvb);
2523 if (length < offset)
2524 return "";
2525 digit_str = (char *)wmem_alloc(wmem_packet_scope(), (length - offset)*2+1);
2527 while ( offset < length ){
2529 octet = tvb_get_guint8(tvb,offset);
2530 digit_str[i] = ((octet & 0x0f) + '0');
2531 i++;
2534 * unpack second value in byte
2536 octet = octet >> 4;
2538 if (octet == 0x0f) /* odd number bytes - hit filler */
2539 break;
2541 digit_str[i] = ((octet & 0x0f) + '0');
2542 i++;
2543 offset++;
2546 digit_str[i]= '\0';
2547 return digit_str;
2550 /* returns value in kb/s */
2551 static guint
2552 gsm_map_calc_bitrate(guint8 value){
2554 guint8 granularity;
2555 guint returnvalue;
2557 if (value == 0xff)
2558 return 0;
2560 granularity = value >> 6;
2561 returnvalue = value & 0x7f;
2562 switch (granularity){
2563 case 0:
2564 break;
2565 case 1:
2566 returnvalue = ((returnvalue - 0x40) << 3)+64;
2567 break;
2568 case 2:
2569 returnvalue = (returnvalue << 6)+576;
2570 break;
2571 case 3:
2572 returnvalue = (returnvalue << 6)+576;
2573 break;
2575 return returnvalue;
2579 static void
2580 dissect_gsm_map_ext_qos_subscribed(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx){
2581 int offset = 0;
2582 proto_tree *subtree;
2583 guint8 octet;
2584 guint16 value;
2586 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ext_qos_subscribed);
2587 /* OCTET 1:
2588 Allocation/Retention Priority (This octet encodes each priority level defined in
2589 23.107 as the binary value of the priority level, declaration in 29.060)
2590 Octets 2-9 are coded according to 3GPP TS 24.008[35] Quality of Service Octets
2591 6-13.
2593 /* Allocation/Retention Priority */
2594 proto_tree_add_item(subtree, hf_gsm_map_ext_qos_subscribed_pri, tvb, offset, 1, ENC_BIG_ENDIAN);
2595 offset++;
2597 /* Quality of Service Octets 6-13.( Octet 2 - 9 Here) */
2599 /* Traffic class, octet 6 (see 3GPP TS 23.107) Bits 8 7 6 */
2600 proto_tree_add_item(subtree, hf_gsm_map_qos_traffic_cls, tvb, offset, 1, ENC_BIG_ENDIAN);
2601 /* Delivery order, octet 6 (see 3GPP TS 23.107) Bits 5 4 */
2602 proto_tree_add_item(subtree, hf_gsm_map_qos_del_order, tvb, offset, 1, ENC_BIG_ENDIAN);
2603 /* Delivery of erroneous SDUs, octet 6 (see 3GPP TS 23.107) Bits 3 2 1 */
2604 proto_tree_add_item(subtree, hf_gsm_map_qos_del_of_err_sdu, tvb, offset, 1, ENC_BIG_ENDIAN);
2605 offset++;
2607 /* Maximum SDU size, octet 7 (see 3GPP TS 23.107) */
2608 octet = tvb_get_guint8(tvb,offset);
2609 switch (octet){
2610 case 0:
2611 proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Maximum SDU size/Reserved");
2612 break;
2613 case 0x93:
2614 value = 1502;
2615 proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
2616 break;
2617 case 0x98:
2618 value = 1510;
2619 proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
2620 break;
2621 case 0x99:
2622 value = 1532;
2623 proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
2624 break;
2625 default:
2626 if (octet<0x97){
2627 value = octet * 10;
2628 proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
2629 }else{
2630 proto_tree_add_text(subtree, tvb, offset, 1, "Maximum SDU size value 0x%x not defined in TS 24.008",octet);
2633 offset++;
2635 /* Maximum bit rate for uplink, octet 8 */
2636 octet = tvb_get_guint8(tvb,offset);
2637 if (octet == 0 ){
2638 proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Maximum bit rate for uplink/Reserved" );
2639 }else{
2640 proto_tree_add_uint(subtree, hf_gsm_map_max_brate_ulink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
2642 offset++;
2643 /* Maximum bit rate for downlink, octet 9 (see 3GPP TS 23.107) */
2644 octet = tvb_get_guint8(tvb,offset);
2645 if (octet == 0 ){
2646 proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Maximum bit rate for downlink/Reserved" );
2647 }else{
2648 proto_tree_add_uint(subtree, hf_gsm_map_max_brate_dlink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
2650 offset++;
2651 /* Residual Bit Error Rate (BER), octet 10 (see 3GPP TS 23.107) Bits 8 7 6 5 */
2652 proto_tree_add_item(subtree, hf_gsm_map_qos_ber, tvb, offset, 1, ENC_BIG_ENDIAN);
2653 /* SDU error ratio, octet 10 (see 3GPP TS 23.107) */
2654 proto_tree_add_item(subtree, hf_gsm_map_qos_sdu_err_rat, tvb, offset, 1, ENC_BIG_ENDIAN);
2655 offset++;
2657 /* Transfer delay, octet 11 (See 3GPP TS 23.107) Bits 8 7 6 5 4 3 */
2658 proto_tree_add_item(subtree, hf_gsm_map_qos_transfer_delay, tvb, offset, 1, ENC_BIG_ENDIAN);
2659 /* Traffic handling priority, octet 11 (see 3GPP TS 23.107) Bits 2 1 */
2660 proto_tree_add_item(subtree, hf_gsm_map_qos_traff_hdl_pri, tvb, offset, 1, ENC_BIG_ENDIAN);
2661 offset++;
2663 /* Guaranteed bit rate for uplink, octet 12 (See 3GPP TS 23.107)
2664 Coding is identical to that of Maximum bit rate for uplink.
2666 octet = tvb_get_guint8(tvb,offset);
2667 if (octet == 0 ){
2668 proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Guaranteed bit rate for uplink/Reserved" );
2669 }else{
2670 proto_tree_add_uint(subtree, hf_gsm_map_guaranteed_max_brate_ulink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
2672 offset++;
2674 /* Guaranteed bit rate for downlink, octet 13(See 3GPP TS 23.107)
2675 Coding is identical to that of Maximum bit rate for uplink.
2677 octet = tvb_get_guint8(tvb,offset);
2678 if (octet == 0 ){
2679 proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Guaranteed bit rate for downlink/Reserved" );
2680 }else{
2681 proto_tree_add_uint(subtree, hf_gsm_map_guaranteed_max_brate_dlink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
2686 #define ELLIPSOID_POINT 0
2687 #define ELLIPSOID_POINT_WITH_UNCERT_CIRC 1
2688 #define ELLIPSOID_POINT_WITH_UNCERT_ELLIPSE 3
2689 #define POLYGON 5
2690 #define ELLIPSOID_POINT_WITH_ALT 8
2691 #define ELLIPSOID_POINT_WITH_ALT_AND_UNCERT_ELLIPSOID 9
2692 #define ELLIPSOID_ARC 10
2694 4 3 2 1
2695 0 0 0 0 Ellipsoid Point
2696 0 0 0 1 Ellipsoid point with uncertainty Circle
2697 0 0 1 1 Ellipsoid point with uncertainty Ellipse
2698 0 1 0 1 Polygon
2699 1 0 0 0 Ellipsoid point with altitude
2700 1 0 0 1 Ellipsoid point with altitude and uncertainty Ellipsoid
2701 1 0 1 0 Ellipsoid Arc
2702 other values reserved for future use
2705 /* TS 23 032 Table 2a: Coding of Type of Shape */
2706 static const value_string type_of_shape_vals[] = {
2707 { ELLIPSOID_POINT, "Ellipsoid Point"},
2708 { ELLIPSOID_POINT_WITH_UNCERT_CIRC, "Ellipsoid point with uncertainty Circle"},
2709 { ELLIPSOID_POINT_WITH_UNCERT_ELLIPSE, "Ellipsoid point with uncertainty Ellipse"},
2710 { POLYGON, "Polygon"},
2711 { ELLIPSOID_POINT_WITH_ALT, "Ellipsoid point with altitude"},
2712 { ELLIPSOID_POINT_WITH_ALT_AND_UNCERT_ELLIPSOID, "Ellipsoid point with altitude and uncertainty Ellipsoid"},
2713 { ELLIPSOID_ARC, "Ellipsoid Arc"},
2714 { 0, NULL }
2717 /* 3GPP TS 23.032 7.3.1 */
2718 static const value_string sign_of_latitude_vals[] = {
2719 { 0, "North"},
2720 { 1, "South"},
2721 { 0, NULL }
2724 static const value_string dir_of_alt_vals[] = {
2725 { 0, "Altitude expresses height"},
2726 { 1, "Altitude expresses depth"},
2727 { 0, NULL }
2730 static const value_string gsm_map_cbs_data_coding_scheme_coding_grp_vals[] = {
2731 { 0, "Coding Group 0(Language using the GSM 7 bit default alphabet)" },
2732 { 1, "Coding Group 1" },
2733 { 2, "Coding Group 2" },
2734 { 3, "Coding Group 3" },
2735 { 4, "General Data Coding indication" },
2736 { 5, "General Data Coding indication" },
2737 { 6, "General Data Coding indication" },
2738 { 7, "General Data Coding indication" },
2739 { 8, "Reserved" },
2740 { 9, "Message with User Data Header (UDH) structure" },
2741 { 10,"Reserved" },
2742 { 11,"Reserved" },
2743 { 12,"Reserved" },
2744 { 13,"Reserved" },
2745 { 14,"Defined by the WAP Forum" },
2746 { 15,"Data coding / message handling" },
2747 { 0, NULL}
2749 static value_string_ext gsm_map_cbs_data_coding_scheme_coding_grp_vals_ext = VALUE_STRING_EXT_INIT(gsm_map_cbs_data_coding_scheme_coding_grp_vals);
2751 /* Coding group 0
2752 * Bits 3..0 indicate the language:
2754 static const value_string gsm_map_cbs_coding_grp0_lang_vals[] = {
2755 { 0, "German"},
2756 { 1, "English"},
2757 { 2, "Italian"},
2758 { 3, "French"},
2759 { 4, "Spanish"},
2760 { 5, "Dutch"},
2761 { 6, "Swedish"},
2762 { 7, "Danish"},
2763 { 8, "Portuguese"},
2764 { 9, "Finnish"},
2765 { 10, "Norwegian"},
2766 { 11, "Greek"},
2767 { 12, "Turkish"},
2768 { 13, "Hungarian"},
2769 { 14, "Polish"},
2770 { 15, "Language unspecified"},
2771 { 0, NULL }
2773 static value_string_ext gsm_map_cbs_coding_grp0_lang_vals_ext = VALUE_STRING_EXT_INIT(gsm_map_cbs_coding_grp0_lang_vals);
2775 static const value_string gsm_map_cbs_coding_grp1_lang_vals[] = {
2776 { 0, "GSM 7 bit default alphabet; message preceded by language indication"},
2777 { 1, "UCS2; message preceded by language indication"},
2778 { 2, "Reserved"},
2779 { 3, "Reserved"},
2780 { 4, "Reserved"},
2781 { 5, "Reserved"},
2782 { 6, "Reserved"},
2783 { 7, "Reserved"},
2784 { 8, "Reserved"},
2785 { 9, "Reserved"},
2786 { 10, "Reserved"},
2787 { 11, "Reserved"},
2788 { 12, "Reserved"},
2789 { 13, "Reserved"},
2790 { 14, "Reserved"},
2791 { 15, "Reserved"},
2792 { 0, NULL }
2794 static value_string_ext gsm_map_cbs_coding_grp1_lang_vals_ext = VALUE_STRING_EXT_INIT(gsm_map_cbs_coding_grp1_lang_vals);
2796 static const value_string gsm_map_cbs_coding_grp2_lang_vals[] = {
2797 { 0, "Czech"},
2798 { 1, "Hebrew"},
2799 { 2, "Arabic"},
2800 { 3, "Russian"},
2801 { 4, "Icelandic"},
2802 { 5, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2803 { 6, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2804 { 7, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2805 { 8, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2806 { 9, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2807 { 10, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2808 { 11, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2809 { 12, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2810 { 13, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2811 { 14, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2812 { 15, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2813 { 0, NULL }
2815 static value_string_ext gsm_map_cbs_coding_grp2_lang_vals_ext = VALUE_STRING_EXT_INIT(gsm_map_cbs_coding_grp2_lang_vals);
2817 static const value_string gsm_map_cbs_coding_grp3_lang_vals[] = {
2818 { 0, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2819 { 1, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2820 { 2, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2821 { 3, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2822 { 4, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2823 { 5, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2824 { 6, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2825 { 7, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2826 { 8, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2827 { 9, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2828 { 10, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2829 { 11, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2830 { 12, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2831 { 13, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2832 { 14, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2833 { 15, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2834 { 0, NULL }
2836 static value_string_ext gsm_map_cbs_coding_grp3_lang_vals_ext = VALUE_STRING_EXT_INIT(gsm_map_cbs_coding_grp3_lang_vals);
2838 static const true_false_string gsm_map_cbs_coding_grp4_7_comp_vals = {
2839 "The text is compressed using the compression algorithm defined in 3GPP TS 23.042",
2840 "The text is uncompressed"
2843 static const true_false_string gsm_map_cbs_coding_grp4_7_class_ind_vals = {
2844 "Bits 1 to 0 have a message class meaning",
2845 "Bits 1 to 0 are reserved and have no message class meaning"
2848 /* Bits 3 and 2 indicate the character set being used, as follows: */
2850 static const value_string gsm_map_cbs_coding_grp4_7_char_set_vals[] = {
2851 { 0, "GSM 7 bit default alphabet"},
2852 { 1, "8 bit data"},
2853 { 2, "UCS2 (16 bit)"},
2854 { 3, "Reserved"},
2855 { 0, NULL }
2858 static const value_string gsm_map_cbs_coding_grp4_7_class_vals[] = {
2859 { 0, "Class 0"},
2860 { 1, "Class 1 Default meaning: ME-specific"},
2861 { 2, "Class 2 (U)SIM specific message"},
2862 { 3, "Class 3 Default meaning: TE-specific (see 3GPP TS 27.005"},
2863 { 0, NULL }
2866 static const value_string gsm_map_cbs_coding_grp15_mess_code_vals[] = {
2867 { 0, "GSM 7 bit default alphabet"},
2868 { 1, "8 bit data"},
2869 { 0, NULL }
2872 static const value_string gsm_map_cbs_coding_grp15_class_vals[] = {
2873 { 0, "GSM 7 bit default alphabet"},
2874 { 1, "8 bit data"},
2875 { 0, NULL }
2879 /* 3GPP TS 23.038 version 7.0.0 Release 7 */
2880 guint8
2881 dissect_cbs_data_coding_scheme(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint16 offset)
2883 guint8 octet;
2884 guint8 coding_grp;
2885 guint8 character_set;
2887 octet = tvb_get_guint8(tvb,offset);
2888 coding_grp = octet >>4;
2889 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp, tvb, offset, 1, ENC_BIG_ENDIAN);
2891 sms_encoding = SMS_ENCODING_NOT_SET;
2892 switch (coding_grp){
2893 case 0:
2894 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp0_lang, tvb, offset, 1, ENC_BIG_ENDIAN);
2895 sms_encoding = SMS_ENCODING_7BIT;
2896 break;
2897 case 1:
2898 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp1_lang, tvb, offset, 1, ENC_BIG_ENDIAN);
2899 if ((octet & 0x0f)== 0){
2900 sms_encoding = SMS_ENCODING_7BIT_LANG;
2901 }else{
2902 sms_encoding = SMS_ENCODING_UCS2_LANG;
2904 break;
2905 case 2:
2906 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp2_lang, tvb, offset, 1, ENC_BIG_ENDIAN);
2907 sms_encoding = SMS_ENCODING_7BIT;
2908 break;
2909 case 3:
2910 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp3_lang, tvb, offset, 1, ENC_BIG_ENDIAN);
2911 sms_encoding = SMS_ENCODING_7BIT;
2912 break;
2913 /* Coding_grp 01xx */
2914 case 4:
2915 /* FALLTHRU */
2916 case 5:
2917 /* FALLTHRU */
2918 case 6:
2919 /* FALLTHRU */
2920 case 7:
2921 /* FALLTHRU */
2922 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_comp, tvb, offset, 1, ENC_BIG_ENDIAN);
2923 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class_ind, tvb, offset, 1, ENC_BIG_ENDIAN);
2924 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_char_set, tvb, offset, 1, ENC_BIG_ENDIAN);
2925 if ((octet & 0x10)== 0x10){
2926 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class, tvb, offset, 1, ENC_BIG_ENDIAN);
2928 /* Bits 3 and 2 indicate the character set being used, */
2929 character_set = (octet&0x0c)>>2;
2930 switch (character_set){
2931 case 0:
2932 /* GSM 7 bit default alphabet */
2933 sms_encoding = SMS_ENCODING_7BIT;
2934 break;
2935 case 1:
2936 /* 8 bit data */
2937 sms_encoding = SMS_ENCODING_8BIT;
2938 break;
2939 case 2:
2940 /* UCS2 (16 bit) */
2941 sms_encoding = SMS_ENCODING_UCS2;
2942 break;
2943 case 3:
2944 /* Reserved */
2945 sms_encoding = SMS_ENCODING_NOT_SET;
2946 break;
2947 default:
2948 break;
2950 break;
2951 case 8:
2952 /* Reserved coding groups */
2953 break;
2954 case 9:
2955 /* Message with User Data Header (UDH) structure:*/
2956 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_char_set, tvb, offset, 1, ENC_BIG_ENDIAN);
2957 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class, tvb, offset, 1, ENC_BIG_ENDIAN);
2958 character_set = (octet&0x0c)>>2;
2959 switch (character_set){
2960 case 0:
2961 /* GSM 7 bit default alphabet */
2962 sms_encoding = SMS_ENCODING_7BIT;
2963 break;
2964 case 1:
2965 /* 8 bit data */
2966 sms_encoding = SMS_ENCODING_8BIT;
2967 break;
2968 case 2:
2969 /* UCS2 (16 bit) */
2970 sms_encoding = SMS_ENCODING_UCS2;
2971 break;
2972 case 3:
2973 /* Reserved */
2974 sms_encoding = SMS_ENCODING_NOT_SET;
2975 break;
2976 default:
2977 break;
2979 break;
2980 case 10:
2981 /* FALLTHRU */
2982 case 11:
2983 /* FALLTHRU */
2984 case 12:
2985 /* FALLTHRU */
2986 case 13:
2987 /* FALLTHRU */
2988 /* 1010..1101 Reserved coding groups */
2989 break;
2990 case 14:
2991 /* Defined by the WAP Forum
2992 * "Wireless Datagram Protocol Specification", Wireless Application Protocol Forum Ltd.
2994 break;
2995 case 15:
2996 /* Data coding / message handling */
2997 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp15_mess_code, tvb, offset, 1, ENC_BIG_ENDIAN);
2998 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp15_class, tvb, offset, 1, ENC_BIG_ENDIAN);
2999 character_set = (octet&0x04)>>2;
3000 if (character_set == 0){
3001 sms_encoding = SMS_ENCODING_7BIT;
3002 }else{
3003 sms_encoding = SMS_ENCODING_8BIT;
3005 break;
3006 default:
3007 break;
3010 return sms_encoding;
3012 void
3013 dissect_gsm_map_msisdn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
3015 const char *digit_str;
3016 guint8 octet;
3017 guint8 na;
3018 guint8 np;
3020 proto_tree_add_item(tree, hf_gsm_map_extension, tvb, 0,1,ENC_BIG_ENDIAN);
3021 proto_tree_add_item(tree, hf_gsm_map_nature_of_number, tvb, 0,1,ENC_BIG_ENDIAN);
3022 proto_tree_add_item(tree, hf_gsm_map_number_plan, tvb, 0,1,ENC_BIG_ENDIAN);
3024 if(tvb_length(tvb)==1)
3025 return;
3027 digit_str = unpack_digits(tvb, 1);
3029 proto_tree_add_string(tree, hf_gsm_map_address_digits, tvb, 1, -1, digit_str);
3031 octet = tvb_get_guint8(tvb,0);
3032 na = (octet & 0x70)>>4;
3033 np = octet & 0x0f;
3034 if ((na == 1) && (np==1))/*International Number & E164*/
3035 dissect_e164_cc(tvb, tree, 1, TRUE);
3036 else if(np==6)
3037 dissect_e212_mcc_mnc_in_address(tvb, pinfo, tree, 1);
3042 /*--- Included file: packet-gsm_map-fn.c ---*/
3043 #line 1 "../../asn1/gsm_map/packet-gsm_map-fn.c"
3045 /* --- Module MAP-SS-Code --- --- --- */
3050 dissect_gsm_map_SS_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3051 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3052 NULL);
3054 return offset;
3058 /* --- Module MAP-BS-Code --- --- --- */
3062 static int
3063 dissect_gsm_map_BearerServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3064 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3065 NULL);
3067 return offset;
3072 static int
3073 dissect_gsm_map_Ext_BearerServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3074 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3075 NULL);
3077 return offset;
3081 /* --- Module MAP-TS-Code --- --- --- */
3085 static int
3086 dissect_gsm_map_TeleserviceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3087 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3088 NULL);
3090 return offset;
3095 static int
3096 dissect_gsm_map_Ext_TeleserviceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3097 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3098 NULL);
3100 return offset;
3104 /* --- Module MAP-ExtensionDataTypes --- --- --- */
3108 static int
3109 dissect_gsm_map_T_extId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3110 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &obj_id);
3112 return offset;
3117 static int
3118 dissect_gsm_map_T_extType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3119 #line 203 "../../asn1/gsm_map/gsm_map.cnf"
3120 proto_tree_add_text(tree, tvb, offset, -1, "Extension Data");
3121 if (obj_id){
3122 offset=call_ber_oid_callback(obj_id, tvb, offset, actx->pinfo, tree, NULL);
3123 }else{
3124 call_dissector(data_handle, tvb, actx->pinfo, tree);
3125 offset = tvb_length_remaining(tvb,offset);
3130 return offset;
3134 static const ber_sequence_t gsm_map_PrivateExtension_sequence[] = {
3135 { &hf_gsm_map_extId , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_map_T_extId },
3136 { &hf_gsm_map_extType , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_T_extType },
3137 { NULL, 0, 0, 0, NULL }
3140 static int
3141 dissect_gsm_map_PrivateExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3142 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3143 gsm_map_PrivateExtension_sequence, hf_index, ett_gsm_map_PrivateExtension);
3145 return offset;
3149 static const ber_sequence_t gsm_map_PrivateExtensionList_sequence_of[1] = {
3150 { &hf_gsm_map_PrivateExtensionList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_PrivateExtension },
3153 static int
3154 dissect_gsm_map_PrivateExtensionList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3155 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3156 gsm_map_PrivateExtensionList_sequence_of, hf_index, ett_gsm_map_PrivateExtensionList);
3158 return offset;
3162 static const ber_sequence_t gsm_map_PCS_Extensions_sequence[] = {
3163 { NULL, 0, 0, 0, NULL }
3166 static int
3167 dissect_gsm_map_PCS_Extensions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3168 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3169 gsm_map_PCS_Extensions_sequence, hf_index, ett_gsm_map_PCS_Extensions);
3171 return offset;
3175 static const ber_sequence_t gsm_map_ExtensionContainer_sequence[] = {
3176 { &hf_gsm_map_privateExtensionList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PrivateExtensionList },
3177 { &hf_gsm_map_pcs_Extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PCS_Extensions },
3178 { NULL, 0, 0, 0, NULL }
3182 dissect_gsm_map_ExtensionContainer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3183 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3184 gsm_map_ExtensionContainer_sequence, hf_index, ett_gsm_map_ExtensionContainer);
3186 return offset;
3191 static int
3192 dissect_gsm_map_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3193 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
3195 return offset;
3199 static const ber_sequence_t gsm_map_SLR_Arg_PCS_Extensions_sequence[] = {
3200 { &hf_gsm_map_na_ESRK_Request, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NULL },
3201 { NULL, 0, 0, 0, NULL }
3204 static int
3205 dissect_gsm_map_SLR_Arg_PCS_Extensions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3206 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3207 gsm_map_SLR_Arg_PCS_Extensions_sequence, hf_index, ett_gsm_map_SLR_Arg_PCS_Extensions);
3209 return offset;
3213 static const ber_sequence_t gsm_map_SLR_ArgExtensionContainer_sequence[] = {
3214 { &hf_gsm_map_privateExtensionList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PrivateExtensionList },
3215 { &hf_gsm_map_slr_Arg_PCS_Extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SLR_Arg_PCS_Extensions },
3216 { NULL, 0, 0, 0, NULL }
3219 static int
3220 dissect_gsm_map_SLR_ArgExtensionContainer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3221 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3222 gsm_map_SLR_ArgExtensionContainer_sequence, hf_index, ett_gsm_map_SLR_ArgExtensionContainer);
3224 return offset;
3228 /* --- Module MAP-CommonDataTypes --- --- --- */
3233 dissect_gsm_map_TBCD_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3234 #line 229 "../../asn1/gsm_map/gsm_map.cnf"
3235 tvbuff_t *parameter_tvb;
3236 const char *digit_str;
3238 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3239 &parameter_tvb);
3242 if (!parameter_tvb)
3243 return offset;
3244 if(tvb_length(parameter_tvb)==0)
3245 return offset;
3247 digit_str = unpack_digits(parameter_tvb, 0);
3248 proto_tree_add_string(tree, hf_gsm_map_TBCD_digits, parameter_tvb, 0, -1, digit_str);
3252 return offset;
3257 static int
3258 dissect_gsm_map_DiameterIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3259 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3260 NULL);
3262 return offset;
3268 dissect_gsm_map_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3269 #line 216 "../../asn1/gsm_map/gsm_map.cnf"
3271 tvbuff_t *parameter_tvb;
3272 proto_tree *subtree;
3274 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3275 &parameter_tvb);
3278 if (!parameter_tvb)
3279 return offset;
3281 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_isdn_address_string);
3282 dissect_gsm_map_msisdn(parameter_tvb, actx->pinfo , subtree);
3286 return offset;
3292 dissect_gsm_map_ISDN_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3293 offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
3295 return offset;
3300 static int
3301 dissect_gsm_map_FTN_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3302 offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
3304 return offset;
3310 dissect_gsm_map_ISDN_SubaddressString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3311 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3312 NULL);
3314 return offset;
3318 static const value_string gsm_map_ProtocolId_vals[] = {
3319 { 1, "gsm-0408" },
3320 { 2, "gsm-0806" },
3321 { 3, "gsm-BSSMAP" },
3322 { 4, "ets-300102-1" },
3323 { 0, NULL }
3327 static int
3328 dissect_gsm_map_ProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3329 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3330 &ProtocolId);
3332 return offset;
3337 static int
3338 dissect_gsm_map_SignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3339 #line 333 "../../asn1/gsm_map/gsm_map.cnf"
3340 tvbuff_t *parameter_tvb;
3342 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3343 &parameter_tvb);
3345 actx->value_ptr = (void*)parameter_tvb;
3350 return offset;
3354 static const ber_sequence_t gsm_map_ExternalSignalInfo_sequence[] = {
3355 { &hf_gsm_map_protocolId , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ProtocolId },
3356 { &hf_gsm_map_signalInfo , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
3357 { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
3358 { NULL, 0, 0, 0, NULL }
3362 dissect_gsm_map_ExternalSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3363 #line 758 "../../asn1/gsm_map/gsm_map.cnf"
3365 -- Information about the internal structure is given in
3366 -- clause 7.6.9.
3367 7.6.9.4 External Signal Information
3368 This parameter contains concatenated information elements (including tag and length) which are defined by a common
3369 protocol version, preceded by the associated protocol ID. It is used to transport information of the indicated protocol via
3370 MAP interfaces
3372 guint8 octet;
3373 guint8 length;
3374 tvbuff_t *next_tvb;
3375 proto_tree *subtree;
3377 ProtocolId = 0xffffffff;
3378 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3379 gsm_map_ExternalSignalInfo_sequence, hf_index, ett_gsm_map_ExternalSignalInfo);
3381 if (!actx->value_ptr)
3382 return offset;
3383 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_externalsignalinfo);
3384 switch (ProtocolId){
3385 case 1:
3386 /* gsm-0408 */
3387 /* As per comment abowe Individual IE:(s) will be found here in TLV format
3388 * Unfortunatly a branch for each IE must be made to call the apropriate
3389 * function
3391 /* Get tag */
3392 octet = tvb_get_guint8((tvbuff_t*)actx->value_ptr,0);
3393 proto_tree_add_item(subtree, hf_gsm_map_ie_tag, (tvbuff_t*)actx->value_ptr, 0,1,ENC_BIG_ENDIAN);
3394 /* get length */
3395 length = tvb_get_guint8((tvbuff_t*)actx->value_ptr,1);
3396 proto_tree_add_item(subtree, hf_gsm_map_len, (tvbuff_t*)actx->value_ptr, 1,1,ENC_BIG_ENDIAN);
3397 /* Branch on tag */
3398 switch(octet){
3399 case 4:
3400 /* Dissect the data part */
3401 de_bearer_cap((tvbuff_t*)actx->value_ptr, subtree, actx->pinfo, 2, length, NULL, 0);
3402 /* TODO: There may be more than one IE */
3403 break;
3404 default:
3405 proto_tree_add_text(subtree, (tvbuff_t*)actx->value_ptr, 0, length, "If you want this decoded send the packet to Wireshark-dev");
3406 break;
3407 }/* switch(octet) */
3408 break;
3409 case 2:
3410 /* gsm-0806 */
3411 octet = tvb_get_guint8((tvbuff_t*)actx->value_ptr,0);
3412 /* Discrimination parameter */
3413 proto_tree_add_item(subtree, hf_gsm_map_disc_par, (tvbuff_t*)actx->value_ptr, 0,1,ENC_BIG_ENDIAN);
3414 if ( octet == 0) {/* DISCRIMINATION TS 48 006(GSM 08.06 version 5.3.0) */
3415 /* Strip off discrimination and length */
3416 proto_tree_add_item(subtree, hf_gsm_map_len, (tvbuff_t*)actx->value_ptr, 1,1,ENC_BIG_ENDIAN);
3417 next_tvb = tvb_new_subset_remaining((tvbuff_t*)actx->value_ptr, 2);
3418 dissect_bssmap(next_tvb, actx->pinfo, subtree);
3419 }else if(octet==1){
3420 proto_tree_add_item(subtree, hf_gsm_map_dlci, (tvbuff_t*)actx->value_ptr, 1,1,ENC_BIG_ENDIAN);
3421 proto_tree_add_item(subtree, hf_gsm_map_len, (tvbuff_t*)actx->value_ptr, 2,1,ENC_BIG_ENDIAN);
3422 next_tvb = tvb_new_subset_remaining((tvbuff_t*)actx->value_ptr, 3);
3423 call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree);
3425 break;
3426 case 3:
3427 /* gsm-BSSMAP TODO Is it correct to stripp off two first octets here?*/
3428 octet = tvb_get_guint8((tvbuff_t*)actx->value_ptr,0);
3429 if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
3430 next_tvb = tvb_new_subset_remaining((tvbuff_t*)actx->value_ptr, 2);
3431 dissect_bssmap(next_tvb, actx->pinfo, subtree);
3433 break;
3434 /* ets-300102-1 (~Q.931 ) */
3435 case 4:
3436 octet = tvb_get_guint8((tvbuff_t*)actx->value_ptr,0);
3437 length = tvb_get_guint8((tvbuff_t*)actx->value_ptr,1);
3438 if ( octet == 4 )
3439 dissect_q931_bearer_capability_ie((tvbuff_t*)actx->value_ptr, 2, length, subtree);
3440 break;
3441 default:
3442 break;
3443 }/*switch (ProtocolId)*/
3447 return offset;
3451 static const value_string gsm_map_Ext_ProtocolId_vals[] = {
3452 { 1, "ets-300356" },
3453 { 0, NULL }
3457 static int
3458 dissect_gsm_map_Ext_ProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3459 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3460 NULL);
3462 return offset;
3466 static const ber_sequence_t gsm_map_Ext_ExternalSignalInfo_sequence[] = {
3467 { &hf_gsm_map_ext_ProtocolId, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_ProtocolId },
3468 { &hf_gsm_map_signalInfo , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
3469 { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
3470 { NULL, 0, 0, 0, NULL }
3473 static int
3474 dissect_gsm_map_Ext_ExternalSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3475 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3476 gsm_map_Ext_ExternalSignalInfo_sequence, hf_index, ett_gsm_map_Ext_ExternalSignalInfo);
3478 return offset;
3482 static const value_string gsm_map_AccessNetworkProtocolId_vals[] = {
3483 { 1, "ts3G-48006" },
3484 { 2, "ts3G-25413" },
3485 { 0, NULL }
3489 static int
3490 dissect_gsm_map_AccessNetworkProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3491 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3492 &AccessNetworkProtocolId);
3494 return offset;
3499 static int
3500 dissect_gsm_map_LongSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3501 #line 250 "../../asn1/gsm_map/gsm_map.cnf"
3503 tvbuff_t *parameter_tvb;
3504 guint8 octet;
3505 tvbuff_t *next_tvb;
3506 proto_tree *subtree;
3509 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3510 &parameter_tvb);
3513 if (!parameter_tvb)
3514 return offset;
3516 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LongSignalInfo);
3518 switch (AccessNetworkProtocolId){
3519 /* ts3G-48006 */
3520 case 1:
3521 octet = tvb_get_guint8(parameter_tvb,0);
3522 /* Discrimination parameter */
3523 proto_tree_add_item(subtree, hf_gsm_map_disc_par, parameter_tvb, 0,1,ENC_BIG_ENDIAN);
3524 if ( octet == 0) {/* DISCRIMINATION TS 48 006(GSM 08.06 version 5.3.0) */
3525 /* Strip off discrimination and length */
3526 proto_tree_add_item(subtree, hf_gsm_map_len, parameter_tvb, 1,1,ENC_BIG_ENDIAN);
3527 next_tvb = tvb_new_subset_remaining(parameter_tvb, 2);
3528 dissect_bssmap(next_tvb, actx->pinfo, subtree);
3529 }else if(octet==1){
3530 proto_tree_add_item(subtree, hf_gsm_map_dlci, parameter_tvb, 1,1,ENC_BIG_ENDIAN);
3531 proto_tree_add_item(subtree, hf_gsm_map_len, parameter_tvb, 2,1,ENC_BIG_ENDIAN);
3532 next_tvb = tvb_new_subset_remaining(parameter_tvb, 3);
3533 call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree);
3535 break;
3536 /* ts3G-25413 */
3537 case 2:
3538 call_dissector(ranap_handle, parameter_tvb, actx->pinfo, tree);
3539 break;
3540 default:
3541 break;
3546 return offset;
3550 static const ber_sequence_t gsm_map_AccessNetworkSignalInfo_sequence[] = {
3551 { &hf_gsm_map_accessNetworkProtocolId, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkProtocolId },
3552 { &hf_gsm_map_signalInfo_01, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LongSignalInfo },
3553 { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
3554 { NULL, 0, 0, 0, NULL }
3557 static int
3558 dissect_gsm_map_AccessNetworkSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3559 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3560 gsm_map_AccessNetworkSignalInfo_sequence, hf_index, ett_gsm_map_AccessNetworkSignalInfo);
3562 return offset;
3568 dissect_gsm_map_AlertingPattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3569 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3570 NULL);
3572 return offset;
3578 dissect_gsm_map_GSN_Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3579 #line 583 "../../asn1/gsm_map/gsm_map.cnf"
3581 tvbuff_t *parameter_tvb;
3582 guint8 octet;
3583 proto_tree *subtree;
3585 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3586 &parameter_tvb);
3589 if (!parameter_tvb)
3590 return offset;
3591 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_pdptypenumber);
3593 octet = tvb_get_guint8(parameter_tvb,0);
3594 switch(octet){
3595 case 0x04: /* IPv4 */
3596 proto_tree_add_item(subtree, hf_gsm_map_GSNAddress_IPv4, parameter_tvb, 1, tvb_length_remaining(parameter_tvb, 1), ENC_BIG_ENDIAN);
3597 break;
3598 case 0x50: /* IPv4 */
3599 proto_tree_add_item(subtree, hf_gsm_map_GSNAddress_IPv4, parameter_tvb, 1, tvb_length_remaining(parameter_tvb, 1), ENC_BIG_ENDIAN);
3600 break;
3601 default:
3602 break;
3607 return offset;
3612 static int
3613 dissect_gsm_map_Time(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3614 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3615 NULL);
3617 return offset;
3623 dissect_gsm_map_IMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3624 offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
3626 return offset;
3631 static int
3632 dissect_gsm_map_LMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3633 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3634 NULL);
3636 return offset;
3640 static const ber_sequence_t gsm_map_IMSI_WithLMSI_sequence[] = {
3641 { &hf_gsm_map_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
3642 { &hf_gsm_map_lmsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LMSI },
3643 { NULL, 0, 0, 0, NULL }
3646 static int
3647 dissect_gsm_map_IMSI_WithLMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3648 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3649 gsm_map_IMSI_WithLMSI_sequence, hf_index, ett_gsm_map_IMSI_WithLMSI);
3651 return offset;
3655 static const value_string gsm_map_Identity_vals[] = {
3656 { 0, "imsi" },
3657 { 1, "imsi-WithLMSI" },
3658 { 0, NULL }
3661 static const ber_choice_t gsm_map_Identity_choice[] = {
3662 { 0, &hf_gsm_map_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
3663 { 1, &hf_gsm_map_imsi_WithLMSI, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI_WithLMSI },
3664 { 0, NULL, 0, 0, 0, NULL }
3667 static int
3668 dissect_gsm_map_Identity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3669 offset = dissect_ber_choice(actx, tree, tvb, offset,
3670 gsm_map_Identity_choice, hf_index, ett_gsm_map_Identity,
3671 NULL);
3673 return offset;
3678 static int
3679 dissect_gsm_map_ASCI_CallReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3680 offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
3682 return offset;
3687 static int
3688 dissect_gsm_map_TMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3689 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3690 NULL);
3692 return offset;
3698 dissect_gsm_map_IMEI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3699 offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
3701 return offset;
3706 static int
3707 dissect_gsm_map_HLR_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3708 offset = dissect_gsm_map_IMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
3710 return offset;
3714 static const ber_sequence_t gsm_map_HLR_List_sequence_of[1] = {
3715 { &hf_gsm_map_HLR_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_HLR_Id },
3718 static int
3719 dissect_gsm_map_HLR_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3720 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3721 gsm_map_HLR_List_sequence_of, hf_index, ett_gsm_map_HLR_List);
3723 return offset;
3729 dissect_gsm_map_GlobalCellId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3730 #line 838 "../../asn1/gsm_map/gsm_map.cnf"
3731 tvbuff_t *parameter_tvb;
3732 proto_tree *subtree;
3734 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3735 &parameter_tvb);
3738 if (!parameter_tvb)
3739 return offset;
3741 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GlobalCellId);
3742 be_cell_id_aux(parameter_tvb, subtree, actx->pinfo, 0, tvb_length_remaining(tvb,0), NULL, 0, 0);
3746 return offset;
3750 const value_string gsm_map_NetworkResource_vals[] = {
3751 { 0, "plmn" },
3752 { 1, "hlr" },
3753 { 2, "vlr" },
3754 { 3, "pvlr" },
3755 { 4, "controllingMSC" },
3756 { 5, "vmsc" },
3757 { 6, "eir" },
3758 { 7, "rss" },
3759 { 0, NULL }
3764 dissect_gsm_map_NetworkResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3765 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3766 NULL);
3768 return offset;
3772 static const value_string gsm_map_AdditionalNetworkResource_vals[] = {
3773 { 0, "sgsn" },
3774 { 1, "ggsn" },
3775 { 2, "gmlc" },
3776 { 3, "gsmSCF" },
3777 { 4, "nplr" },
3778 { 5, "auc" },
3779 { 6, "ue" },
3780 { 7, "mme" },
3781 { 0, NULL }
3785 static int
3786 dissect_gsm_map_AdditionalNetworkResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3787 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3788 NULL);
3790 return offset;
3796 dissect_gsm_map_NAEA_CIC(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3797 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3798 NULL);
3800 return offset;
3804 static const ber_sequence_t gsm_map_NAEA_PreferredCI_sequence[] = {
3805 { &hf_gsm_map_naea_PreferredCIC, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_NAEA_CIC },
3806 { &hf_gsm_map_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
3807 { NULL, 0, 0, 0, NULL }
3810 static int
3811 dissect_gsm_map_NAEA_PreferredCI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3812 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3813 gsm_map_NAEA_PreferredCI_sequence, hf_index, ett_gsm_map_NAEA_PreferredCI);
3815 return offset;
3819 static const value_string gsm_map_SubscriberIdentity_vals[] = {
3820 { 0, "imsi" },
3821 { 1, "msisdn" },
3822 { 0, NULL }
3825 static const ber_choice_t gsm_map_SubscriberIdentity_choice[] = {
3826 { 0, &hf_gsm_map_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
3827 { 1, &hf_gsm_map_msisdn , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
3828 { 0, NULL, 0, 0, 0, NULL }
3831 static int
3832 dissect_gsm_map_SubscriberIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3833 offset = dissect_ber_choice(actx, tree, tvb, offset,
3834 gsm_map_SubscriberIdentity_choice, hf_index, ett_gsm_map_SubscriberIdentity,
3835 NULL);
3837 return offset;
3841 static const ber_sequence_t gsm_map_LCSClientExternalID_sequence[] = {
3842 { &hf_gsm_map_externalAddress, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
3843 { &hf_gsm_map_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
3844 { NULL, 0, 0, 0, NULL }
3848 dissect_gsm_map_LCSClientExternalID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3849 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3850 gsm_map_LCSClientExternalID_sequence, hf_index, ett_gsm_map_LCSClientExternalID);
3852 return offset;
3856 const value_string gsm_map_LCSClientInternalID_vals[] = {
3857 { 0, "broadcastService" },
3858 { 1, "o-andM-HPLMN" },
3859 { 2, "o-andM-VPLMN" },
3860 { 3, "anonymousLocation" },
3861 { 4, "targetMSsubscribedService" },
3862 { 0, NULL }
3867 dissect_gsm_map_LCSClientInternalID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3868 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3869 NULL);
3871 return offset;
3875 const value_string gsm_map_LCSServiceTypeID_vals[] = {
3876 { 0, "emergencyServices" },
3877 { 1, "emergencyAlertServices" },
3878 { 2, "personTracking" },
3879 { 3, "fleetManagement" },
3880 { 4, "assetManagement" },
3881 { 5, "trafficCongestionReporting" },
3882 { 6, "roadsideAssistance" },
3883 { 7, "routingToNearestCommercialEnterprise" },
3884 { 8, "navigation" },
3885 { 9, "citySightseeing" },
3886 { 10, "localizedAdvertising" },
3887 { 11, "mobileYellowPages" },
3888 { 12, "trafficAndPublicTransportationInfo" },
3889 { 13, "weather" },
3890 { 14, "assetAndServiceFinding" },
3891 { 15, "gaming" },
3892 { 16, "findYourFriend" },
3893 { 17, "dating" },
3894 { 18, "chatting" },
3895 { 19, "routeFinding" },
3896 { 20, "whereAmI" },
3897 { 64, "serv64" },
3898 { 65, "serv65" },
3899 { 66, "serv66" },
3900 { 67, "serv67" },
3901 { 68, "serv68" },
3902 { 69, "serv69" },
3903 { 70, "serv70" },
3904 { 71, "serv71" },
3905 { 72, "serv72" },
3906 { 73, "serv73" },
3907 { 74, "serv74" },
3908 { 75, "serv75" },
3909 { 76, "serv76" },
3910 { 77, "serv77" },
3911 { 78, "serv78" },
3912 { 79, "serv79" },
3913 { 80, "serv80" },
3914 { 81, "serv81" },
3915 { 82, "serv82" },
3916 { 83, "serv83" },
3917 { 84, "serv84" },
3918 { 85, "serv85" },
3919 { 86, "serv86" },
3920 { 87, "serv87" },
3921 { 88, "serv88" },
3922 { 89, "serv89" },
3923 { 90, "serv90" },
3924 { 91, "serv91" },
3925 { 92, "serv92" },
3926 { 93, "serv93" },
3927 { 94, "serv94" },
3928 { 95, "serv95" },
3929 { 96, "serv96" },
3930 { 97, "serv97" },
3931 { 98, "serv98" },
3932 { 99, "serv99" },
3933 { 100, "serv100" },
3934 { 101, "serv101" },
3935 { 102, "serv102" },
3936 { 103, "serv103" },
3937 { 104, "serv104" },
3938 { 105, "serv105" },
3939 { 106, "serv106" },
3940 { 107, "serv107" },
3941 { 108, "serv108" },
3942 { 109, "serv109" },
3943 { 110, "serv110" },
3944 { 111, "serv111" },
3945 { 112, "serv112" },
3946 { 113, "serv113" },
3947 { 114, "serv114" },
3948 { 115, "serv115" },
3949 { 116, "serv116" },
3950 { 117, "serv117" },
3951 { 118, "serv118" },
3952 { 119, "serv119" },
3953 { 120, "serv120" },
3954 { 121, "serv121" },
3955 { 122, "serv122" },
3956 { 123, "serv123" },
3957 { 124, "serv124" },
3958 { 125, "serv125" },
3959 { 126, "serv126" },
3960 { 127, "serv127" },
3961 { 0, NULL }
3966 dissect_gsm_map_LCSServiceTypeID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3967 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3968 NULL);
3970 return offset;
3975 static int
3976 dissect_gsm_map_PLMN_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3977 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3978 NULL);
3980 return offset;
3985 static int
3986 dissect_gsm_map_E_UTRAN_CGI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3987 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3988 NULL);
3990 return offset;
3995 static int
3996 dissect_gsm_map_TA_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3997 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3998 NULL);
4000 return offset;
4006 dissect_gsm_map_RAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4007 #line 607 "../../asn1/gsm_map/gsm_map.cnf"
4009 tvbuff_t *parameter_tvb;
4010 proto_tree *subtree;
4012 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4013 &parameter_tvb);
4016 if (!parameter_tvb)
4017 return offset;
4018 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_RAIdentity);
4019 de_gmm_rai(parameter_tvb, subtree, actx->pinfo, 0, 3, NULL,0);
4023 return offset;
4027 static const ber_sequence_t gsm_map_NetworkNodeDiameterAddress_sequence[] = {
4028 { &hf_gsm_map_diameter_Name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
4029 { &hf_gsm_map_diameter_Realm, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
4030 { NULL, 0, 0, 0, NULL }
4033 static int
4034 dissect_gsm_map_NetworkNodeDiameterAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4035 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4036 gsm_map_NetworkNodeDiameterAddress_sequence, hf_index, ett_gsm_map_NetworkNodeDiameterAddress);
4038 return offset;
4044 dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4045 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4046 NULL);
4048 return offset;
4054 dissect_gsm_map_LAIFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4055 #line 619 "../../asn1/gsm_map/gsm_map.cnf"
4057 tvbuff_t *parameter_tvb;
4058 proto_tree *subtree;
4060 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4061 &parameter_tvb);
4064 if (!parameter_tvb)
4065 return offset;
4066 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LAIFixedLength);
4067 dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, TRUE);
4071 return offset;
4075 const value_string gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals[] = {
4076 { 0, "cellGlobalIdOrServiceAreaIdFixedLength" },
4077 { 1, "laiFixedLength" },
4078 { 0, NULL }
4081 static const ber_choice_t gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_choice[] = {
4082 { 0, &hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength },
4083 { 1, &hf_gsm_map_laiFixedLength, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_LAIFixedLength },
4084 { 0, NULL, 0, 0, 0, NULL }
4088 dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4089 offset = dissect_ber_choice(actx, tree, tvb, offset,
4090 gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_choice, hf_index, ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI,
4091 NULL);
4093 return offset;
4097 const value_string gsm_map_BasicServiceCode_vals[] = {
4098 { 2, "bearerService" },
4099 { 3, "teleservice" },
4100 { 0, NULL }
4103 static const ber_choice_t gsm_map_BasicServiceCode_choice[] = {
4104 { 2, &hf_gsm_map_bearerService, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_BearerServiceCode },
4105 { 3, &hf_gsm_map_teleservice , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_TeleserviceCode },
4106 { 0, NULL, 0, 0, 0, NULL }
4110 dissect_gsm_map_BasicServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4111 offset = dissect_ber_choice(actx, tree, tvb, offset,
4112 gsm_map_BasicServiceCode_choice, hf_index, ett_gsm_map_BasicServiceCode,
4113 NULL);
4115 return offset;
4119 const value_string gsm_map_Ext_BasicServiceCode_vals[] = {
4120 { 2, "ext-BearerService" },
4121 { 3, "ext-Teleservice" },
4122 { 0, NULL }
4125 static const ber_choice_t gsm_map_Ext_BasicServiceCode_choice[] = {
4126 { 2, &hf_gsm_map_ext_BearerService, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BearerServiceCode },
4127 { 3, &hf_gsm_map_ext_Teleservice, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_TeleserviceCode },
4128 { 0, NULL, 0, 0, 0, NULL }
4132 dissect_gsm_map_Ext_BasicServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4133 offset = dissect_ber_choice(actx, tree, tvb, offset,
4134 gsm_map_Ext_BasicServiceCode_choice, hf_index, ett_gsm_map_Ext_BasicServiceCode,
4135 NULL);
4137 return offset;
4141 static const value_string gsm_map_EMLPP_Priority_vals[] = {
4142 { 6, "priorityLevelA" },
4143 { 5, "priorityLevelB" },
4144 { 0, "priorityLevel0" },
4145 { 1, "priorityLevel1" },
4146 { 2, "priorityLevel2" },
4147 { 3, "priorityLevel3" },
4148 { 4, "priorityLevel4" },
4149 { 0, NULL }
4153 static int
4154 dissect_gsm_map_EMLPP_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4155 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4156 NULL);
4158 return offset;
4162 static const ber_sequence_t gsm_map_EMLPP_Info_sequence[] = {
4163 { &hf_gsm_map_maximumentitledPriority, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_EMLPP_Priority },
4164 { &hf_gsm_map_defaultPriority, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_EMLPP_Priority },
4165 { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
4166 { NULL, 0, 0, 0, NULL }
4169 static int
4170 dissect_gsm_map_EMLPP_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4171 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4172 gsm_map_EMLPP_Info_sequence, hf_index, ett_gsm_map_EMLPP_Info);
4174 return offset;
4179 static int
4180 dissect_gsm_map_Ext_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4181 #line 435 "../../asn1/gsm_map/gsm_map.cnf"
4182 /* Note Ext-SS-Status can have more than one byte */
4184 tvbuff_t *parameter_tvb;
4185 guint8 octet;
4187 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4188 &parameter_tvb);
4191 if (!parameter_tvb)
4192 return offset;
4194 octet = tvb_get_guint8(parameter_tvb,0);
4196 proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet);
4197 if ((octet & 0x01)== 1)
4198 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet);
4200 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet);
4201 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet);
4202 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet);
4206 return offset;
4211 static int
4212 dissect_gsm_map_MaxMC_Bearers(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4213 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4214 NULL);
4216 return offset;
4221 static int
4222 dissect_gsm_map_MC_Bearers(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4223 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4224 NULL);
4226 return offset;
4230 static const ber_sequence_t gsm_map_MC_SS_Info_sequence[] = {
4231 { &hf_gsm_map_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
4232 { &hf_gsm_map_ss_Status , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
4233 { &hf_gsm_map_nbrSB , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_MaxMC_Bearers },
4234 { &hf_gsm_map_nbrUser , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers },
4235 { &hf_gsm_map_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
4236 { NULL, 0, 0, 0, NULL }
4239 static int
4240 dissect_gsm_map_MC_SS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4241 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4242 gsm_map_MC_SS_Info_sequence, hf_index, ett_gsm_map_MC_SS_Info);
4244 return offset;
4250 dissect_gsm_map_AgeOfLocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4251 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4252 NULL);
4254 return offset;
4257 /*--- PDUs ---*/
4259 int dissect_gsm_map_ISDN_AddressString_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4260 int offset = 0;
4261 asn1_ctx_t asn1_ctx;
4262 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4263 offset = dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, &asn1_ctx, tree, hf_gsm_map_gsm_map_ISDN_AddressString_PDU);
4264 return offset;
4268 /* --- Module MAP-SS-DataTypes --- --- --- */
4272 static int
4273 dissect_gsm_map_ss_NoReplyConditionTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4274 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4275 NULL);
4277 return offset;
4282 static int
4283 dissect_gsm_map_ss_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4284 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4286 return offset;
4290 static const ber_sequence_t gsm_map_ss_RegisterSS_Arg_sequence[] = {
4291 { &hf_gsm_map_ss_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
4292 { &hf_gsm_map_ss_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode },
4293 { &hf_gsm_map_ss_forwardedToNumber, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
4294 { &hf_gsm_map_ss_forwardedToSubaddress, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
4295 { &hf_gsm_map_ss_noReplyConditionTime, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_NoReplyConditionTime },
4296 { &hf_gsm_map_ss_defaultPriority, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority },
4297 { &hf_gsm_map_ss_nbrUser , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers },
4298 { &hf_gsm_map_ss_longFTN_Supported, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_NULL },
4299 { NULL, 0, 0, 0, NULL }
4303 dissect_gsm_map_ss_RegisterSS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4304 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4305 gsm_map_ss_RegisterSS_Arg_sequence, hf_index, ett_gsm_map_ss_RegisterSS_Arg);
4307 return offset;
4313 dissect_gsm_map_ss_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4314 #line 415 "../../asn1/gsm_map/gsm_map.cnf"
4316 tvbuff_t *parameter_tvb;
4317 guint8 octet;
4319 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4320 &parameter_tvb);
4323 if (!parameter_tvb)
4324 return offset;
4326 octet = tvb_get_guint8(parameter_tvb,0);
4328 proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet);
4329 if ((octet & 0x01)== 1)
4330 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet);
4332 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet);
4333 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet);
4334 proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet);
4338 return offset;
4344 dissect_gsm_map_ss_ForwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4345 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4346 NULL);
4348 #line 526 "../../asn1/gsm_map/gsm_map.cnf"
4350 proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,ENC_BIG_ENDIAN);
4351 proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,ENC_BIG_ENDIAN);
4352 proto_tree_add_item(tree, hf_gsm_map_notification_to_calling_party, tvb, 0,1,ENC_BIG_ENDIAN);
4353 proto_tree_add_item(tree, hf_gsm_map_forwarding_reason, tvb, 0,1,ENC_BIG_ENDIAN);
4355 return offset;
4359 static const ber_sequence_t gsm_map_ss_ForwardingFeature_sequence[] = {
4360 { &hf_gsm_map_ss_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode },
4361 { &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status },
4362 { &hf_gsm_map_ss_forwardedToNumber_01, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
4363 { &hf_gsm_map_ss_forwardedToSubaddress, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
4364 { &hf_gsm_map_ss_forwardingOptions, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ForwardingOptions },
4365 { &hf_gsm_map_ss_noReplyConditionTime, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_NoReplyConditionTime },
4366 { &hf_gsm_map_ss_longForwardedToNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_FTN_AddressString },
4367 { NULL, 0, 0, 0, NULL }
4370 static int
4371 dissect_gsm_map_ss_ForwardingFeature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4372 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4373 gsm_map_ss_ForwardingFeature_sequence, hf_index, ett_gsm_map_ss_ForwardingFeature);
4375 return offset;
4379 static const ber_sequence_t gsm_map_ss_ForwardingFeatureList_sequence_of[1] = {
4380 { &hf_gsm_map_ss_ForwardingFeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_ForwardingFeature },
4383 static int
4384 dissect_gsm_map_ss_ForwardingFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4385 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4386 gsm_map_ss_ForwardingFeatureList_sequence_of, hf_index, ett_gsm_map_ss_ForwardingFeatureList);
4388 return offset;
4392 static const ber_sequence_t gsm_map_ss_ForwardingInfo_sequence[] = {
4393 { &hf_gsm_map_ss_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
4394 { &hf_gsm_map_ss_forwardingFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_ForwardingFeatureList },
4395 { NULL, 0, 0, 0, NULL }
4398 static int
4399 dissect_gsm_map_ss_ForwardingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4400 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4401 gsm_map_ss_ForwardingInfo_sequence, hf_index, ett_gsm_map_ss_ForwardingInfo);
4403 return offset;
4407 static const ber_sequence_t gsm_map_ss_CallBarringFeature_sequence[] = {
4408 { &hf_gsm_map_ss_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode },
4409 { &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status },
4410 { NULL, 0, 0, 0, NULL }
4413 static int
4414 dissect_gsm_map_ss_CallBarringFeature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4415 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4416 gsm_map_ss_CallBarringFeature_sequence, hf_index, ett_gsm_map_ss_CallBarringFeature);
4418 return offset;
4422 static const ber_sequence_t gsm_map_ss_CallBarringFeatureList_sequence_of[1] = {
4423 { &hf_gsm_map_ss_CallBarringFeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_CallBarringFeature },
4426 static int
4427 dissect_gsm_map_ss_CallBarringFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4428 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4429 gsm_map_ss_CallBarringFeatureList_sequence_of, hf_index, ett_gsm_map_ss_CallBarringFeatureList);
4431 return offset;
4435 static const ber_sequence_t gsm_map_ss_CallBarringInfo_sequence[] = {
4436 { &hf_gsm_map_ss_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
4437 { &hf_gsm_map_ss_callBarringFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_CallBarringFeatureList },
4438 { NULL, 0, 0, 0, NULL }
4441 static int
4442 dissect_gsm_map_ss_CallBarringInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4443 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4444 gsm_map_ss_CallBarringInfo_sequence, hf_index, ett_gsm_map_ss_CallBarringInfo);
4446 return offset;
4450 static const value_string gsm_map_ss_CliRestrictionOption_vals[] = {
4451 { 0, "permanent" },
4452 { 1, "temporaryDefaultRestricted" },
4453 { 2, "temporaryDefaultAllowed" },
4454 { 0, NULL }
4458 static int
4459 dissect_gsm_map_ss_CliRestrictionOption(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4460 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4461 NULL);
4463 return offset;
4467 static const value_string gsm_map_ss_OverrideCategory_vals[] = {
4468 { 0, "overrideEnabled" },
4469 { 1, "overrideDisabled" },
4470 { 0, NULL }
4474 static int
4475 dissect_gsm_map_ss_OverrideCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4476 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4477 NULL);
4479 return offset;
4483 static const value_string gsm_map_ss_SS_SubscriptionOption_vals[] = {
4484 { 2, "cliRestrictionOption" },
4485 { 1, "overrideCategory" },
4486 { 0, NULL }
4489 static const ber_choice_t gsm_map_ss_SS_SubscriptionOption_choice[] = {
4490 { 2, &hf_gsm_map_ss_cliRestrictionOption, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CliRestrictionOption },
4491 { 1, &hf_gsm_map_ss_overrideCategory, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_OverrideCategory },
4492 { 0, NULL, 0, 0, 0, NULL }
4495 static int
4496 dissect_gsm_map_ss_SS_SubscriptionOption(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4497 offset = dissect_ber_choice(actx, tree, tvb, offset,
4498 gsm_map_ss_SS_SubscriptionOption_choice, hf_index, ett_gsm_map_ss_SS_SubscriptionOption,
4499 NULL);
4501 return offset;
4505 static const ber_sequence_t gsm_map_ss_BasicServiceGroupList_sequence_of[1] = {
4506 { &hf_gsm_map_ss_BasicServiceGroupList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode },
4509 static int
4510 dissect_gsm_map_ss_BasicServiceGroupList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4511 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4512 gsm_map_ss_BasicServiceGroupList_sequence_of, hf_index, ett_gsm_map_ss_BasicServiceGroupList);
4514 return offset;
4518 static const ber_sequence_t gsm_map_ss_SS_Data_sequence[] = {
4519 { &hf_gsm_map_ss_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
4520 { &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status },
4521 { &hf_gsm_map_ss_ss_SubscriptionOption, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ss_SS_SubscriptionOption },
4522 { &hf_gsm_map_ss_basicServiceGroupList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_BasicServiceGroupList },
4523 { &hf_gsm_map_ss_defaultPriority, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_EMLPP_Priority },
4524 { &hf_gsm_map_ss_nbrUser , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers },
4525 { NULL, 0, 0, 0, NULL }
4528 static int
4529 dissect_gsm_map_ss_SS_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4530 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4531 gsm_map_ss_SS_Data_sequence, hf_index, ett_gsm_map_ss_SS_Data);
4533 return offset;
4537 const value_string gsm_map_ss_SS_Info_vals[] = {
4538 { 0, "forwardingInfo" },
4539 { 1, "callBarringInfo" },
4540 { 3, "ss-Data" },
4541 { 0, NULL }
4544 static const ber_choice_t gsm_map_ss_SS_Info_choice[] = {
4545 { 0, &hf_gsm_map_ss_forwardingInfo, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ForwardingInfo },
4546 { 1, &hf_gsm_map_ss_callBarringInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CallBarringInfo },
4547 { 3, &hf_gsm_map_ss_ss_Data , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Data },
4548 { 0, NULL, 0, 0, 0, NULL }
4552 dissect_gsm_map_ss_SS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4553 offset = dissect_ber_choice(actx, tree, tvb, offset,
4554 gsm_map_ss_SS_Info_choice, hf_index, ett_gsm_map_ss_SS_Info,
4555 NULL);
4557 return offset;
4561 static const ber_sequence_t gsm_map_ss_SS_ForBS_Code_sequence[] = {
4562 { &hf_gsm_map_ss_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
4563 { &hf_gsm_map_ss_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode },
4564 { &hf_gsm_map_ss_longFTN_Supported, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_NULL },
4565 { NULL, 0, 0, 0, NULL }
4569 dissect_gsm_map_ss_SS_ForBS_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4570 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4571 gsm_map_ss_SS_ForBS_Code_sequence, hf_index, ett_gsm_map_ss_SS_ForBS_Code);
4573 return offset;
4578 static int
4579 dissect_gsm_map_ss_CCBS_Index(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4580 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4581 NULL);
4583 return offset;
4587 static const ber_sequence_t gsm_map_ss_CCBS_Feature_sequence[] = {
4588 { &hf_gsm_map_ss_ccbs_Index, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Index },
4589 { &hf_gsm_map_ss_b_subscriberNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
4590 { &hf_gsm_map_ss_b_subscriberSubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
4591 { &hf_gsm_map_ss_basicServiceGroup, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_BasicServiceCode },
4592 { NULL, 0, 0, 0, NULL }
4596 dissect_gsm_map_ss_CCBS_Feature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4597 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4598 gsm_map_ss_CCBS_Feature_sequence, hf_index, ett_gsm_map_ss_CCBS_Feature);
4600 return offset;
4604 static const ber_sequence_t gsm_map_ss_CCBS_FeatureList_sequence_of[1] = {
4605 { &hf_gsm_map_ss_CCBS_FeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_CCBS_Feature },
4608 static int
4609 dissect_gsm_map_ss_CCBS_FeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4610 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4611 gsm_map_ss_CCBS_FeatureList_sequence_of, hf_index, ett_gsm_map_ss_CCBS_FeatureList);
4613 return offset;
4617 static const ber_sequence_t gsm_map_ss_GenericServiceInfo_sequence[] = {
4618 { &hf_gsm_map_ss_ss_Status, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_SS_Status },
4619 { &hf_gsm_map_ss_cliRestrictionOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_CliRestrictionOption },
4620 { &hf_gsm_map_ss_maximumEntitledPriority, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority },
4621 { &hf_gsm_map_ss_defaultPriority, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority },
4622 { &hf_gsm_map_ss_ccbs_FeatureList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_FeatureList },
4623 { &hf_gsm_map_ss_nbrSB , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MaxMC_Bearers },
4624 { &hf_gsm_map_ss_nbrUser , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers },
4625 { &hf_gsm_map_ss_nbrSN , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers },
4626 { NULL, 0, 0, 0, NULL }
4629 static int
4630 dissect_gsm_map_ss_GenericServiceInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4631 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4632 gsm_map_ss_GenericServiceInfo_sequence, hf_index, ett_gsm_map_ss_GenericServiceInfo);
4634 return offset;
4638 const value_string gsm_map_ss_InterrogateSS_Res_vals[] = {
4639 { 0, "ss-Status" },
4640 { 2, "basicServiceGroupList" },
4641 { 3, "forwardingFeatureList" },
4642 { 4, "genericServiceInfo" },
4643 { 0, NULL }
4646 static const ber_choice_t gsm_map_ss_InterrogateSS_Res_choice[] = {
4647 { 0, &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status },
4648 { 2, &hf_gsm_map_ss_basicServiceGroupList, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_BasicServiceGroupList },
4649 { 3, &hf_gsm_map_ss_forwardingFeatureList, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ForwardingFeatureList },
4650 { 4, &hf_gsm_map_ss_genericServiceInfo, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_GenericServiceInfo },
4651 { 0, NULL, 0, 0, 0, NULL }
4655 dissect_gsm_map_ss_InterrogateSS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4656 offset = dissect_ber_choice(actx, tree, tvb, offset,
4657 gsm_map_ss_InterrogateSS_Res_choice, hf_index, ett_gsm_map_ss_InterrogateSS_Res,
4658 NULL);
4660 return offset;
4666 dissect_gsm_map_ss_USSD_DataCodingScheme(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4667 #line 458 "../../asn1/gsm_map/gsm_map.cnf"
4668 /*The structure of the USSD-DataCodingScheme is defined by
4669 * the Cell Broadcast Data Coding Scheme as described in
4670 * TS 3GPP TS 23.038
4671 * TODO: Should dissect_cbs_data_coding_scheme return encoding type? - like 7bit Alphabet
4673 tvbuff_t *parameter_tvb;
4674 proto_tree *subtree;
4676 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4677 &parameter_tvb);
4679 if (!parameter_tvb)
4680 return offset;
4681 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_cbs_data_coding);
4682 dissect_cbs_data_coding_scheme(parameter_tvb, actx->pinfo, subtree, 0);
4686 return offset;
4692 dissect_gsm_map_ss_USSD_String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4693 #line 473 "../../asn1/gsm_map/gsm_map.cnf"
4695 tvbuff_t *parameter_tvb;
4696 guint length;
4697 guint8 out_len;
4698 /* XXX - The maximum item label length is 240. Does this really need to be 1024?
4699 * use ep_alloc ?
4701 static unsigned char msgbuf[1024];
4702 gchar *utf8_text = NULL;
4703 GIConv cd;
4704 GError *l_conv_error = NULL;
4706 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4707 &parameter_tvb);
4709 if (!parameter_tvb)
4710 return offset;
4712 length = tvb_ensure_length_remaining(parameter_tvb,0);
4713 switch(sms_encoding){
4714 case SMS_ENCODING_7BIT:
4715 case SMS_ENCODING_7BIT_LANG:
4716 out_len = gsm_sms_char_7bit_unpack(0, length, sizeof(msgbuf),
4717 tvb_get_ptr(parameter_tvb, 0, length),
4718 msgbuf);
4720 msgbuf[out_len] = '\0';
4721 utf8_text = gsm_sms_chars_to_utf8(msgbuf, out_len);
4722 proto_tree_add_text(tree, parameter_tvb, 0, length, "USSD String: %s", utf8_text);
4723 break;
4724 case SMS_ENCODING_8BIT:
4725 proto_tree_add_text(tree, parameter_tvb , 0, length, "USSD String: %s", tvb_get_string(wmem_packet_scope(), parameter_tvb, 0, length));
4726 break;
4727 case SMS_ENCODING_UCS2:
4728 case SMS_ENCODING_UCS2_LANG:
4729 if ((cd = g_iconv_open("UTF-8","UCS-2BE")) != (GIConv) -1)
4731 utf8_text = g_convert_with_iconv(tvb_get_ptr(parameter_tvb, 0, length), length, cd, NULL, NULL, &l_conv_error);
4732 if(!l_conv_error)
4733 proto_tree_add_text(tree, tvb, 0, length, "USSD String: %s", utf8_text);
4734 else
4735 proto_tree_add_text(tree, tvb, 0, length, "USSD String: g_convert_with_iconv FAILED");
4737 g_free(utf8_text);
4738 g_iconv_close(cd);
4740 else
4741 proto_tree_add_text(tree, tvb, 0, length, "USSD String: g_iconv_open FAILED contact wireshark");
4743 break;
4744 default:
4745 break;
4750 return offset;
4754 static const ber_sequence_t gsm_map_ss_USSD_Arg_sequence[] = {
4755 { &hf_gsm_map_ss_ussd_DataCodingScheme, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_USSD_DataCodingScheme },
4756 { &hf_gsm_map_ss_ussd_String, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_USSD_String },
4757 { &hf_gsm_map_ss_alertingPattern, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_AlertingPattern },
4758 { &hf_gsm_map_ss_msisdn , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
4759 { NULL, 0, 0, 0, NULL }
4763 dissect_gsm_map_ss_USSD_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4764 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4765 gsm_map_ss_USSD_Arg_sequence, hf_index, ett_gsm_map_ss_USSD_Arg);
4767 return offset;
4771 static const ber_sequence_t gsm_map_ss_USSD_Res_sequence[] = {
4772 { &hf_gsm_map_ss_ussd_DataCodingScheme, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_USSD_DataCodingScheme },
4773 { &hf_gsm_map_ss_ussd_String, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_USSD_String },
4774 { NULL, 0, 0, 0, NULL }
4778 dissect_gsm_map_ss_USSD_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4779 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4780 gsm_map_ss_USSD_Res_sequence, hf_index, ett_gsm_map_ss_USSD_Res);
4782 return offset;
4787 static int
4788 dissect_gsm_map_ss_Password(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4789 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
4790 actx, tree, tvb, offset, hf_index,
4791 NULL);
4793 return offset;
4797 static const ber_sequence_t gsm_map_ss_SS_List_sequence_of[1] = {
4798 { &hf_gsm_map_ss_SS_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
4801 static int
4802 dissect_gsm_map_ss_SS_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4803 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4804 gsm_map_ss_SS_List_sequence_of, hf_index, ett_gsm_map_ss_SS_List);
4806 return offset;
4810 static const ber_sequence_t gsm_map_ss_SS_EventSpecification_sequence_of[1] = {
4811 { &hf_gsm_map_ss_SS_EventSpecification_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AddressString },
4814 static int
4815 dissect_gsm_map_ss_SS_EventSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4816 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4817 gsm_map_ss_SS_EventSpecification_sequence_of, hf_index, ett_gsm_map_ss_SS_EventSpecification);
4819 return offset;
4823 static const value_string gsm_map_ss_CCBS_RequestState_vals[] = {
4824 { 0, "request" },
4825 { 1, "recall" },
4826 { 2, "active" },
4827 { 3, "completed" },
4828 { 4, "suspended" },
4829 { 5, "frozen" },
4830 { 6, "deleted" },
4831 { 0, NULL }
4835 static int
4836 dissect_gsm_map_ss_CCBS_RequestState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4837 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4838 NULL);
4840 return offset;
4844 static const ber_sequence_t gsm_map_ss_SS_InvocationNotificationArg_sequence[] = {
4845 { &hf_gsm_map_ss_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
4846 { &hf_gsm_map_ss_msisdn , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
4847 { &hf_gsm_map_ss_ss_Event , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
4848 { &hf_gsm_map_ss_ss_EventSpecification, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_EventSpecification },
4849 { &hf_gsm_map_ss_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
4850 { &hf_gsm_map_ss_b_subscriberNumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
4851 { &hf_gsm_map_ss_ccbs_RequestState, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_RequestState },
4852 { NULL, 0, 0, 0, NULL }
4855 static int
4856 dissect_gsm_map_ss_SS_InvocationNotificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4857 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4858 gsm_map_ss_SS_InvocationNotificationArg_sequence, hf_index, ett_gsm_map_ss_SS_InvocationNotificationArg);
4860 return offset;
4864 static const ber_sequence_t gsm_map_ss_SS_InvocationNotificationRes_sequence[] = {
4865 { &hf_gsm_map_ss_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
4866 { NULL, 0, 0, 0, NULL }
4869 static int
4870 dissect_gsm_map_ss_SS_InvocationNotificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4871 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4872 gsm_map_ss_SS_InvocationNotificationRes_sequence, hf_index, ett_gsm_map_ss_SS_InvocationNotificationRes);
4874 return offset;
4878 static const asn_namedbit gsm_map_ss_ServiceIndicator_bits[] = {
4879 { 0, &hf_gsm_map_ss_ServiceIndicator_clir_invoked, -1, -1, "clir-invoked", NULL },
4880 { 1, &hf_gsm_map_ss_ServiceIndicator_camel_invoked, -1, -1, "camel-invoked", NULL },
4881 { 0, NULL, 0, 0, NULL, NULL }
4884 static int
4885 dissect_gsm_map_ss_ServiceIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4886 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
4887 gsm_map_ss_ServiceIndicator_bits, hf_index, ett_gsm_map_ss_ServiceIndicator,
4888 NULL);
4890 return offset;
4894 static const ber_sequence_t gsm_map_ss_CCBS_Data_sequence[] = {
4895 { &hf_gsm_map_ss_ccbs_Feature, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Feature },
4896 { &hf_gsm_map_ss_translatedB_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
4897 { &hf_gsm_map_ss_serviceIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ServiceIndicator },
4898 { &hf_gsm_map_ss_callInfo , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
4899 { &hf_gsm_map_ss_networkSignalInfo, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
4900 { NULL, 0, 0, 0, NULL }
4903 static int
4904 dissect_gsm_map_ss_CCBS_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4905 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4906 gsm_map_ss_CCBS_Data_sequence, hf_index, ett_gsm_map_ss_CCBS_Data);
4908 return offset;
4912 static const ber_sequence_t gsm_map_ss_RegisterCC_EntryArg_sequence[] = {
4913 { &hf_gsm_map_ss_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
4914 { &hf_gsm_map_ss_ccbs_Data, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Data },
4915 { NULL, 0, 0, 0, NULL }
4918 static int
4919 dissect_gsm_map_ss_RegisterCC_EntryArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4920 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4921 gsm_map_ss_RegisterCC_EntryArg_sequence, hf_index, ett_gsm_map_ss_RegisterCC_EntryArg);
4923 return offset;
4927 static const ber_sequence_t gsm_map_ss_RegisterCC_EntryRes_sequence[] = {
4928 { &hf_gsm_map_ss_ccbs_Feature, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Feature },
4929 { NULL, 0, 0, 0, NULL }
4933 dissect_gsm_map_ss_RegisterCC_EntryRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4934 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4935 gsm_map_ss_RegisterCC_EntryRes_sequence, hf_index, ett_gsm_map_ss_RegisterCC_EntryRes);
4937 return offset;
4941 static const ber_sequence_t gsm_map_ss_EraseCC_EntryArg_sequence[] = {
4942 { &hf_gsm_map_ss_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
4943 { &hf_gsm_map_ss_ccbs_Index, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Index },
4944 { NULL, 0, 0, 0, NULL }
4948 dissect_gsm_map_ss_EraseCC_EntryArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4949 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4950 gsm_map_ss_EraseCC_EntryArg_sequence, hf_index, ett_gsm_map_ss_EraseCC_EntryArg);
4952 return offset;
4956 static const ber_sequence_t gsm_map_ss_EraseCC_EntryRes_sequence[] = {
4957 { &hf_gsm_map_ss_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
4958 { &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status },
4959 { NULL, 0, 0, 0, NULL }
4963 dissect_gsm_map_ss_EraseCC_EntryRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4964 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4965 gsm_map_ss_EraseCC_EntryRes_sequence, hf_index, ett_gsm_map_ss_EraseCC_EntryRes);
4967 return offset;
4971 /* --- Module MAP-ER-DataTypes --- --- --- */
4974 static const value_string gsm_map_er_RoamingNotAllowedCause_vals[] = {
4975 { 0, "plmnRoamingNotAllowed" },
4976 { 3, "operatorDeterminedBarring" },
4977 { 0, NULL }
4981 static int
4982 dissect_gsm_map_er_RoamingNotAllowedCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4983 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4984 NULL);
4986 return offset;
4990 static const value_string gsm_map_er_AdditionalRoamingNotAllowedCause_vals[] = {
4991 { 0, "supportedRAT-TypesNotAllowed" },
4992 { 0, NULL }
4996 static int
4997 dissect_gsm_map_er_AdditionalRoamingNotAllowedCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4998 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4999 NULL);
5001 return offset;
5005 static const ber_sequence_t gsm_map_er_RoamingNotAllowedParam_sequence[] = {
5006 { &hf_gsm_map_er_roamingNotAllowedCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_RoamingNotAllowedCause },
5007 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5008 { &hf_gsm_map_er_additionalRoamingNotAllowedCause, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AdditionalRoamingNotAllowedCause },
5009 { NULL, 0, 0, 0, NULL }
5012 static int
5013 dissect_gsm_map_er_RoamingNotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5014 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5015 gsm_map_er_RoamingNotAllowedParam_sequence, hf_index, ett_gsm_map_er_RoamingNotAllowedParam);
5017 return offset;
5021 static const value_string gsm_map_er_CallBarringCause_vals[] = {
5022 { 0, "barringServiceActive" },
5023 { 1, "operatorBarring" },
5024 { 0, NULL }
5028 static int
5029 dissect_gsm_map_er_CallBarringCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5030 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5031 NULL);
5033 return offset;
5038 static int
5039 dissect_gsm_map_er_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5040 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5042 return offset;
5046 static const ber_sequence_t gsm_map_er_ExtensibleCallBarredParam_sequence[] = {
5047 { &hf_gsm_map_er_callBarringCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_CallBarringCause },
5048 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5049 { &hf_gsm_map_er_unauthorisedMessageOriginator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL },
5050 { &hf_gsm_map_er_anonymousCallRejection, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL },
5051 { NULL, 0, 0, 0, NULL }
5054 static int
5055 dissect_gsm_map_er_ExtensibleCallBarredParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5056 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5057 gsm_map_er_ExtensibleCallBarredParam_sequence, hf_index, ett_gsm_map_er_ExtensibleCallBarredParam);
5059 return offset;
5063 static const value_string gsm_map_er_CallBarredParam_vals[] = {
5064 { 0, "callBarringCause" },
5065 { 1, "extensibleCallBarredParam" },
5066 { 0, NULL }
5069 static const ber_choice_t gsm_map_er_CallBarredParam_choice[] = {
5070 { 0, &hf_gsm_map_er_callBarringCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_CallBarringCause },
5071 { 1, &hf_gsm_map_er_extensibleCallBarredParam, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_ExtensibleCallBarredParam },
5072 { 0, NULL, 0, 0, 0, NULL }
5075 static int
5076 dissect_gsm_map_er_CallBarredParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5077 offset = dissect_ber_choice(actx, tree, tvb, offset,
5078 gsm_map_er_CallBarredParam_choice, hf_index, ett_gsm_map_er_CallBarredParam,
5079 NULL);
5081 return offset;
5085 static const value_string gsm_map_er_CUG_RejectCause_vals[] = {
5086 { 0, "incomingCallsBarredWithinCUG" },
5087 { 1, "subscriberNotMemberOfCUG" },
5088 { 5, "requestedBasicServiceViolatesCUG-Constraints" },
5089 { 7, "calledPartySS-InteractionViolation" },
5090 { 0, NULL }
5094 static int
5095 dissect_gsm_map_er_CUG_RejectCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5096 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5097 NULL);
5099 return offset;
5103 static const ber_sequence_t gsm_map_er_CUG_RejectParam_sequence[] = {
5104 { &hf_gsm_map_er_cug_RejectCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_CUG_RejectCause },
5105 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5106 { NULL, 0, 0, 0, NULL }
5109 static int
5110 dissect_gsm_map_er_CUG_RejectParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5111 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5112 gsm_map_er_CUG_RejectParam_sequence, hf_index, ett_gsm_map_er_CUG_RejectParam);
5114 return offset;
5118 static const ber_sequence_t gsm_map_er_SS_IncompatibilityCause_sequence[] = {
5119 { &hf_gsm_map_er_ss_Code , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
5120 { &hf_gsm_map_er_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode },
5121 { &hf_gsm_map_er_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status },
5122 { NULL, 0, 0, 0, NULL }
5125 static int
5126 dissect_gsm_map_er_SS_IncompatibilityCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5127 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5128 gsm_map_er_SS_IncompatibilityCause_sequence, hf_index, ett_gsm_map_er_SS_IncompatibilityCause);
5130 return offset;
5134 static const value_string gsm_map_er_PW_RegistrationFailureCause_vals[] = {
5135 { 0, "undetermined" },
5136 { 1, "invalidFormat" },
5137 { 2, "newPasswordsMismatch" },
5138 { 0, NULL }
5142 static int
5143 dissect_gsm_map_er_PW_RegistrationFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5144 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5145 NULL);
5147 return offset;
5151 static const value_string gsm_map_er_SM_EnumeratedDeliveryFailureCause_vals[] = {
5152 { 0, "memoryCapacityExceeded" },
5153 { 1, "equipmentProtocolError" },
5154 { 2, "equipmentNotSM-Equipped" },
5155 { 3, "unknownServiceCentre" },
5156 { 4, "sc-Congestion" },
5157 { 5, "invalidSME-Address" },
5158 { 6, "subscriberNotSC-Subscriber" },
5159 { 0, NULL }
5163 static int
5164 dissect_gsm_map_er_SM_EnumeratedDeliveryFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5165 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5166 NULL);
5168 return offset;
5172 static const ber_sequence_t gsm_map_er_SM_DeliveryFailureCause_sequence[] = {
5173 { &hf_gsm_map_er_sm_EnumeratedDeliveryFailureCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_SM_EnumeratedDeliveryFailureCause },
5174 { &hf_gsm_map_er_diagnosticInfo, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
5175 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5176 { NULL, 0, 0, 0, NULL }
5179 static int
5180 dissect_gsm_map_er_SM_DeliveryFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5181 #line 340 "../../asn1/gsm_map/gsm_map.cnf"
5182 /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
5183 guint8 oct;
5184 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5185 gsm_map_er_SM_DeliveryFailureCause_sequence, hf_index, ett_gsm_map_er_SM_DeliveryFailureCause);
5188 if (!actx->value_ptr)
5189 return offset;
5190 /* Detailed diagnostic information contains either a SMS-SUBMIT-REPORT or a SMS-DELIVERY-REPORT */
5191 oct = tvb_get_guint8((tvbuff_t*)actx->value_ptr, 0);
5192 actx->pinfo->p2p_dir = ((oct & 0x03) == 0) ? P2P_DIR_RECV : P2P_DIR_SENT;
5193 call_dissector_only(gsm_sms_handle, (tvbuff_t*)actx->value_ptr, actx->pinfo, top_tree, NULL);
5197 return offset;
5202 static int
5203 dissect_gsm_map_er_AbsentSubscriberDiagnosticSM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5204 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5205 NULL);
5207 return offset;
5211 static const ber_sequence_t gsm_map_er_AbsentSubscriberSM_Param_sequence[] = {
5212 { &hf_gsm_map_er_absentSubscriberDiagnosticSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
5213 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5214 { &hf_gsm_map_er_additionalAbsentSubscriberDiagnosticSM, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
5215 { &hf_gsm_map_er_imsi , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
5216 { NULL, 0, 0, 0, NULL }
5219 static int
5220 dissect_gsm_map_er_AbsentSubscriberSM_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5221 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5222 gsm_map_er_AbsentSubscriberSM_Param_sequence, hf_index, ett_gsm_map_er_AbsentSubscriberSM_Param);
5224 return offset;
5228 static const value_string gsm_map_er_FailureCauseParam_vals[] = {
5229 { 0, "limitReachedOnNumberOfConcurrentLocationRequests" },
5230 { 0, NULL }
5234 static int
5235 dissect_gsm_map_er_FailureCauseParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5236 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5237 NULL);
5239 return offset;
5243 static const ber_sequence_t gsm_map_er_ExtensibleSystemFailureParam_sequence[] = {
5244 { &hf_gsm_map_er_networkResource, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_NetworkResource },
5245 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5246 { &hf_gsm_map_er_additionalNetworkResource, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AdditionalNetworkResource },
5247 { &hf_gsm_map_er_failureCauseParam, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_FailureCauseParam },
5248 { NULL, 0, 0, 0, NULL }
5251 static int
5252 dissect_gsm_map_er_ExtensibleSystemFailureParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5253 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5254 gsm_map_er_ExtensibleSystemFailureParam_sequence, hf_index, ett_gsm_map_er_ExtensibleSystemFailureParam);
5256 return offset;
5260 static const value_string gsm_map_er_SystemFailureParam_vals[] = {
5261 { 0, "networkResource" },
5262 { 1, "extensibleSystemFailureParam" },
5263 { 0, NULL }
5266 static const ber_choice_t gsm_map_er_SystemFailureParam_choice[] = {
5267 { 0, &hf_gsm_map_er_networkResource, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_NetworkResource },
5268 { 1, &hf_gsm_map_er_extensibleSystemFailureParam, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_ExtensibleSystemFailureParam },
5269 { 0, NULL, 0, 0, 0, NULL }
5272 static int
5273 dissect_gsm_map_er_SystemFailureParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5274 offset = dissect_ber_choice(actx, tree, tvb, offset,
5275 gsm_map_er_SystemFailureParam_choice, hf_index, ett_gsm_map_er_SystemFailureParam,
5276 NULL);
5278 return offset;
5282 static const ber_sequence_t gsm_map_er_DataMissingParam_sequence[] = {
5283 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5284 { NULL, 0, 0, 0, NULL }
5287 static int
5288 dissect_gsm_map_er_DataMissingParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5289 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5290 gsm_map_er_DataMissingParam_sequence, hf_index, ett_gsm_map_er_DataMissingParam);
5292 return offset;
5296 static const ber_sequence_t gsm_map_er_UnexpectedDataParam_sequence[] = {
5297 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5298 { &hf_gsm_map_er_unexpectedSubscriber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL },
5299 { NULL, 0, 0, 0, NULL }
5302 static int
5303 dissect_gsm_map_er_UnexpectedDataParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5304 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5305 gsm_map_er_UnexpectedDataParam_sequence, hf_index, ett_gsm_map_er_UnexpectedDataParam);
5307 return offset;
5311 static const ber_sequence_t gsm_map_er_FacilityNotSupParam_sequence[] = {
5312 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5313 { &hf_gsm_map_er_shapeOfLocationEstimateNotSupported, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL },
5314 { &hf_gsm_map_er_neededLcsCapabilityNotSupportedInServingNode, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL },
5315 { NULL, 0, 0, 0, NULL }
5318 static int
5319 dissect_gsm_map_er_FacilityNotSupParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5320 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5321 gsm_map_er_FacilityNotSupParam_sequence, hf_index, ett_gsm_map_er_FacilityNotSupParam);
5323 return offset;
5327 static const ber_sequence_t gsm_map_er_OR_NotAllowedParam_sequence[] = {
5328 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5329 { NULL, 0, 0, 0, NULL }
5332 static int
5333 dissect_gsm_map_er_OR_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5334 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5335 gsm_map_er_OR_NotAllowedParam_sequence, hf_index, ett_gsm_map_er_OR_NotAllowedParam);
5337 return offset;
5341 static const value_string gsm_map_er_UnknownSubscriberDiagnostic_vals[] = {
5342 { 0, "imsiUnknown" },
5343 { 1, "gprs-eps-SubscriptionUnknown" },
5344 { 2, "npdbMismatch" },
5345 { 0, NULL }
5349 static int
5350 dissect_gsm_map_er_UnknownSubscriberDiagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5351 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5352 NULL);
5354 return offset;
5358 static const ber_sequence_t gsm_map_er_UnknownSubscriberParam_sequence[] = {
5359 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5360 { &hf_gsm_map_er_unknownSubscriberDiagnostic, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_UnknownSubscriberDiagnostic },
5361 { NULL, 0, 0, 0, NULL }
5364 static int
5365 dissect_gsm_map_er_UnknownSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5366 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5367 gsm_map_er_UnknownSubscriberParam_sequence, hf_index, ett_gsm_map_er_UnknownSubscriberParam);
5369 return offset;
5373 static const ber_sequence_t gsm_map_er_NumberChangedParam_sequence[] = {
5374 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5375 { NULL, 0, 0, 0, NULL }
5378 static int
5379 dissect_gsm_map_er_NumberChangedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5380 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5381 gsm_map_er_NumberChangedParam_sequence, hf_index, ett_gsm_map_er_NumberChangedParam);
5383 return offset;
5387 static const ber_sequence_t gsm_map_er_UnidentifiedSubParam_sequence[] = {
5388 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5389 { NULL, 0, 0, 0, NULL }
5392 static int
5393 dissect_gsm_map_er_UnidentifiedSubParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5394 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5395 gsm_map_er_UnidentifiedSubParam_sequence, hf_index, ett_gsm_map_er_UnidentifiedSubParam);
5397 return offset;
5401 static const ber_sequence_t gsm_map_er_IllegalSubscriberParam_sequence[] = {
5402 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5403 { NULL, 0, 0, 0, NULL }
5406 static int
5407 dissect_gsm_map_er_IllegalSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5408 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5409 gsm_map_er_IllegalSubscriberParam_sequence, hf_index, ett_gsm_map_er_IllegalSubscriberParam);
5411 return offset;
5415 static const ber_sequence_t gsm_map_er_IllegalEquipmentParam_sequence[] = {
5416 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5417 { NULL, 0, 0, 0, NULL }
5420 static int
5421 dissect_gsm_map_er_IllegalEquipmentParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5422 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5423 gsm_map_er_IllegalEquipmentParam_sequence, hf_index, ett_gsm_map_er_IllegalEquipmentParam);
5425 return offset;
5429 static const ber_sequence_t gsm_map_er_BearerServNotProvParam_sequence[] = {
5430 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5431 { NULL, 0, 0, 0, NULL }
5434 static int
5435 dissect_gsm_map_er_BearerServNotProvParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5436 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5437 gsm_map_er_BearerServNotProvParam_sequence, hf_index, ett_gsm_map_er_BearerServNotProvParam);
5439 return offset;
5443 static const ber_sequence_t gsm_map_er_TeleservNotProvParam_sequence[] = {
5444 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5445 { NULL, 0, 0, 0, NULL }
5448 static int
5449 dissect_gsm_map_er_TeleservNotProvParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5450 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5451 gsm_map_er_TeleservNotProvParam_sequence, hf_index, ett_gsm_map_er_TeleservNotProvParam);
5453 return offset;
5457 static const ber_sequence_t gsm_map_er_TracingBufferFullParam_sequence[] = {
5458 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5459 { NULL, 0, 0, 0, NULL }
5462 static int
5463 dissect_gsm_map_er_TracingBufferFullParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5464 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5465 gsm_map_er_TracingBufferFullParam_sequence, hf_index, ett_gsm_map_er_TracingBufferFullParam);
5467 return offset;
5471 static const ber_sequence_t gsm_map_er_NoRoamingNbParam_sequence[] = {
5472 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5473 { NULL, 0, 0, 0, NULL }
5476 static int
5477 dissect_gsm_map_er_NoRoamingNbParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5478 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5479 gsm_map_er_NoRoamingNbParam_sequence, hf_index, ett_gsm_map_er_NoRoamingNbParam);
5481 return offset;
5485 static const value_string gsm_map_er_AbsentSubscriberReason_vals[] = {
5486 { 0, "imsiDetach" },
5487 { 1, "restrictedArea" },
5488 { 2, "noPageResponse" },
5489 { 3, "purgedMS" },
5490 { 4, "mtRoamingRetry" },
5491 { 5, "busySubscriber" },
5492 { 0, NULL }
5496 static int
5497 dissect_gsm_map_er_AbsentSubscriberReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5498 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5499 NULL);
5501 return offset;
5505 static const ber_sequence_t gsm_map_er_AbsentSubscriberParam_sequence[] = {
5506 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5507 { &hf_gsm_map_er_absentSubscriberReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberReason },
5508 { NULL, 0, 0, 0, NULL }
5511 static int
5512 dissect_gsm_map_er_AbsentSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5513 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5514 gsm_map_er_AbsentSubscriberParam_sequence, hf_index, ett_gsm_map_er_AbsentSubscriberParam);
5516 return offset;
5520 static const ber_sequence_t gsm_map_er_BusySubscriberParam_sequence[] = {
5521 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5522 { &hf_gsm_map_er_ccbs_Possible, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL },
5523 { &hf_gsm_map_er_ccbs_Busy, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL },
5524 { NULL, 0, 0, 0, NULL }
5527 static int
5528 dissect_gsm_map_er_BusySubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5529 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5530 gsm_map_er_BusySubscriberParam_sequence, hf_index, ett_gsm_map_er_BusySubscriberParam);
5532 return offset;
5536 static const ber_sequence_t gsm_map_er_NoSubscriberReplyParam_sequence[] = {
5537 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5538 { NULL, 0, 0, 0, NULL }
5541 static int
5542 dissect_gsm_map_er_NoSubscriberReplyParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5543 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5544 gsm_map_er_NoSubscriberReplyParam_sequence, hf_index, ett_gsm_map_er_NoSubscriberReplyParam);
5546 return offset;
5550 static const ber_sequence_t gsm_map_er_ForwardingViolationParam_sequence[] = {
5551 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5552 { NULL, 0, 0, 0, NULL }
5555 static int
5556 dissect_gsm_map_er_ForwardingViolationParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5557 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5558 gsm_map_er_ForwardingViolationParam_sequence, hf_index, ett_gsm_map_er_ForwardingViolationParam);
5560 return offset;
5564 static const ber_sequence_t gsm_map_er_ForwardingFailedParam_sequence[] = {
5565 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5566 { NULL, 0, 0, 0, NULL }
5569 static int
5570 dissect_gsm_map_er_ForwardingFailedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5571 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5572 gsm_map_er_ForwardingFailedParam_sequence, hf_index, ett_gsm_map_er_ForwardingFailedParam);
5574 return offset;
5578 static const ber_sequence_t gsm_map_er_ATI_NotAllowedParam_sequence[] = {
5579 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5580 { NULL, 0, 0, 0, NULL }
5583 static int
5584 dissect_gsm_map_er_ATI_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5585 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5586 gsm_map_er_ATI_NotAllowedParam_sequence, hf_index, ett_gsm_map_er_ATI_NotAllowedParam);
5588 return offset;
5592 static const ber_sequence_t gsm_map_er_ATSI_NotAllowedParam_sequence[] = {
5593 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5594 { NULL, 0, 0, 0, NULL }
5597 static int
5598 dissect_gsm_map_er_ATSI_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5599 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5600 gsm_map_er_ATSI_NotAllowedParam_sequence, hf_index, ett_gsm_map_er_ATSI_NotAllowedParam);
5602 return offset;
5606 static const ber_sequence_t gsm_map_er_ATM_NotAllowedParam_sequence[] = {
5607 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5608 { NULL, 0, 0, 0, NULL }
5611 static int
5612 dissect_gsm_map_er_ATM_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5613 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5614 gsm_map_er_ATM_NotAllowedParam_sequence, hf_index, ett_gsm_map_er_ATM_NotAllowedParam);
5616 return offset;
5620 static const ber_sequence_t gsm_map_er_IllegalSS_OperationParam_sequence[] = {
5621 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5622 { NULL, 0, 0, 0, NULL }
5625 static int
5626 dissect_gsm_map_er_IllegalSS_OperationParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5627 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5628 gsm_map_er_IllegalSS_OperationParam_sequence, hf_index, ett_gsm_map_er_IllegalSS_OperationParam);
5630 return offset;
5634 static const ber_sequence_t gsm_map_er_SS_NotAvailableParam_sequence[] = {
5635 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5636 { NULL, 0, 0, 0, NULL }
5639 static int
5640 dissect_gsm_map_er_SS_NotAvailableParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5641 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5642 gsm_map_er_SS_NotAvailableParam_sequence, hf_index, ett_gsm_map_er_SS_NotAvailableParam);
5644 return offset;
5648 static const ber_sequence_t gsm_map_er_SS_SubscriptionViolationParam_sequence[] = {
5649 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5650 { NULL, 0, 0, 0, NULL }
5653 static int
5654 dissect_gsm_map_er_SS_SubscriptionViolationParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5655 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5656 gsm_map_er_SS_SubscriptionViolationParam_sequence, hf_index, ett_gsm_map_er_SS_SubscriptionViolationParam);
5658 return offset;
5662 static const ber_sequence_t gsm_map_er_InformationNotAvailableParam_sequence[] = {
5663 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5664 { NULL, 0, 0, 0, NULL }
5667 static int
5668 dissect_gsm_map_er_InformationNotAvailableParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5669 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5670 gsm_map_er_InformationNotAvailableParam_sequence, hf_index, ett_gsm_map_er_InformationNotAvailableParam);
5672 return offset;
5676 static const ber_sequence_t gsm_map_er_SubBusyForMT_SMS_Param_sequence[] = {
5677 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5678 { &hf_gsm_map_er_gprsConnectionSuspended, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_NULL },
5679 { NULL, 0, 0, 0, NULL }
5682 static int
5683 dissect_gsm_map_er_SubBusyForMT_SMS_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5684 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5685 gsm_map_er_SubBusyForMT_SMS_Param_sequence, hf_index, ett_gsm_map_er_SubBusyForMT_SMS_Param);
5687 return offset;
5691 static const ber_sequence_t gsm_map_er_MessageWaitListFullParam_sequence[] = {
5692 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5693 { NULL, 0, 0, 0, NULL }
5696 static int
5697 dissect_gsm_map_er_MessageWaitListFullParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5698 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5699 gsm_map_er_MessageWaitListFullParam_sequence, hf_index, ett_gsm_map_er_MessageWaitListFullParam);
5701 return offset;
5705 static const ber_sequence_t gsm_map_er_ResourceLimitationParam_sequence[] = {
5706 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5707 { NULL, 0, 0, 0, NULL }
5710 static int
5711 dissect_gsm_map_er_ResourceLimitationParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5712 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5713 gsm_map_er_ResourceLimitationParam_sequence, hf_index, ett_gsm_map_er_ResourceLimitationParam);
5715 return offset;
5719 static const ber_sequence_t gsm_map_er_NoGroupCallNbParam_sequence[] = {
5720 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5721 { NULL, 0, 0, 0, NULL }
5724 static int
5725 dissect_gsm_map_er_NoGroupCallNbParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5726 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5727 gsm_map_er_NoGroupCallNbParam_sequence, hf_index, ett_gsm_map_er_NoGroupCallNbParam);
5729 return offset;
5733 static const ber_sequence_t gsm_map_er_IncompatibleTerminalParam_sequence[] = {
5734 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5735 { NULL, 0, 0, 0, NULL }
5738 static int
5739 dissect_gsm_map_er_IncompatibleTerminalParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5740 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5741 gsm_map_er_IncompatibleTerminalParam_sequence, hf_index, ett_gsm_map_er_IncompatibleTerminalParam);
5743 return offset;
5747 static const ber_sequence_t gsm_map_er_ShortTermDenialParam_sequence[] = {
5748 { NULL, 0, 0, 0, NULL }
5751 static int
5752 dissect_gsm_map_er_ShortTermDenialParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5753 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5754 gsm_map_er_ShortTermDenialParam_sequence, hf_index, ett_gsm_map_er_ShortTermDenialParam);
5756 return offset;
5760 static const ber_sequence_t gsm_map_er_LongTermDenialParam_sequence[] = {
5761 { NULL, 0, 0, 0, NULL }
5764 static int
5765 dissect_gsm_map_er_LongTermDenialParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5766 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5767 gsm_map_er_LongTermDenialParam_sequence, hf_index, ett_gsm_map_er_LongTermDenialParam);
5769 return offset;
5773 static const ber_sequence_t gsm_map_er_UnauthorizedRequestingNetwork_Param_sequence[] = {
5774 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5775 { NULL, 0, 0, 0, NULL }
5778 static int
5779 dissect_gsm_map_er_UnauthorizedRequestingNetwork_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5780 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5781 gsm_map_er_UnauthorizedRequestingNetwork_Param_sequence, hf_index, ett_gsm_map_er_UnauthorizedRequestingNetwork_Param);
5783 return offset;
5787 const value_string gsm_map_er_UnauthorizedLCSClient_Diagnostic_vals[] = {
5788 { 0, "noAdditionalInformation" },
5789 { 1, "clientNotInMSPrivacyExceptionList" },
5790 { 2, "callToClientNotSetup" },
5791 { 3, "privacyOverrideNotApplicable" },
5792 { 4, "disallowedByLocalRegulatoryRequirements" },
5793 { 5, "unauthorizedPrivacyClass" },
5794 { 6, "unauthorizedCallSessionUnrelatedExternalClient" },
5795 { 7, "unauthorizedCallSessionRelatedExternalClient" },
5796 { 0, NULL }
5801 dissect_gsm_map_er_UnauthorizedLCSClient_Diagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5802 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5803 NULL);
5805 return offset;
5809 static const ber_sequence_t gsm_map_er_UnauthorizedLCSClient_Param_sequence[] = {
5810 { &hf_gsm_map_er_unauthorizedLCSClient_Diagnostic, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_UnauthorizedLCSClient_Diagnostic },
5811 { &hf_gsm_map_er_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
5812 { NULL, 0, 0, 0, NULL }
5815 static int
5816 dissect_gsm_map_er_UnauthorizedLCSClient_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5817 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5818 gsm_map_er_UnauthorizedLCSClient_Param_sequence, hf_index, ett_gsm_map_er_UnauthorizedLCSClient_Param);
5820 return offset;
5824 const value_string gsm_map_er_PositionMethodFailure_Diagnostic_vals[] = {
5825 { 0, "congestion" },
5826 { 1, "insufficientResources" },
5827 { 2, "insufficientMeasurementData" },
5828 { 3, "inconsistentMeasurementData" },
5829 { 4, "locationProcedureNotCompleted" },
5830 { 5, "locationProcedureNotSupportedByTargetMS" },
5831 { 6, "qoSNotAttainable" },
5832 { 7, "positionMethodNotAvailableInNetwork" },
5833 { 8, "positionMethodNotAvailableInLocationArea" },
5834 { 0, NULL }
5839 dissect_gsm_map_er_PositionMethodFailure_Diagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5840 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5841 NULL);
5843 return offset;
5847 static const ber_sequence_t gsm_map_er_PositionMethodFailure_Param_sequence[] = {
5848 { &hf_gsm_map_er_positionMethodFailure_Diagnostic, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_PositionMethodFailure_Diagnostic },
5849 { &hf_gsm_map_er_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
5850 { NULL, 0, 0, 0, NULL }
5853 static int
5854 dissect_gsm_map_er_PositionMethodFailure_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5855 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5856 gsm_map_er_PositionMethodFailure_Param_sequence, hf_index, ett_gsm_map_er_PositionMethodFailure_Param);
5858 return offset;
5862 static const ber_sequence_t gsm_map_er_UnknownOrUnreachableLCSClient_Param_sequence[] = {
5863 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5864 { NULL, 0, 0, 0, NULL }
5867 static int
5868 dissect_gsm_map_er_UnknownOrUnreachableLCSClient_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5869 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5870 gsm_map_er_UnknownOrUnreachableLCSClient_Param_sequence, hf_index, ett_gsm_map_er_UnknownOrUnreachableLCSClient_Param);
5872 return offset;
5876 static const ber_sequence_t gsm_map_er_MM_EventNotSupported_Param_sequence[] = {
5877 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5878 { NULL, 0, 0, 0, NULL }
5881 static int
5882 dissect_gsm_map_er_MM_EventNotSupported_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5883 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5884 gsm_map_er_MM_EventNotSupported_Param_sequence, hf_index, ett_gsm_map_er_MM_EventNotSupported_Param);
5886 return offset;
5890 static const ber_sequence_t gsm_map_er_TargetCellOutsideGCA_Param_sequence[] = {
5891 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5892 { NULL, 0, 0, 0, NULL }
5895 static int
5896 dissect_gsm_map_er_TargetCellOutsideGCA_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5897 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5898 gsm_map_er_TargetCellOutsideGCA_Param_sequence, hf_index, ett_gsm_map_er_TargetCellOutsideGCA_Param);
5900 return offset;
5904 static const ber_sequence_t gsm_map_er_OngoingGroupCallParam_sequence[] = {
5905 { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5906 { NULL, 0, 0, 0, NULL }
5909 static int
5910 dissect_gsm_map_er_OngoingGroupCallParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5911 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5912 gsm_map_er_OngoingGroupCallParam_sequence, hf_index, ett_gsm_map_er_OngoingGroupCallParam);
5914 return offset;
5918 /* --- Module MAP-SM-DataTypes --- --- --- */
5922 static int
5923 dissect_gsm_map_sm_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5924 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
5926 return offset;
5931 static int
5932 dissect_gsm_map_sm_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5933 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5935 return offset;
5940 static int
5941 dissect_gsm_map_sm_SM_RP_MTI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5942 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5943 NULL);
5945 return offset;
5950 static int
5951 dissect_gsm_map_sm_SM_RP_SMEA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5952 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5953 NULL);
5955 return offset;
5959 static const value_string gsm_map_sm_SM_DeliveryNotIntended_vals[] = {
5960 { 0, "onlyIMSI-requested" },
5961 { 1, "onlyMCC-MNC-requested" },
5962 { 0, NULL }
5966 static int
5967 dissect_gsm_map_sm_SM_DeliveryNotIntended(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5968 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5969 NULL);
5971 return offset;
5975 static const ber_sequence_t gsm_map_sm_RoutingInfoForSM_Arg_sequence[] = {
5976 { &hf_gsm_map_sm_msisdn , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
5977 { &hf_gsm_map_sm_sm_RP_PRI, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_BOOLEAN },
5978 { &hf_gsm_map_sm_serviceCentreAddress, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
5979 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
5980 { &hf_gsm_map_sm_gprsSupportIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
5981 { &hf_gsm_map_sm_sm_RP_MTI, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_RP_MTI },
5982 { &hf_gsm_map_sm_sm_RP_SMEA, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_RP_SMEA },
5983 { &hf_gsm_map_sm_sm_deliveryNotIntended, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_DeliveryNotIntended },
5984 { &hf_gsm_map_sm_ip_sm_gwGuidanceIndicator, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
5985 { &hf_gsm_map_sm_imsi , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
5986 { NULL, 0, 0, 0, NULL }
5989 static int
5990 dissect_gsm_map_sm_RoutingInfoForSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5991 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5992 gsm_map_sm_RoutingInfoForSM_Arg_sequence, hf_index, ett_gsm_map_sm_RoutingInfoForSM_Arg);
5994 return offset;
5998 static const value_string gsm_map_sm_Additional_Number_vals[] = {
5999 { 0, "msc-Number" },
6000 { 1, "sgsn-Number" },
6001 { 0, NULL }
6004 static const ber_choice_t gsm_map_sm_Additional_Number_choice[] = {
6005 { 0, &hf_gsm_map_sm_msc_Number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
6006 { 1, &hf_gsm_map_sm_sgsn_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
6007 { 0, NULL, 0, 0, 0, NULL }
6010 static int
6011 dissect_gsm_map_sm_Additional_Number(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6012 offset = dissect_ber_choice(actx, tree, tvb, offset,
6013 gsm_map_sm_Additional_Number_choice, hf_index, ett_gsm_map_sm_Additional_Number,
6014 NULL);
6016 return offset;
6020 static const ber_sequence_t gsm_map_sm_LocationInfoWithLMSI_sequence[] = {
6021 { &hf_gsm_map_sm_networkNode_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
6022 { &hf_gsm_map_sm_lmsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_LMSI },
6023 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6024 { &hf_gsm_map_sm_gprsNodeIndicator, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6025 { &hf_gsm_map_sm_additional_Number, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_Additional_Number },
6026 { &hf_gsm_map_sm_networkNodeDiameterAddress, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
6027 { &hf_gsm_map_sm_additionalNetworkNodeDiameterAddress, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
6028 { &hf_gsm_map_sm_thirdNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_Additional_Number },
6029 { &hf_gsm_map_sm_thirdNetworkNodeDiameterAddress, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
6030 { &hf_gsm_map_sm_imsNodeIndicator, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6031 { NULL, 0, 0, 0, NULL }
6034 static int
6035 dissect_gsm_map_sm_LocationInfoWithLMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6036 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6037 gsm_map_sm_LocationInfoWithLMSI_sequence, hf_index, ett_gsm_map_sm_LocationInfoWithLMSI);
6039 return offset;
6044 static int
6045 dissect_gsm_map_sm_SM_DeliveryTimerValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6046 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6047 NULL);
6049 return offset;
6053 static const ber_sequence_t gsm_map_sm_IP_SM_GW_Guidance_sequence[] = {
6054 { &hf_gsm_map_sm_minimumDeliveryTimeValue, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_SM_DeliveryTimerValue },
6055 { &hf_gsm_map_sm_recommendedDeliveryTimeValue, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_SM_DeliveryTimerValue },
6056 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6057 { NULL, 0, 0, 0, NULL }
6060 static int
6061 dissect_gsm_map_sm_IP_SM_GW_Guidance(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6062 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6063 gsm_map_sm_IP_SM_GW_Guidance_sequence, hf_index, ett_gsm_map_sm_IP_SM_GW_Guidance);
6065 return offset;
6069 static const ber_sequence_t gsm_map_sm_RoutingInfoForSM_Res_sequence[] = {
6070 { &hf_gsm_map_sm_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
6071 { &hf_gsm_map_sm_locationInfoWithLMSI, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_LocationInfoWithLMSI },
6072 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
6073 { &hf_gsm_map_sm_ip_sm_gwGuidance, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_IP_SM_GW_Guidance },
6074 { NULL, 0, 0, 0, NULL }
6077 static int
6078 dissect_gsm_map_sm_RoutingInfoForSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6079 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6080 gsm_map_sm_RoutingInfoForSM_Res_sequence, hf_index, ett_gsm_map_sm_RoutingInfoForSM_Res);
6082 return offset;
6087 static int
6088 dissect_gsm_map_sm_T_imsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6089 #line 309 "../../asn1/gsm_map/gsm_map.cnf"
6090 actx->pinfo->p2p_dir = P2P_DIR_SENT;
6091 offset = dissect_gsm_map_IMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
6096 return offset;
6101 static int
6102 dissect_gsm_map_sm_T_lmsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6103 #line 313 "../../asn1/gsm_map/gsm_map.cnf"
6104 actx->pinfo->p2p_dir = P2P_DIR_SENT;
6105 offset = dissect_gsm_map_LMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
6110 return offset;
6115 static int
6116 dissect_gsm_map_sm_T_serviceCentreAddressDA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6117 #line 329 "../../asn1/gsm_map/gsm_map.cnf"
6118 actx->pinfo->p2p_dir = P2P_DIR_RECV;
6119 offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
6124 return offset;
6128 const value_string gsm_map_sm_SM_RP_DA_vals[] = {
6129 { 0, "imsi" },
6130 { 1, "lmsi" },
6131 { 4, "serviceCentreAddressDA" },
6132 { 5, "noSM-RP-DA" },
6133 { 0, NULL }
6136 static const ber_choice_t gsm_map_sm_SM_RP_DA_choice[] = {
6137 { 0, &hf_gsm_map_sm_imsi_01 , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_T_imsi },
6138 { 1, &hf_gsm_map_sm_lmsi_01 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_T_lmsi },
6139 { 4, &hf_gsm_map_sm_serviceCentreAddressDA, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_T_serviceCentreAddressDA },
6140 { 5, &hf_gsm_map_sm_noSM_RP_DA, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6141 { 0, NULL, 0, 0, 0, NULL }
6145 dissect_gsm_map_sm_SM_RP_DA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6146 offset = dissect_ber_choice(actx, tree, tvb, offset,
6147 gsm_map_sm_SM_RP_DA_choice, hf_index, ett_gsm_map_sm_SM_RP_DA,
6148 NULL);
6150 return offset;
6155 static int
6156 dissect_gsm_map_sm_T_msisdn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6157 #line 321 "../../asn1/gsm_map/gsm_map.cnf"
6158 actx->pinfo->p2p_dir = P2P_DIR_RECV;
6159 offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
6164 return offset;
6169 static int
6170 dissect_gsm_map_sm_T_serviceCentreAddressOA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6171 #line 297 "../../asn1/gsm_map/gsm_map.cnf"
6172 actx->pinfo->p2p_dir = P2P_DIR_SENT;
6173 offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
6178 return offset;
6182 const value_string gsm_map_sm_SM_RP_OA_vals[] = {
6183 { 2, "msisdn" },
6184 { 4, "serviceCentreAddressOA" },
6185 { 5, "noSM-RP-OA" },
6186 { 0, NULL }
6189 static const ber_choice_t gsm_map_sm_SM_RP_OA_choice[] = {
6190 { 2, &hf_gsm_map_sm_msisdn_01, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_T_msisdn },
6191 { 4, &hf_gsm_map_sm_serviceCentreAddressOA, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_T_serviceCentreAddressOA },
6192 { 5, &hf_gsm_map_sm_noSM_RP_OA, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6193 { 0, NULL, 0, 0, 0, NULL }
6197 dissect_gsm_map_sm_SM_RP_OA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6198 offset = dissect_ber_choice(actx, tree, tvb, offset,
6199 gsm_map_sm_SM_RP_OA_choice, hf_index, ett_gsm_map_sm_SM_RP_OA,
6200 NULL);
6202 return offset;
6206 static const ber_sequence_t gsm_map_sm_MO_ForwardSM_Arg_sequence[] = {
6207 { &hf_gsm_map_sm_sm_RP_DA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_DA },
6208 { &hf_gsm_map_sm_sm_RP_OA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_OA },
6209 { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
6210 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6211 { &hf_gsm_map_sm_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
6212 { NULL, 0, 0, 0, NULL }
6215 static int
6216 dissect_gsm_map_sm_MO_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6217 #line 361 "../../asn1/gsm_map/gsm_map.cnf"
6219 /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
6220 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6221 gsm_map_sm_MO_ForwardSM_Arg_sequence, hf_index, ett_gsm_map_sm_MO_ForwardSM_Arg);
6224 if (!actx->value_ptr)
6225 return offset;
6226 call_dissector_only(gsm_sms_handle, (tvbuff_t*)actx->value_ptr, actx->pinfo, top_tree, NULL);
6230 return offset;
6234 static const ber_sequence_t gsm_map_sm_MO_ForwardSM_Res_sequence[] = {
6235 { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
6236 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6237 { NULL, 0, 0, 0, NULL }
6240 static int
6241 dissect_gsm_map_sm_MO_ForwardSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6242 #line 370 "../../asn1/gsm_map/gsm_map.cnf"
6244 /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
6245 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6246 gsm_map_sm_MO_ForwardSM_Res_sequence, hf_index, ett_gsm_map_sm_MO_ForwardSM_Res);
6249 if (!actx->value_ptr)
6250 return offset;
6251 call_dissector_only(gsm_sms_handle, (tvbuff_t*)actx->value_ptr, actx->pinfo, top_tree, NULL);
6255 return offset;
6259 static const ber_sequence_t gsm_map_sm_MT_ForwardSM_Arg_sequence[] = {
6260 { &hf_gsm_map_sm_sm_RP_DA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_DA },
6261 { &hf_gsm_map_sm_sm_RP_OA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_OA },
6262 { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
6263 { &hf_gsm_map_sm_moreMessagesToSend, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_NULL },
6264 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6265 { &hf_gsm_map_sm_smDeliveryTimer, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_SM_DeliveryTimerValue },
6266 { &hf_gsm_map_sm_smDeliveryStartTime, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_Time },
6267 { &hf_gsm_map_sm_smsOverIP_OnlyIndicator, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6268 { NULL, 0, 0, 0, NULL }
6271 static int
6272 dissect_gsm_map_sm_MT_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6273 #line 379 "../../asn1/gsm_map/gsm_map.cnf"
6275 /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
6276 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6277 gsm_map_sm_MT_ForwardSM_Arg_sequence, hf_index, ett_gsm_map_sm_MT_ForwardSM_Arg);
6280 if (!actx->value_ptr)
6281 return offset;
6282 call_dissector_only(gsm_sms_handle, (tvbuff_t*)actx->value_ptr, actx->pinfo, top_tree, NULL);
6286 return offset;
6290 static const ber_sequence_t gsm_map_sm_MT_ForwardSM_Res_sequence[] = {
6291 { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
6292 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6293 { NULL, 0, 0, 0, NULL }
6296 static int
6297 dissect_gsm_map_sm_MT_ForwardSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6298 #line 388 "../../asn1/gsm_map/gsm_map.cnf"
6300 /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
6301 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6302 gsm_map_sm_MT_ForwardSM_Res_sequence, hf_index, ett_gsm_map_sm_MT_ForwardSM_Res);
6305 if (!actx->value_ptr)
6306 return offset;
6307 call_dissector_only(gsm_sms_handle, (tvbuff_t*)actx->value_ptr, actx->pinfo, top_tree, NULL);
6311 return offset;
6315 static const value_string gsm_map_sm_SM_DeliveryOutcome_vals[] = {
6316 { 0, "memoryCapacityExceeded" },
6317 { 1, "absentSubscriber" },
6318 { 2, "successfulTransfer" },
6319 { 0, NULL }
6323 static int
6324 dissect_gsm_map_sm_SM_DeliveryOutcome(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6325 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6326 NULL);
6328 return offset;
6332 static const ber_sequence_t gsm_map_sm_ReportSM_DeliveryStatusArg_sequence[] = {
6333 { &hf_gsm_map_sm_msisdn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
6334 { &hf_gsm_map_sm_serviceCentreAddress, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AddressString },
6335 { &hf_gsm_map_sm_sm_DeliveryOutcome, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_SM_DeliveryOutcome },
6336 { &hf_gsm_map_sm_absentSubscriberDiagnosticSM, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
6337 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
6338 { &hf_gsm_map_sm_gprsSupportIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6339 { &hf_gsm_map_sm_deliveryOutcomeIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6340 { &hf_gsm_map_sm_additionalSM_DeliveryOutcome, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_DeliveryOutcome },
6341 { &hf_gsm_map_sm_additionalAbsentSubscriberDiagnosticSM, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
6342 { &hf_gsm_map_sm_ip_sm_gw_Indicator, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6343 { &hf_gsm_map_sm_ip_sm_gw_sm_deliveryOutcome, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_DeliveryOutcome },
6344 { &hf_gsm_map_sm_ip_sm_gw_absentSubscriberDiagnosticSM, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
6345 { &hf_gsm_map_sm_imsi , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
6346 { NULL, 0, 0, 0, NULL }
6349 static int
6350 dissect_gsm_map_sm_ReportSM_DeliveryStatusArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6351 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6352 gsm_map_sm_ReportSM_DeliveryStatusArg_sequence, hf_index, ett_gsm_map_sm_ReportSM_DeliveryStatusArg);
6354 return offset;
6358 static const ber_sequence_t gsm_map_sm_ReportSM_DeliveryStatusRes_sequence[] = {
6359 { &hf_gsm_map_sm_storedMSISDN, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
6360 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6361 { NULL, 0, 0, 0, NULL }
6364 static int
6365 dissect_gsm_map_sm_ReportSM_DeliveryStatusRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6366 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6367 gsm_map_sm_ReportSM_DeliveryStatusRes_sequence, hf_index, ett_gsm_map_sm_ReportSM_DeliveryStatusRes);
6369 return offset;
6373 static const ber_sequence_t gsm_map_sm_AlertServiceCentreArg_sequence[] = {
6374 { &hf_gsm_map_sm_msisdn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
6375 { &hf_gsm_map_sm_serviceCentreAddress, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AddressString },
6376 { &hf_gsm_map_sm_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
6377 { NULL, 0, 0, 0, NULL }
6380 static int
6381 dissect_gsm_map_sm_AlertServiceCentreArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6382 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6383 gsm_map_sm_AlertServiceCentreArg_sequence, hf_index, ett_gsm_map_sm_AlertServiceCentreArg);
6385 return offset;
6389 static const asn_namedbit gsm_map_sm_MW_Status_bits[] = {
6390 { 0, &hf_gsm_map_sm_MW_Status_sc_AddressNotIncluded, -1, -1, "sc-AddressNotIncluded", NULL },
6391 { 1, &hf_gsm_map_sm_MW_Status_mnrf_Set, -1, -1, "mnrf-Set", NULL },
6392 { 2, &hf_gsm_map_sm_MW_Status_mcef_Set, -1, -1, "mcef-Set", NULL },
6393 { 3, &hf_gsm_map_sm_MW_Status_mnrg_Set, -1, -1, "mnrg-Set", NULL },
6394 { 0, NULL, 0, 0, NULL, NULL }
6397 static int
6398 dissect_gsm_map_sm_MW_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6399 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6400 gsm_map_sm_MW_Status_bits, hf_index, ett_gsm_map_sm_MW_Status,
6401 NULL);
6403 return offset;
6407 static const ber_sequence_t gsm_map_sm_InformServiceCentreArg_sequence[] = {
6408 { &hf_gsm_map_sm_storedMSISDN, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
6409 { &hf_gsm_map_sm_mw_Status, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_MW_Status },
6410 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6411 { &hf_gsm_map_sm_absentSubscriberDiagnosticSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
6412 { &hf_gsm_map_sm_additionalAbsentSubscriberDiagnosticSM, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
6413 { NULL, 0, 0, 0, NULL }
6416 static int
6417 dissect_gsm_map_sm_InformServiceCentreArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6418 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6419 gsm_map_sm_InformServiceCentreArg_sequence, hf_index, ett_gsm_map_sm_InformServiceCentreArg);
6421 return offset;
6425 static const value_string gsm_map_sm_AlertReason_vals[] = {
6426 { 0, "ms-Present" },
6427 { 1, "memoryAvailable" },
6428 { 0, NULL }
6432 static int
6433 dissect_gsm_map_sm_AlertReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6434 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6435 NULL);
6437 return offset;
6441 static const ber_sequence_t gsm_map_sm_ReadyForSM_Arg_sequence[] = {
6442 { &hf_gsm_map_sm_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
6443 { &hf_gsm_map_sm_alertReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_AlertReason },
6444 { &hf_gsm_map_sm_alertReasonIndicator, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_NULL },
6445 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6446 { &hf_gsm_map_sm_additionalAlertReasonIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6447 { NULL, 0, 0, 0, NULL }
6450 static int
6451 dissect_gsm_map_sm_ReadyForSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6452 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6453 gsm_map_sm_ReadyForSM_Arg_sequence, hf_index, ett_gsm_map_sm_ReadyForSM_Arg);
6455 return offset;
6459 static const ber_sequence_t gsm_map_sm_ReadyForSM_Res_sequence[] = {
6460 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6461 { NULL, 0, 0, 0, NULL }
6464 static int
6465 dissect_gsm_map_sm_ReadyForSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6466 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6467 gsm_map_sm_ReadyForSM_Res_sequence, hf_index, ett_gsm_map_sm_ReadyForSM_Res);
6469 return offset;
6473 static const ber_sequence_t gsm_map_sm_MT_ForwardSM_VGCS_Arg_sequence[] = {
6474 { &hf_gsm_map_sm_asciCallReference, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ASCI_CallReference },
6475 { &hf_gsm_map_sm_sm_RP_OA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_OA },
6476 { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
6477 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6478 { NULL, 0, 0, 0, NULL }
6481 static int
6482 dissect_gsm_map_sm_MT_ForwardSM_VGCS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6483 #line 397 "../../asn1/gsm_map/gsm_map.cnf"
6485 /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
6486 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6487 gsm_map_sm_MT_ForwardSM_VGCS_Arg_sequence, hf_index, ett_gsm_map_sm_MT_ForwardSM_VGCS_Arg);
6490 if (!actx->value_ptr)
6491 return offset;
6492 call_dissector_only(gsm_sms_handle, (tvbuff_t*)actx->value_ptr, actx->pinfo, top_tree, NULL);
6496 return offset;
6500 static const ber_sequence_t gsm_map_sm_DispatcherList_sequence_of[1] = {
6501 { &hf_gsm_map_sm_DispatcherList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
6504 static int
6505 dissect_gsm_map_sm_DispatcherList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6506 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6507 gsm_map_sm_DispatcherList_sequence_of, hf_index, ett_gsm_map_sm_DispatcherList);
6509 return offset;
6513 static const ber_sequence_t gsm_map_sm_AdditionalDispatcherList_sequence_of[1] = {
6514 { &hf_gsm_map_sm_AdditionalDispatcherList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
6517 static int
6518 dissect_gsm_map_sm_AdditionalDispatcherList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6519 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6520 gsm_map_sm_AdditionalDispatcherList_sequence_of, hf_index, ett_gsm_map_sm_AdditionalDispatcherList);
6522 return offset;
6526 static const ber_sequence_t gsm_map_sm_MT_ForwardSM_VGCS_Res_sequence[] = {
6527 { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SignalInfo },
6528 { &hf_gsm_map_sm_dispatcherList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_DispatcherList },
6529 { &hf_gsm_map_sm_ongoingCall, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_NULL },
6530 { &hf_gsm_map_sm_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
6531 { &hf_gsm_map_sm_additionalDispatcherList, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_AdditionalDispatcherList },
6532 { NULL, 0, 0, 0, NULL }
6535 static int
6536 dissect_gsm_map_sm_MT_ForwardSM_VGCS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6537 #line 406 "../../asn1/gsm_map/gsm_map.cnf"
6539 /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
6540 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6541 gsm_map_sm_MT_ForwardSM_VGCS_Res_sequence, hf_index, ett_gsm_map_sm_MT_ForwardSM_VGCS_Res);
6544 if (!actx->value_ptr)
6545 return offset;
6546 call_dissector_only(gsm_sms_handle, (tvbuff_t*)actx->value_ptr, actx->pinfo, top_tree, NULL);
6550 return offset;
6554 /* --- Module MAP-OM-DataTypes --- --- --- */
6558 static int
6559 dissect_gsm_map_om_TraceReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6560 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6561 NULL);
6563 return offset;
6568 static int
6569 dissect_gsm_map_om_TraceType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6570 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6571 NULL);
6573 return offset;
6578 static int
6579 dissect_gsm_map_om_TraceReference2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6580 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6581 NULL);
6583 return offset;
6587 static const value_string gsm_map_om_TraceDepth_vals[] = {
6588 { 0, "minimum" },
6589 { 1, "medium" },
6590 { 2, "maximum" },
6591 { 0, NULL }
6595 static int
6596 dissect_gsm_map_om_TraceDepth(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6597 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6598 NULL);
6600 return offset;
6604 static const value_string gsm_map_om_TraceDepthExtension_vals[] = {
6605 { 0, "minimumWithoutVendorSpecificExtension" },
6606 { 1, "mediumWithoutVendorSpecificExtension" },
6607 { 2, "maximumWithoutVendorSpecificExtension" },
6608 { 0, NULL }
6612 static int
6613 dissect_gsm_map_om_TraceDepthExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6614 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6615 NULL);
6617 return offset;
6621 static const ber_sequence_t gsm_map_om_TraceDepthList_sequence[] = {
6622 { &hf_gsm_map_om_msc_s_TraceDepth, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
6623 { &hf_gsm_map_om_mgw_TraceDepth, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
6624 { &hf_gsm_map_om_sgsn_TraceDepth, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
6625 { &hf_gsm_map_om_ggsn_TraceDepth, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
6626 { &hf_gsm_map_om_rnc_TraceDepth, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
6627 { &hf_gsm_map_om_bmsc_TraceDepth, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
6628 { &hf_gsm_map_om_mme_TraceDepth, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
6629 { &hf_gsm_map_om_sgw_TraceDepth, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
6630 { &hf_gsm_map_om_pgw_TraceDepth, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
6631 { &hf_gsm_map_om_eNB_TraceDepth, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
6632 { &hf_gsm_map_om_msc_s_TraceDepthExtension, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
6633 { &hf_gsm_map_om_mgw_TraceDepthExtension, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
6634 { &hf_gsm_map_om_sgsn_TraceDepthExtension, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
6635 { &hf_gsm_map_om_ggsn_TraceDepthExtension, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
6636 { &hf_gsm_map_om_rnc_TraceDepthExtension, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
6637 { &hf_gsm_map_om_bmsc_TraceDepthExtension, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
6638 { &hf_gsm_map_om_mme_TraceDepthExtension, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
6639 { &hf_gsm_map_om_sgw_TraceDepthExtension, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
6640 { &hf_gsm_map_om_pgw_TraceDepthExtension, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
6641 { &hf_gsm_map_om_eNB_TraceDepthExtension, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
6642 { NULL, 0, 0, 0, NULL }
6645 static int
6646 dissect_gsm_map_om_TraceDepthList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6647 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6648 gsm_map_om_TraceDepthList_sequence, hf_index, ett_gsm_map_om_TraceDepthList);
6650 return offset;
6654 static const asn_namedbit gsm_map_om_TraceNE_TypeList_bits[] = {
6655 { 0, &hf_gsm_map_om_TraceNE_TypeList_msc_s, -1, -1, "msc-s", NULL },
6656 { 1, &hf_gsm_map_om_TraceNE_TypeList_mgw, -1, -1, "mgw", NULL },
6657 { 2, &hf_gsm_map_om_TraceNE_TypeList_sgsn, -1, -1, "sgsn", NULL },
6658 { 3, &hf_gsm_map_om_TraceNE_TypeList_ggsn, -1, -1, "ggsn", NULL },
6659 { 4, &hf_gsm_map_om_TraceNE_TypeList_rnc, -1, -1, "rnc", NULL },
6660 { 5, &hf_gsm_map_om_TraceNE_TypeList_bm_sc, -1, -1, "bm-sc", NULL },
6661 { 6, &hf_gsm_map_om_TraceNE_TypeList_mme, -1, -1, "mme", NULL },
6662 { 7, &hf_gsm_map_om_TraceNE_TypeList_sgw, -1, -1, "sgw", NULL },
6663 { 8, &hf_gsm_map_om_TraceNE_TypeList_pgw, -1, -1, "pgw", NULL },
6664 { 9, &hf_gsm_map_om_TraceNE_TypeList_eNB, -1, -1, "eNB", NULL },
6665 { 0, NULL, 0, 0, NULL, NULL }
6668 static int
6669 dissect_gsm_map_om_TraceNE_TypeList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6670 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6671 gsm_map_om_TraceNE_TypeList_bits, hf_index, ett_gsm_map_om_TraceNE_TypeList,
6672 NULL);
6674 return offset;
6678 static const asn_namedbit gsm_map_om_MSC_S_InterfaceList_bits[] = {
6679 { 0, &hf_gsm_map_om_MSC_S_InterfaceList_a, -1, -1, "a", NULL },
6680 { 1, &hf_gsm_map_om_MSC_S_InterfaceList_iu, -1, -1, "iu", NULL },
6681 { 2, &hf_gsm_map_om_MSC_S_InterfaceList_mc, -1, -1, "mc", NULL },
6682 { 3, &hf_gsm_map_om_MSC_S_InterfaceList_map_g, -1, -1, "map-g", NULL },
6683 { 4, &hf_gsm_map_om_MSC_S_InterfaceList_map_b, -1, -1, "map-b", NULL },
6684 { 5, &hf_gsm_map_om_MSC_S_InterfaceList_map_e, -1, -1, "map-e", NULL },
6685 { 6, &hf_gsm_map_om_MSC_S_InterfaceList_map_f, -1, -1, "map-f", NULL },
6686 { 7, &hf_gsm_map_om_MSC_S_InterfaceList_cap, -1, -1, "cap", NULL },
6687 { 8, &hf_gsm_map_om_MSC_S_InterfaceList_map_d, -1, -1, "map-d", NULL },
6688 { 9, &hf_gsm_map_om_MSC_S_InterfaceList_map_c, -1, -1, "map-c", NULL },
6689 { 0, NULL, 0, 0, NULL, NULL }
6692 static int
6693 dissect_gsm_map_om_MSC_S_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6694 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6695 gsm_map_om_MSC_S_InterfaceList_bits, hf_index, ett_gsm_map_om_MSC_S_InterfaceList,
6696 NULL);
6698 return offset;
6702 static const asn_namedbit gsm_map_om_MGW_InterfaceList_bits[] = {
6703 { 0, &hf_gsm_map_om_MGW_InterfaceList_mc, -1, -1, "mc", NULL },
6704 { 1, &hf_gsm_map_om_MGW_InterfaceList_nb_up, -1, -1, "nb-up", NULL },
6705 { 2, &hf_gsm_map_om_MGW_InterfaceList_iu_up, -1, -1, "iu-up", NULL },
6706 { 0, NULL, 0, 0, NULL, NULL }
6709 static int
6710 dissect_gsm_map_om_MGW_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6711 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6712 gsm_map_om_MGW_InterfaceList_bits, hf_index, ett_gsm_map_om_MGW_InterfaceList,
6713 NULL);
6715 return offset;
6719 static const asn_namedbit gsm_map_om_SGSN_InterfaceList_bits[] = {
6720 { 0, &hf_gsm_map_om_SGSN_InterfaceList_gb, -1, -1, "gb", NULL },
6721 { 1, &hf_gsm_map_om_SGSN_InterfaceList_iu, -1, -1, "iu", NULL },
6722 { 2, &hf_gsm_map_om_SGSN_InterfaceList_gn, -1, -1, "gn", NULL },
6723 { 3, &hf_gsm_map_om_SGSN_InterfaceList_map_gr, -1, -1, "map-gr", NULL },
6724 { 4, &hf_gsm_map_om_SGSN_InterfaceList_map_gd, -1, -1, "map-gd", NULL },
6725 { 5, &hf_gsm_map_om_SGSN_InterfaceList_map_gf, -1, -1, "map-gf", NULL },
6726 { 6, &hf_gsm_map_om_SGSN_InterfaceList_gs, -1, -1, "gs", NULL },
6727 { 7, &hf_gsm_map_om_SGSN_InterfaceList_ge, -1, -1, "ge", NULL },
6728 { 8, &hf_gsm_map_om_SGSN_InterfaceList_s3, -1, -1, "s3", NULL },
6729 { 9, &hf_gsm_map_om_SGSN_InterfaceList_s4, -1, -1, "s4", NULL },
6730 { 10, &hf_gsm_map_om_SGSN_InterfaceList_s6d, -1, -1, "s6d", NULL },
6731 { 0, NULL, 0, 0, NULL, NULL }
6734 static int
6735 dissect_gsm_map_om_SGSN_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6736 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6737 gsm_map_om_SGSN_InterfaceList_bits, hf_index, ett_gsm_map_om_SGSN_InterfaceList,
6738 NULL);
6740 return offset;
6744 static const asn_namedbit gsm_map_om_GGSN_InterfaceList_bits[] = {
6745 { 0, &hf_gsm_map_om_GGSN_InterfaceList_gn, -1, -1, "gn", NULL },
6746 { 1, &hf_gsm_map_om_GGSN_InterfaceList_gi, -1, -1, "gi", NULL },
6747 { 2, &hf_gsm_map_om_GGSN_InterfaceList_gmb, -1, -1, "gmb", NULL },
6748 { 0, NULL, 0, 0, NULL, NULL }
6751 static int
6752 dissect_gsm_map_om_GGSN_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6753 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6754 gsm_map_om_GGSN_InterfaceList_bits, hf_index, ett_gsm_map_om_GGSN_InterfaceList,
6755 NULL);
6757 return offset;
6761 static const asn_namedbit gsm_map_om_RNC_InterfaceList_bits[] = {
6762 { 0, &hf_gsm_map_om_RNC_InterfaceList_iu, -1, -1, "iu", NULL },
6763 { 1, &hf_gsm_map_om_RNC_InterfaceList_iur, -1, -1, "iur", NULL },
6764 { 2, &hf_gsm_map_om_RNC_InterfaceList_iub, -1, -1, "iub", NULL },
6765 { 3, &hf_gsm_map_om_RNC_InterfaceList_uu, -1, -1, "uu", NULL },
6766 { 0, NULL, 0, 0, NULL, NULL }
6769 static int
6770 dissect_gsm_map_om_RNC_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6771 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6772 gsm_map_om_RNC_InterfaceList_bits, hf_index, ett_gsm_map_om_RNC_InterfaceList,
6773 NULL);
6775 return offset;
6779 static const asn_namedbit gsm_map_om_BMSC_InterfaceList_bits[] = {
6780 { 0, &hf_gsm_map_om_BMSC_InterfaceList_gmb, -1, -1, "gmb", NULL },
6781 { 0, NULL, 0, 0, NULL, NULL }
6784 static int
6785 dissect_gsm_map_om_BMSC_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6786 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6787 gsm_map_om_BMSC_InterfaceList_bits, hf_index, ett_gsm_map_om_BMSC_InterfaceList,
6788 NULL);
6790 return offset;
6794 static const asn_namedbit gsm_map_om_MME_InterfaceList_bits[] = {
6795 { 0, &hf_gsm_map_om_MME_InterfaceList_s1_mme, -1, -1, "s1-mme", NULL },
6796 { 1, &hf_gsm_map_om_MME_InterfaceList_s3, -1, -1, "s3", NULL },
6797 { 2, &hf_gsm_map_om_MME_InterfaceList_s6a, -1, -1, "s6a", NULL },
6798 { 3, &hf_gsm_map_om_MME_InterfaceList_s10, -1, -1, "s10", NULL },
6799 { 4, &hf_gsm_map_om_MME_InterfaceList_s11, -1, -1, "s11", NULL },
6800 { 0, NULL, 0, 0, NULL, NULL }
6803 static int
6804 dissect_gsm_map_om_MME_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6805 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6806 gsm_map_om_MME_InterfaceList_bits, hf_index, ett_gsm_map_om_MME_InterfaceList,
6807 NULL);
6809 return offset;
6813 static const asn_namedbit gsm_map_om_SGW_InterfaceList_bits[] = {
6814 { 0, &hf_gsm_map_om_SGW_InterfaceList_s4, -1, -1, "s4", NULL },
6815 { 1, &hf_gsm_map_om_SGW_InterfaceList_s5, -1, -1, "s5", NULL },
6816 { 2, &hf_gsm_map_om_SGW_InterfaceList_s8b, -1, -1, "s8b", NULL },
6817 { 3, &hf_gsm_map_om_SGW_InterfaceList_s11, -1, -1, "s11", NULL },
6818 { 4, &hf_gsm_map_om_SGW_InterfaceList_gxc, -1, -1, "gxc", NULL },
6819 { 0, NULL, 0, 0, NULL, NULL }
6822 static int
6823 dissect_gsm_map_om_SGW_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6824 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6825 gsm_map_om_SGW_InterfaceList_bits, hf_index, ett_gsm_map_om_SGW_InterfaceList,
6826 NULL);
6828 return offset;
6832 static const asn_namedbit gsm_map_om_PGW_InterfaceList_bits[] = {
6833 { 0, &hf_gsm_map_om_PGW_InterfaceList_s2a, -1, -1, "s2a", NULL },
6834 { 1, &hf_gsm_map_om_PGW_InterfaceList_s2b, -1, -1, "s2b", NULL },
6835 { 2, &hf_gsm_map_om_PGW_InterfaceList_s2c, -1, -1, "s2c", NULL },
6836 { 3, &hf_gsm_map_om_PGW_InterfaceList_s5, -1, -1, "s5", NULL },
6837 { 4, &hf_gsm_map_om_PGW_InterfaceList_s6b, -1, -1, "s6b", NULL },
6838 { 5, &hf_gsm_map_om_PGW_InterfaceList_gx, -1, -1, "gx", NULL },
6839 { 6, &hf_gsm_map_om_PGW_InterfaceList_s8b, -1, -1, "s8b", NULL },
6840 { 7, &hf_gsm_map_om_PGW_InterfaceList_sgi, -1, -1, "sgi", NULL },
6841 { 0, NULL, 0, 0, NULL, NULL }
6844 static int
6845 dissect_gsm_map_om_PGW_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6846 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6847 gsm_map_om_PGW_InterfaceList_bits, hf_index, ett_gsm_map_om_PGW_InterfaceList,
6848 NULL);
6850 return offset;
6854 static const asn_namedbit gsm_map_om_ENB_InterfaceList_bits[] = {
6855 { 0, &hf_gsm_map_om_ENB_InterfaceList_s1_mme, -1, -1, "s1-mme", NULL },
6856 { 1, &hf_gsm_map_om_ENB_InterfaceList_x2, -1, -1, "x2", NULL },
6857 { 2, &hf_gsm_map_om_ENB_InterfaceList_uu, -1, -1, "uu", NULL },
6858 { 0, NULL, 0, 0, NULL, NULL }
6861 static int
6862 dissect_gsm_map_om_ENB_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6863 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6864 gsm_map_om_ENB_InterfaceList_bits, hf_index, ett_gsm_map_om_ENB_InterfaceList,
6865 NULL);
6867 return offset;
6871 static const ber_sequence_t gsm_map_om_TraceInterfaceList_sequence[] = {
6872 { &hf_gsm_map_om_msc_s_List, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MSC_S_InterfaceList },
6873 { &hf_gsm_map_om_mgw_List , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MGW_InterfaceList },
6874 { &hf_gsm_map_om_sgsn_List, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_SGSN_InterfaceList },
6875 { &hf_gsm_map_om_ggsn_List, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_GGSN_InterfaceList },
6876 { &hf_gsm_map_om_rnc_List , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_RNC_InterfaceList },
6877 { &hf_gsm_map_om_bmsc_List, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_BMSC_InterfaceList },
6878 { &hf_gsm_map_om_mme_List , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MME_InterfaceList },
6879 { &hf_gsm_map_om_sgw_List , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_SGW_InterfaceList },
6880 { &hf_gsm_map_om_pgw_List , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_PGW_InterfaceList },
6881 { &hf_gsm_map_om_eNB_List , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_ENB_InterfaceList },
6882 { NULL, 0, 0, 0, NULL }
6885 static int
6886 dissect_gsm_map_om_TraceInterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6887 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6888 gsm_map_om_TraceInterfaceList_sequence, hf_index, ett_gsm_map_om_TraceInterfaceList);
6890 return offset;
6894 static const asn_namedbit gsm_map_om_MSC_S_EventList_bits[] = {
6895 { 0, &hf_gsm_map_om_MSC_S_EventList_mo_mtCall, -1, -1, "mo-mtCall", NULL },
6896 { 1, &hf_gsm_map_om_MSC_S_EventList_mo_mt_sms, -1, -1, "mo-mt-sms", NULL },
6897 { 2, &hf_gsm_map_om_MSC_S_EventList_lu_imsiAttach_imsiDetach, -1, -1, "lu-imsiAttach-imsiDetach", NULL },
6898 { 3, &hf_gsm_map_om_MSC_S_EventList_handovers, -1, -1, "handovers", NULL },
6899 { 4, &hf_gsm_map_om_MSC_S_EventList_ss, -1, -1, "ss", NULL },
6900 { 0, NULL, 0, 0, NULL, NULL }
6903 static int
6904 dissect_gsm_map_om_MSC_S_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6905 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6906 gsm_map_om_MSC_S_EventList_bits, hf_index, ett_gsm_map_om_MSC_S_EventList,
6907 NULL);
6909 return offset;
6913 static const asn_namedbit gsm_map_om_MGW_EventList_bits[] = {
6914 { 0, &hf_gsm_map_om_MGW_EventList_context, -1, -1, "context", NULL },
6915 { 0, NULL, 0, 0, NULL, NULL }
6918 static int
6919 dissect_gsm_map_om_MGW_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6920 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6921 gsm_map_om_MGW_EventList_bits, hf_index, ett_gsm_map_om_MGW_EventList,
6922 NULL);
6924 return offset;
6928 static const asn_namedbit gsm_map_om_SGSN_EventList_bits[] = {
6929 { 0, &hf_gsm_map_om_SGSN_EventList_pdpContext, -1, -1, "pdpContext", NULL },
6930 { 1, &hf_gsm_map_om_SGSN_EventList_mo_mt_sms, -1, -1, "mo-mt-sms", NULL },
6931 { 2, &hf_gsm_map_om_SGSN_EventList_rau_gprsAttach_gprsDetach, -1, -1, "rau-gprsAttach-gprsDetach", NULL },
6932 { 3, &hf_gsm_map_om_SGSN_EventList_mbmsContext, -1, -1, "mbmsContext", NULL },
6933 { 0, NULL, 0, 0, NULL, NULL }
6936 static int
6937 dissect_gsm_map_om_SGSN_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6938 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6939 gsm_map_om_SGSN_EventList_bits, hf_index, ett_gsm_map_om_SGSN_EventList,
6940 NULL);
6942 return offset;
6946 static const asn_namedbit gsm_map_om_GGSN_EventList_bits[] = {
6947 { 0, &hf_gsm_map_om_GGSN_EventList_pdpContext, -1, -1, "pdpContext", NULL },
6948 { 1, &hf_gsm_map_om_GGSN_EventList_mbmsContext, -1, -1, "mbmsContext", NULL },
6949 { 0, NULL, 0, 0, NULL, NULL }
6952 static int
6953 dissect_gsm_map_om_GGSN_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6954 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6955 gsm_map_om_GGSN_EventList_bits, hf_index, ett_gsm_map_om_GGSN_EventList,
6956 NULL);
6958 return offset;
6962 static const asn_namedbit gsm_map_om_BMSC_EventList_bits[] = {
6963 { 0, &hf_gsm_map_om_BMSC_EventList_mbmsMulticastServiceActivation, -1, -1, "mbmsMulticastServiceActivation", NULL },
6964 { 0, NULL, 0, 0, NULL, NULL }
6967 static int
6968 dissect_gsm_map_om_BMSC_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6969 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6970 gsm_map_om_BMSC_EventList_bits, hf_index, ett_gsm_map_om_BMSC_EventList,
6971 NULL);
6973 return offset;
6977 static const asn_namedbit gsm_map_om_MME_EventList_bits[] = {
6978 { 0, &hf_gsm_map_om_MME_EventList_ue_initiatedPDNconectivityRequest, -1, -1, "ue-initiatedPDNconectivityRequest", NULL },
6979 { 1, &hf_gsm_map_om_MME_EventList_serviceRequestts, -1, -1, "serviceRequestts", NULL },
6980 { 2, &hf_gsm_map_om_MME_EventList_initialAttachTrackingAreaUpdateDetach, -1, -1, "initialAttachTrackingAreaUpdateDetach", NULL },
6981 { 3, &hf_gsm_map_om_MME_EventList_ue_initiatedPDNdisconnection, -1, -1, "ue-initiatedPDNdisconnection", NULL },
6982 { 4, &hf_gsm_map_om_MME_EventList_bearerActivationModificationDeletion, -1, -1, "bearerActivationModificationDeletion", NULL },
6983 { 5, &hf_gsm_map_om_MME_EventList_handover, -1, -1, "handover", NULL },
6984 { 0, NULL, 0, 0, NULL, NULL }
6987 static int
6988 dissect_gsm_map_om_MME_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6989 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
6990 gsm_map_om_MME_EventList_bits, hf_index, ett_gsm_map_om_MME_EventList,
6991 NULL);
6993 return offset;
6997 static const asn_namedbit gsm_map_om_SGW_EventList_bits[] = {
6998 { 0, &hf_gsm_map_om_SGW_EventList_pdn_connectionCreation, -1, -1, "pdn-connectionCreation", NULL },
6999 { 1, &hf_gsm_map_om_SGW_EventList_pdn_connectionTermination, -1, -1, "pdn-connectionTermination", NULL },
7000 { 2, &hf_gsm_map_om_SGW_EventList_bearerActivationModificationDeletion, -1, -1, "bearerActivationModificationDeletion", NULL },
7001 { 0, NULL, 0, 0, NULL, NULL }
7004 static int
7005 dissect_gsm_map_om_SGW_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7006 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7007 gsm_map_om_SGW_EventList_bits, hf_index, ett_gsm_map_om_SGW_EventList,
7008 NULL);
7010 return offset;
7014 static const asn_namedbit gsm_map_om_PGW_EventList_bits[] = {
7015 { 0, &hf_gsm_map_om_PGW_EventList_pdn_connectionCreation, -1, -1, "pdn-connectionCreation", NULL },
7016 { 1, &hf_gsm_map_om_PGW_EventList_pdn_connectionTermination, -1, -1, "pdn-connectionTermination", NULL },
7017 { 2, &hf_gsm_map_om_PGW_EventList_bearerActivationModificationDeletion, -1, -1, "bearerActivationModificationDeletion", NULL },
7018 { 0, NULL, 0, 0, NULL, NULL }
7021 static int
7022 dissect_gsm_map_om_PGW_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7023 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7024 gsm_map_om_PGW_EventList_bits, hf_index, ett_gsm_map_om_PGW_EventList,
7025 NULL);
7027 return offset;
7031 static const ber_sequence_t gsm_map_om_TraceEventList_sequence[] = {
7032 { &hf_gsm_map_om_msc_s_List_01, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MSC_S_EventList },
7033 { &hf_gsm_map_om_mgw_List_01, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MGW_EventList },
7034 { &hf_gsm_map_om_sgsn_List_01, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_SGSN_EventList },
7035 { &hf_gsm_map_om_ggsn_List_01, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_GGSN_EventList },
7036 { &hf_gsm_map_om_bmsc_List_01, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_BMSC_EventList },
7037 { &hf_gsm_map_om_mme_List_01, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MME_EventList },
7038 { &hf_gsm_map_om_sgw_List_01, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_SGW_EventList },
7039 { &hf_gsm_map_om_pgw_List_01, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_PGW_EventList },
7040 { NULL, 0, 0, 0, NULL }
7043 static int
7044 dissect_gsm_map_om_TraceEventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7045 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7046 gsm_map_om_TraceEventList_sequence, hf_index, ett_gsm_map_om_TraceEventList);
7048 return offset;
7052 static const value_string gsm_map_om_JobType_vals[] = {
7053 { 0, "immediate-MDT-only" },
7054 { 1, "logged-MDT-only" },
7055 { 2, "trace-only" },
7056 { 3, "immediate-MDT-and-trace" },
7057 { 0, NULL }
7061 static int
7062 dissect_gsm_map_om_JobType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7063 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7064 NULL);
7066 return offset;
7070 static const ber_sequence_t gsm_map_om_CGI_List_sequence_of[1] = {
7071 { &hf_gsm_map_om_CGI_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_GlobalCellId },
7074 static int
7075 dissect_gsm_map_om_CGI_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7076 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7077 gsm_map_om_CGI_List_sequence_of, hf_index, ett_gsm_map_om_CGI_List);
7079 return offset;
7083 static const ber_sequence_t gsm_map_om_E_UTRAN_CGI_List_sequence_of[1] = {
7084 { &hf_gsm_map_om_E_UTRAN_CGI_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_E_UTRAN_CGI },
7087 static int
7088 dissect_gsm_map_om_E_UTRAN_CGI_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7089 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7090 gsm_map_om_E_UTRAN_CGI_List_sequence_of, hf_index, ett_gsm_map_om_E_UTRAN_CGI_List);
7092 return offset;
7096 static const ber_sequence_t gsm_map_om_RoutingAreaId_List_sequence_of[1] = {
7097 { &hf_gsm_map_om_RoutingAreaId_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_RAIdentity },
7100 static int
7101 dissect_gsm_map_om_RoutingAreaId_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7102 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7103 gsm_map_om_RoutingAreaId_List_sequence_of, hf_index, ett_gsm_map_om_RoutingAreaId_List);
7105 return offset;
7109 static const ber_sequence_t gsm_map_om_LocationAreaId_List_sequence_of[1] = {
7110 { &hf_gsm_map_om_LocationAreaId_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LAIFixedLength },
7113 static int
7114 dissect_gsm_map_om_LocationAreaId_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7115 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7116 gsm_map_om_LocationAreaId_List_sequence_of, hf_index, ett_gsm_map_om_LocationAreaId_List);
7118 return offset;
7122 static const ber_sequence_t gsm_map_om_TrackingAreaId_List_sequence_of[1] = {
7123 { &hf_gsm_map_om_TrackingAreaId_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_TA_Id },
7126 static int
7127 dissect_gsm_map_om_TrackingAreaId_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7128 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7129 gsm_map_om_TrackingAreaId_List_sequence_of, hf_index, ett_gsm_map_om_TrackingAreaId_List);
7131 return offset;
7135 static const ber_sequence_t gsm_map_om_AreaScope_sequence[] = {
7136 { &hf_gsm_map_om_cgi_List , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_CGI_List },
7137 { &hf_gsm_map_om_e_utran_cgi_List, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_E_UTRAN_CGI_List },
7138 { &hf_gsm_map_om_routingAreaId_List, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_RoutingAreaId_List },
7139 { &hf_gsm_map_om_locationAreaId_List, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_LocationAreaId_List },
7140 { &hf_gsm_map_om_trackingAreaId_List, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TrackingAreaId_List },
7141 { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
7142 { NULL, 0, 0, 0, NULL }
7145 static int
7146 dissect_gsm_map_om_AreaScope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7147 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7148 gsm_map_om_AreaScope_sequence, hf_index, ett_gsm_map_om_AreaScope);
7150 return offset;
7155 static int
7156 dissect_gsm_map_om_ListOfMeasurements(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7157 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7158 NULL);
7160 return offset;
7165 static int
7166 dissect_gsm_map_om_ReportingTrigger(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7167 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7168 NULL);
7170 return offset;
7174 static const value_string gsm_map_om_ReportInterval_vals[] = {
7175 { 0, "umts250ms" },
7176 { 1, "umts500ms" },
7177 { 2, "umts1000ms" },
7178 { 3, "umts2000ms" },
7179 { 4, "umts3000ms" },
7180 { 5, "umts4000ms" },
7181 { 6, "umts6000ms" },
7182 { 7, "umts8000ms" },
7183 { 8, "umts12000ms" },
7184 { 9, "umts16000ms" },
7185 { 10, "umts20000ms" },
7186 { 11, "umts24000ms" },
7187 { 12, "umts28000ms" },
7188 { 13, "umts32000ms" },
7189 { 14, "umts64000ms" },
7190 { 15, "lte120ms" },
7191 { 16, "lte240ms" },
7192 { 17, "lte480ms" },
7193 { 18, "lte640ms" },
7194 { 19, "lte1024ms" },
7195 { 20, "lte2048ms" },
7196 { 21, "lte5120ms" },
7197 { 22, "lte10240ms" },
7198 { 23, "lte1min" },
7199 { 24, "lte6min" },
7200 { 25, "lte12min" },
7201 { 26, "lte30min" },
7202 { 27, "lte60min" },
7203 { 0, NULL }
7207 static int
7208 dissect_gsm_map_om_ReportInterval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7209 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7210 NULL);
7212 return offset;
7216 static const value_string gsm_map_om_ReportAmount_vals[] = {
7217 { 0, "d1" },
7218 { 1, "d2" },
7219 { 2, "d4" },
7220 { 3, "d8" },
7221 { 4, "d16" },
7222 { 5, "d32" },
7223 { 6, "d64" },
7224 { 7, "infinity" },
7225 { 0, NULL }
7229 static int
7230 dissect_gsm_map_om_ReportAmount(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7231 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7232 NULL);
7234 return offset;
7239 static int
7240 dissect_gsm_map_om_EventThresholdRSRP(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7241 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7242 NULL);
7244 return offset;
7249 static int
7250 dissect_gsm_map_om_EventThresholdRSRQ(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7251 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7252 NULL);
7254 return offset;
7258 static const value_string gsm_map_om_LoggingInterval_vals[] = {
7259 { 0, "d1dot28" },
7260 { 1, "d2dot56" },
7261 { 2, "d5dot12" },
7262 { 3, "d10dot24" },
7263 { 4, "d20dot48" },
7264 { 5, "d30dot72" },
7265 { 6, "d40dot96" },
7266 { 7, "d61dot44" },
7267 { 0, NULL }
7271 static int
7272 dissect_gsm_map_om_LoggingInterval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7273 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7274 NULL);
7276 return offset;
7280 static const value_string gsm_map_om_LoggingDuration_vals[] = {
7281 { 0, "d600sec" },
7282 { 1, "d1200sec" },
7283 { 2, "d2400sec" },
7284 { 3, "d3600sec" },
7285 { 4, "d5400sec" },
7286 { 5, "d7200sec" },
7287 { 0, NULL }
7291 static int
7292 dissect_gsm_map_om_LoggingDuration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7293 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7294 NULL);
7296 return offset;
7300 static const ber_sequence_t gsm_map_om_MDT_Configuration_sequence[] = {
7301 { &hf_gsm_map_om_jobType , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_om_JobType },
7302 { &hf_gsm_map_om_areaScope, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_om_AreaScope },
7303 { &hf_gsm_map_om_listOfMeasurements, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_om_ListOfMeasurements },
7304 { &hf_gsm_map_om_reportingTrigger, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_ReportingTrigger },
7305 { &hf_gsm_map_om_reportInterval, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_om_ReportInterval },
7306 { &hf_gsm_map_om_reportAmount, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_ReportAmount },
7307 { &hf_gsm_map_om_eventThresholdRSRP, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_om_EventThresholdRSRP },
7308 { &hf_gsm_map_om_eventThresholdRSRQ, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_EventThresholdRSRQ },
7309 { &hf_gsm_map_om_loggingInterval, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_LoggingInterval },
7310 { &hf_gsm_map_om_loggingDuration, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_LoggingDuration },
7311 { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
7312 { NULL, 0, 0, 0, NULL }
7315 static int
7316 dissect_gsm_map_om_MDT_Configuration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7317 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7318 gsm_map_om_MDT_Configuration_sequence, hf_index, ett_gsm_map_om_MDT_Configuration);
7320 return offset;
7324 static const ber_sequence_t gsm_map_om_ActivateTraceModeArg_sequence[] = {
7325 { &hf_gsm_map_om_imsi , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7326 { &hf_gsm_map_om_traceReference, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference },
7327 { &hf_gsm_map_om_traceType, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceType },
7328 { &hf_gsm_map_om_omc_Id , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
7329 { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
7330 { &hf_gsm_map_om_traceReference2, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference2 },
7331 { &hf_gsm_map_om_traceDepthList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthList },
7332 { &hf_gsm_map_om_traceNE_TypeList, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceNE_TypeList },
7333 { &hf_gsm_map_om_traceInterfaceList, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceInterfaceList },
7334 { &hf_gsm_map_om_traceEventList, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceEventList },
7335 { &hf_gsm_map_om_traceCollectionEntity, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
7336 { &hf_gsm_map_om_mdt_Configuration, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MDT_Configuration },
7337 { NULL, 0, 0, 0, NULL }
7340 static int
7341 dissect_gsm_map_om_ActivateTraceModeArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7342 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7343 gsm_map_om_ActivateTraceModeArg_sequence, hf_index, ett_gsm_map_om_ActivateTraceModeArg);
7345 return offset;
7350 static int
7351 dissect_gsm_map_om_TraceRecordingSessionReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7352 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7353 NULL);
7355 return offset;
7359 static const ber_sequence_t gsm_map_om_TracePropagationList_sequence[] = {
7360 { &hf_gsm_map_om_traceReference, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference },
7361 { &hf_gsm_map_om_traceType, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceType },
7362 { &hf_gsm_map_om_traceReference2, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference2 },
7363 { &hf_gsm_map_om_traceRecordingSessionReference, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceRecordingSessionReference },
7364 { &hf_gsm_map_om_rnc_TraceDepth, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
7365 { &hf_gsm_map_om_rnc_InterfaceList, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_RNC_InterfaceList },
7366 { &hf_gsm_map_om_msc_s_TraceDepth, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
7367 { &hf_gsm_map_om_msc_s_InterfaceList, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MSC_S_InterfaceList },
7368 { &hf_gsm_map_om_msc_s_EventList, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MSC_S_EventList },
7369 { &hf_gsm_map_om_mgw_TraceDepth, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
7370 { &hf_gsm_map_om_mgw_InterfaceList, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MGW_InterfaceList },
7371 { &hf_gsm_map_om_mgw_EventList, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MGW_EventList },
7372 { &hf_gsm_map_om_rnc_TraceDepthExtension, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
7373 { &hf_gsm_map_om_msc_s_TraceDepthExtension, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
7374 { &hf_gsm_map_om_mgw_TraceDepthExtension, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
7375 { NULL, 0, 0, 0, NULL }
7378 static int
7379 dissect_gsm_map_om_TracePropagationList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7380 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7381 gsm_map_om_TracePropagationList_sequence, hf_index, ett_gsm_map_om_TracePropagationList);
7383 return offset;
7388 static int
7389 dissect_gsm_map_om_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7390 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
7392 return offset;
7396 static const ber_sequence_t gsm_map_om_ActivateTraceModeRes_sequence[] = {
7397 { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
7398 { &hf_gsm_map_om_traceSupportIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_NULL },
7399 { NULL, 0, 0, 0, NULL }
7402 static int
7403 dissect_gsm_map_om_ActivateTraceModeRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7404 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7405 gsm_map_om_ActivateTraceModeRes_sequence, hf_index, ett_gsm_map_om_ActivateTraceModeRes);
7407 return offset;
7411 static const ber_sequence_t gsm_map_om_DeactivateTraceModeArg_sequence[] = {
7412 { &hf_gsm_map_om_imsi , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7413 { &hf_gsm_map_om_traceReference, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference },
7414 { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
7415 { &hf_gsm_map_om_traceReference2, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference2 },
7416 { NULL, 0, 0, 0, NULL }
7419 static int
7420 dissect_gsm_map_om_DeactivateTraceModeArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7421 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7422 gsm_map_om_DeactivateTraceModeArg_sequence, hf_index, ett_gsm_map_om_DeactivateTraceModeArg);
7424 return offset;
7428 static const ber_sequence_t gsm_map_om_DeactivateTraceModeRes_sequence[] = {
7429 { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
7430 { NULL, 0, 0, 0, NULL }
7433 static int
7434 dissect_gsm_map_om_DeactivateTraceModeRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7435 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7436 gsm_map_om_DeactivateTraceModeRes_sequence, hf_index, ett_gsm_map_om_DeactivateTraceModeRes);
7438 return offset;
7442 /* --- Module MAP-MS-DataTypes --- --- --- */
7445 static const asn_namedbit gsm_map_ms_SupportedCamelPhases_bits[] = {
7446 { 0, &hf_gsm_map_ms_SupportedCamelPhases_phase1, -1, -1, "phase1", NULL },
7447 { 1, &hf_gsm_map_ms_SupportedCamelPhases_phase2, -1, -1, "phase2", NULL },
7448 { 2, &hf_gsm_map_ms_SupportedCamelPhases_phase3, -1, -1, "phase3", NULL },
7449 { 3, &hf_gsm_map_ms_SupportedCamelPhases_phase4, -1, -1, "phase4", NULL },
7450 { 0, NULL, 0, 0, NULL, NULL }
7454 dissect_gsm_map_ms_SupportedCamelPhases(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7455 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7456 gsm_map_ms_SupportedCamelPhases_bits, hf_index, ett_gsm_map_ms_SupportedCamelPhases,
7457 NULL);
7459 return offset;
7464 static int
7465 dissect_gsm_map_ms_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7466 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
7468 return offset;
7472 static const value_string gsm_map_ms_IST_SupportIndicator_vals[] = {
7473 { 0, "basicISTSupported" },
7474 { 1, "istCommandSupported" },
7475 { 0, NULL }
7479 static int
7480 dissect_gsm_map_ms_IST_SupportIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7481 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7482 NULL);
7484 return offset;
7489 static int
7490 dissect_gsm_map_ms_AgeIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7491 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7492 NULL);
7494 return offset;
7498 static const value_string gsm_map_ms_SuperChargerInfo_vals[] = {
7499 { 0, "sendSubscriberData" },
7500 { 1, "subscriberDataStored" },
7501 { 0, NULL }
7504 static const ber_choice_t gsm_map_ms_SuperChargerInfo_choice[] = {
7505 { 0, &hf_gsm_map_ms_sendSubscriberData, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7506 { 1, &hf_gsm_map_ms_subscriberDataStored, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AgeIndicator },
7507 { 0, NULL, 0, 0, 0, NULL }
7510 static int
7511 dissect_gsm_map_ms_SuperChargerInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7512 offset = dissect_ber_choice(actx, tree, tvb, offset,
7513 gsm_map_ms_SuperChargerInfo_choice, hf_index, ett_gsm_map_ms_SuperChargerInfo,
7514 NULL);
7516 return offset;
7520 static const asn_namedbit gsm_map_ms_SupportedLCS_CapabilitySets_bits[] = {
7521 { 0, &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet1, -1, -1, "lcsCapabilitySet1", NULL },
7522 { 1, &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet2, -1, -1, "lcsCapabilitySet2", NULL },
7523 { 2, &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet3, -1, -1, "lcsCapabilitySet3", NULL },
7524 { 3, &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet4, -1, -1, "lcsCapabilitySet4", NULL },
7525 { 4, &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet5, -1, -1, "lcsCapabilitySet5", NULL },
7526 { 0, NULL, 0, 0, NULL, NULL }
7529 static int
7530 dissect_gsm_map_ms_SupportedLCS_CapabilitySets(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7531 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7532 gsm_map_ms_SupportedLCS_CapabilitySets_bits, hf_index, ett_gsm_map_ms_SupportedLCS_CapabilitySets,
7533 NULL);
7535 return offset;
7539 static const asn_namedbit gsm_map_ms_OfferedCamel4CSIs_bits[] = {
7540 { 0, &hf_gsm_map_ms_OfferedCamel4CSIs_o_csi, -1, -1, "o-csi", NULL },
7541 { 1, &hf_gsm_map_ms_OfferedCamel4CSIs_d_csi, -1, -1, "d-csi", NULL },
7542 { 2, &hf_gsm_map_ms_OfferedCamel4CSIs_vt_csi, -1, -1, "vt-csi", NULL },
7543 { 3, &hf_gsm_map_ms_OfferedCamel4CSIs_t_csi, -1, -1, "t-csi", NULL },
7544 { 4, &hf_gsm_map_ms_OfferedCamel4CSIs_mt_sms_csi, -1, -1, "mt-sms-csi", NULL },
7545 { 5, &hf_gsm_map_ms_OfferedCamel4CSIs_mg_csi, -1, -1, "mg-csi", NULL },
7546 { 6, &hf_gsm_map_ms_OfferedCamel4CSIs_psi_enhancements, -1, -1, "psi-enhancements", NULL },
7547 { 0, NULL, 0, 0, NULL, NULL }
7550 static int
7551 dissect_gsm_map_ms_OfferedCamel4CSIs(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7552 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7553 gsm_map_ms_OfferedCamel4CSIs_bits, hf_index, ett_gsm_map_ms_OfferedCamel4CSIs,
7554 NULL);
7556 return offset;
7560 static const asn_namedbit gsm_map_ms_SupportedRAT_Types_bits[] = {
7561 { 0, &hf_gsm_map_ms_SupportedRAT_Types_utran, -1, -1, "utran", NULL },
7562 { 1, &hf_gsm_map_ms_SupportedRAT_Types_geran, -1, -1, "geran", NULL },
7563 { 2, &hf_gsm_map_ms_SupportedRAT_Types_gan, -1, -1, "gan", NULL },
7564 { 3, &hf_gsm_map_ms_SupportedRAT_Types_i_hspa_evolution, -1, -1, "i-hspa-evolution", NULL },
7565 { 4, &hf_gsm_map_ms_SupportedRAT_Types_e_utran, -1, -1, "e-utran", NULL },
7566 { 0, NULL, 0, 0, NULL, NULL }
7569 static int
7570 dissect_gsm_map_ms_SupportedRAT_Types(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7571 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7572 gsm_map_ms_SupportedRAT_Types_bits, hf_index, ett_gsm_map_ms_SupportedRAT_Types,
7573 NULL);
7575 return offset;
7579 static const ber_sequence_t gsm_map_ms_VLR_Capability_sequence[] = {
7580 { &hf_gsm_map_ms_supportedCamelPhases, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
7581 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7582 { &hf_gsm_map_ms_solsaSupportIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7583 { &hf_gsm_map_ms_istSupportIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_SupportIndicator },
7584 { &hf_gsm_map_ms_superChargerSupportedInServingNetworkEntity, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_SuperChargerInfo },
7585 { &hf_gsm_map_ms_longFTN_Supported, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7586 { &hf_gsm_map_ms_supportedLCS_CapabilitySets, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedLCS_CapabilitySets },
7587 { &hf_gsm_map_ms_offeredCamel4CSIs, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
7588 { &hf_gsm_map_ms_supportedRAT_TypesIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedRAT_Types },
7589 { &hf_gsm_map_ms_longGroupID_Supported, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7590 { &hf_gsm_map_ms_mtRoamingForwardingSupported, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7591 { &hf_gsm_map_ms_msisdn_lessOperation_Supported, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7592 { NULL, 0, 0, 0, NULL }
7595 static int
7596 dissect_gsm_map_ms_VLR_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7597 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7598 gsm_map_ms_VLR_Capability_sequence, hf_index, ett_gsm_map_ms_VLR_Capability);
7600 return offset;
7604 static const ber_sequence_t gsm_map_ms_ADD_Info_sequence[] = {
7605 { &hf_gsm_map_ms_imeisv , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
7606 { &hf_gsm_map_ms_skipSubscriberDataUpdate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7607 { NULL, 0, 0, 0, NULL }
7610 static int
7611 dissect_gsm_map_ms_ADD_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7612 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7613 gsm_map_ms_ADD_Info_sequence, hf_index, ett_gsm_map_ms_ADD_Info);
7615 return offset;
7620 static int
7621 dissect_gsm_map_ms_LAC(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7622 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7623 NULL);
7625 return offset;
7629 static const value_string gsm_map_ms_LocationArea_vals[] = {
7630 { 0, "laiFixedLength" },
7631 { 1, "lac" },
7632 { 0, NULL }
7635 static const ber_choice_t gsm_map_ms_LocationArea_choice[] = {
7636 { 0, &hf_gsm_map_ms_laiFixedLength, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_LAIFixedLength },
7637 { 1, &hf_gsm_map_ms_lac , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LAC },
7638 { 0, NULL, 0, 0, 0, NULL }
7641 static int
7642 dissect_gsm_map_ms_LocationArea(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7643 offset = dissect_ber_choice(actx, tree, tvb, offset,
7644 gsm_map_ms_LocationArea_choice, hf_index, ett_gsm_map_ms_LocationArea,
7645 NULL);
7647 return offset;
7651 static const ber_sequence_t gsm_map_ms_PagingArea_sequence_of[1] = {
7652 { &hf_gsm_map_ms_PagingArea_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_LocationArea },
7655 static int
7656 dissect_gsm_map_ms_PagingArea(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7657 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7658 gsm_map_ms_PagingArea_sequence_of, hf_index, ett_gsm_map_ms_PagingArea);
7660 return offset;
7664 static const ber_sequence_t gsm_map_ms_EPLMN_List_sequence_of[1] = {
7665 { &hf_gsm_map_ms_EPLMN_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_PLMN_Id },
7668 static int
7669 dissect_gsm_map_ms_EPLMN_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7670 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7671 gsm_map_ms_EPLMN_List_sequence_of, hf_index, ett_gsm_map_ms_EPLMN_List);
7673 return offset;
7677 static const ber_sequence_t gsm_map_ms_UpdateLocationArg_sequence[] = {
7678 { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
7679 { &hf_gsm_map_ms_msc_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
7680 { &hf_gsm_map_ms_vlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
7681 { &hf_gsm_map_ms_lmsi , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
7682 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7683 { &hf_gsm_map_ms_vlr_Capability, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VLR_Capability },
7684 { &hf_gsm_map_ms_informPreviousNetworkEntity, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7685 { &hf_gsm_map_ms_cs_LCS_NotSupportedByUE, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7686 { &hf_gsm_map_ms_v_gmlc_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
7687 { &hf_gsm_map_ms_add_info , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ADD_Info },
7688 { &hf_gsm_map_ms_pagingArea, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PagingArea },
7689 { &hf_gsm_map_ms_skipSubscriberDataUpdate, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7690 { &hf_gsm_map_ms_restorationIndicator, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7691 { &hf_gsm_map_ms_eplmn_List, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EPLMN_List },
7692 { &hf_gsm_map_ms_mme_DiameterAddress, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
7693 { NULL, 0, 0, 0, NULL }
7696 static int
7697 dissect_gsm_map_ms_UpdateLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7698 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7699 gsm_map_ms_UpdateLocationArg_sequence, hf_index, ett_gsm_map_ms_UpdateLocationArg);
7701 return offset;
7705 static const ber_sequence_t gsm_map_ms_UpdateLocationRes_sequence[] = {
7706 { &hf_gsm_map_ms_hlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
7707 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7708 { &hf_gsm_map_ms_add_Capability, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
7709 { &hf_gsm_map_ms_pagingArea_Capability, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7710 { NULL, 0, 0, 0, NULL }
7713 static int
7714 dissect_gsm_map_ms_UpdateLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7715 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7716 gsm_map_ms_UpdateLocationRes_sequence, hf_index, ett_gsm_map_ms_UpdateLocationRes);
7718 return offset;
7722 static const value_string gsm_map_ms_CancellationType_vals[] = {
7723 { 0, "updateProcedure" },
7724 { 1, "subscriptionWithdraw" },
7725 { 2, "initialAttachProcedure" },
7726 { 0, NULL }
7730 static int
7731 dissect_gsm_map_ms_CancellationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7732 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7733 NULL);
7735 return offset;
7739 static const value_string gsm_map_ms_TypeOfUpdate_vals[] = {
7740 { 0, "sgsn-change" },
7741 { 1, "mme-change" },
7742 { 0, NULL }
7746 static int
7747 dissect_gsm_map_ms_TypeOfUpdate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7748 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7749 NULL);
7751 return offset;
7755 static const ber_sequence_t gsm_map_ms_CancelLocationArg_U_sequence[] = {
7756 { &hf_gsm_map_ms_identity , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Identity },
7757 { &hf_gsm_map_ms_cancellationType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CancellationType },
7758 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7759 { &hf_gsm_map_ms_typeOfUpdate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TypeOfUpdate },
7760 { &hf_gsm_map_ms_mtrf_SupportedAndAuthorized, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7761 { &hf_gsm_map_ms_mtrf_SupportedAndNotAuthorized, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7762 { &hf_gsm_map_ms_newMSC_Number, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
7763 { &hf_gsm_map_ms_newVLR_Number, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
7764 { &hf_gsm_map_ms_new_lmsi , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
7765 { NULL, 0, 0, 0, NULL }
7768 static int
7769 dissect_gsm_map_ms_CancelLocationArg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7770 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7771 gsm_map_ms_CancelLocationArg_U_sequence, hf_index, ett_gsm_map_ms_CancelLocationArg_U);
7773 return offset;
7778 static int
7779 dissect_gsm_map_ms_CancelLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7780 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7781 hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_CancelLocationArg_U);
7783 return offset;
7787 static const ber_sequence_t gsm_map_ms_CancelLocationRes_sequence[] = {
7788 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7789 { NULL, 0, 0, 0, NULL }
7792 static int
7793 dissect_gsm_map_ms_CancelLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7794 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7795 gsm_map_ms_CancelLocationRes_sequence, hf_index, ett_gsm_map_ms_CancelLocationRes);
7797 return offset;
7801 static const ber_sequence_t gsm_map_ms_PurgeMS_Arg_U_sequence[] = {
7802 { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
7803 { &hf_gsm_map_ms_vlr_Number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
7804 { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
7805 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7806 { NULL, 0, 0, 0, NULL }
7809 static int
7810 dissect_gsm_map_ms_PurgeMS_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7811 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7812 gsm_map_ms_PurgeMS_Arg_U_sequence, hf_index, ett_gsm_map_ms_PurgeMS_Arg_U);
7814 return offset;
7819 static int
7820 dissect_gsm_map_ms_PurgeMS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7821 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7822 hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PurgeMS_Arg_U);
7824 return offset;
7828 static const ber_sequence_t gsm_map_ms_PurgeMS_Res_sequence[] = {
7829 { &hf_gsm_map_ms_freezeTMSI, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7830 { &hf_gsm_map_ms_freezeP_TMSI, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7831 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7832 { &hf_gsm_map_ms_freezeM_TMSI, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7833 { NULL, 0, 0, 0, NULL }
7836 static int
7837 dissect_gsm_map_ms_PurgeMS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7838 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7839 gsm_map_ms_PurgeMS_Res_sequence, hf_index, ett_gsm_map_ms_PurgeMS_Res);
7841 return offset;
7846 static int
7847 dissect_gsm_map_ms_NumberOfRequestedVectors(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7848 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7849 NULL);
7851 return offset;
7856 static int
7857 dissect_gsm_map_ms_HopCounter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7858 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7859 NULL);
7861 return offset;
7865 static const ber_sequence_t gsm_map_ms_SendIdentificationArg_sequence[] = {
7866 { &hf_gsm_map_ms_tmsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_TMSI },
7867 { &hf_gsm_map_ms_numberOfRequestedVectors, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NumberOfRequestedVectors },
7868 { &hf_gsm_map_ms_segmentationProhibited, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
7869 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7870 { &hf_gsm_map_ms_msc_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
7871 { &hf_gsm_map_ms_previous_LAI, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LAIFixedLength },
7872 { &hf_gsm_map_ms_hopCounter, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_HopCounter },
7873 { &hf_gsm_map_ms_mtRoamingForwardingSupported, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
7874 { &hf_gsm_map_ms_newVLR_Number, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
7875 { &hf_gsm_map_ms_new_lmsi , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
7876 { NULL, 0, 0, 0, NULL }
7879 static int
7880 dissect_gsm_map_ms_SendIdentificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7881 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7882 gsm_map_ms_SendIdentificationArg_sequence, hf_index, ett_gsm_map_ms_SendIdentificationArg);
7884 return offset;
7889 static int
7890 dissect_gsm_map_ms_RAND(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7891 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7892 NULL);
7894 return offset;
7899 static int
7900 dissect_gsm_map_ms_SRES(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7901 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7902 NULL);
7904 return offset;
7909 static int
7910 dissect_gsm_map_ms_Kc(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7911 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7912 NULL);
7914 return offset;
7918 static const ber_sequence_t gsm_map_ms_AuthenticationTriplet_sequence[] = {
7919 { &hf_gsm_map_ms_rand , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAND },
7920 { &hf_gsm_map_ms_sres , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SRES },
7921 { &hf_gsm_map_ms_kc , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Kc },
7922 { NULL, 0, 0, 0, NULL }
7925 static int
7926 dissect_gsm_map_ms_AuthenticationTriplet(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7927 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7928 gsm_map_ms_AuthenticationTriplet_sequence, hf_index, ett_gsm_map_ms_AuthenticationTriplet);
7930 return offset;
7934 static const ber_sequence_t gsm_map_ms_TripletList_sequence_of[1] = {
7935 { &hf_gsm_map_ms_TripletList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AuthenticationTriplet },
7938 static int
7939 dissect_gsm_map_ms_TripletList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7940 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7941 gsm_map_ms_TripletList_sequence_of, hf_index, ett_gsm_map_ms_TripletList);
7943 return offset;
7948 static int
7949 dissect_gsm_map_ms_XRES(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7950 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7951 NULL);
7953 return offset;
7958 static int
7959 dissect_gsm_map_ms_CK(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7960 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7961 NULL);
7963 return offset;
7968 static int
7969 dissect_gsm_map_ms_IK(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7970 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7971 NULL);
7973 return offset;
7978 static int
7979 dissect_gsm_map_ms_AUTN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7980 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7981 NULL);
7983 return offset;
7987 static const ber_sequence_t gsm_map_ms_AuthenticationQuintuplet_sequence[] = {
7988 { &hf_gsm_map_ms_rand , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAND },
7989 { &hf_gsm_map_ms_xres , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_XRES },
7990 { &hf_gsm_map_ms_ck , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CK },
7991 { &hf_gsm_map_ms_ik , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_IK },
7992 { &hf_gsm_map_ms_autn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AUTN },
7993 { NULL, 0, 0, 0, NULL }
7996 static int
7997 dissect_gsm_map_ms_AuthenticationQuintuplet(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7998 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7999 gsm_map_ms_AuthenticationQuintuplet_sequence, hf_index, ett_gsm_map_ms_AuthenticationQuintuplet);
8001 return offset;
8005 static const ber_sequence_t gsm_map_ms_QuintupletList_sequence_of[1] = {
8006 { &hf_gsm_map_ms_QuintupletList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AuthenticationQuintuplet },
8009 static int
8010 dissect_gsm_map_ms_QuintupletList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8011 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8012 gsm_map_ms_QuintupletList_sequence_of, hf_index, ett_gsm_map_ms_QuintupletList);
8014 return offset;
8018 static const value_string gsm_map_ms_AuthenticationSetList_vals[] = {
8019 { 0, "tripletList" },
8020 { 1, "quintupletList" },
8021 { 0, NULL }
8024 static const ber_choice_t gsm_map_ms_AuthenticationSetList_choice[] = {
8025 { 0, &hf_gsm_map_ms_tripletList, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TripletList },
8026 { 1, &hf_gsm_map_ms_quintupletList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_QuintupletList },
8027 { 0, NULL, 0, 0, 0, NULL }
8030 static int
8031 dissect_gsm_map_ms_AuthenticationSetList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8032 offset = dissect_ber_choice(actx, tree, tvb, offset,
8033 gsm_map_ms_AuthenticationSetList_choice, hf_index, ett_gsm_map_ms_AuthenticationSetList,
8034 NULL);
8036 return offset;
8041 static int
8042 dissect_gsm_map_ms_Cksn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8043 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8044 NULL);
8046 return offset;
8050 static const ber_sequence_t gsm_map_ms_GSM_SecurityContextData_sequence[] = {
8051 { &hf_gsm_map_ms_kc , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Kc },
8052 { &hf_gsm_map_ms_cksn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Cksn },
8053 { NULL, 0, 0, 0, NULL }
8056 static int
8057 dissect_gsm_map_ms_GSM_SecurityContextData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8058 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8059 gsm_map_ms_GSM_SecurityContextData_sequence, hf_index, ett_gsm_map_ms_GSM_SecurityContextData);
8061 return offset;
8066 static int
8067 dissect_gsm_map_ms_KSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8068 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8069 NULL);
8071 return offset;
8075 static const ber_sequence_t gsm_map_ms_UMTS_SecurityContextData_sequence[] = {
8076 { &hf_gsm_map_ms_ck , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CK },
8077 { &hf_gsm_map_ms_ik , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_IK },
8078 { &hf_gsm_map_ms_ksi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_KSI },
8079 { NULL, 0, 0, 0, NULL }
8082 static int
8083 dissect_gsm_map_ms_UMTS_SecurityContextData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8084 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8085 gsm_map_ms_UMTS_SecurityContextData_sequence, hf_index, ett_gsm_map_ms_UMTS_SecurityContextData);
8087 return offset;
8091 static const value_string gsm_map_ms_CurrentSecurityContext_vals[] = {
8092 { 0, "gsm-SecurityContextData" },
8093 { 1, "umts-SecurityContextData" },
8094 { 0, NULL }
8097 static const ber_choice_t gsm_map_ms_CurrentSecurityContext_choice[] = {
8098 { 0, &hf_gsm_map_ms_gsm_SecurityContextData, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSM_SecurityContextData },
8099 { 1, &hf_gsm_map_ms_umts_SecurityContextData, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UMTS_SecurityContextData },
8100 { 0, NULL, 0, 0, 0, NULL }
8103 static int
8104 dissect_gsm_map_ms_CurrentSecurityContext(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8105 offset = dissect_ber_choice(actx, tree, tvb, offset,
8106 gsm_map_ms_CurrentSecurityContext_choice, hf_index, ett_gsm_map_ms_CurrentSecurityContext,
8107 NULL);
8109 return offset;
8113 static const ber_sequence_t gsm_map_ms_SendIdentificationRes_U_sequence[] = {
8114 { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
8115 { &hf_gsm_map_ms_authenticationSetList, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_AuthenticationSetList },
8116 { &hf_gsm_map_ms_currentSecurityContext, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_CurrentSecurityContext },
8117 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8118 { NULL, 0, 0, 0, NULL }
8121 static int
8122 dissect_gsm_map_ms_SendIdentificationRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8123 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8124 gsm_map_ms_SendIdentificationRes_U_sequence, hf_index, ett_gsm_map_ms_SendIdentificationRes_U);
8126 return offset;
8131 static int
8132 dissect_gsm_map_ms_SendIdentificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8133 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8134 hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_SendIdentificationRes_U);
8136 return offset;
8141 static int
8142 dissect_gsm_map_ms_AUTS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8143 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8144 NULL);
8146 return offset;
8150 static const value_string gsm_map_ms_FailureCause_vals[] = {
8151 { 0, "wrongUserResponse" },
8152 { 1, "wrongNetworkSignature" },
8153 { 0, NULL }
8157 static int
8158 dissect_gsm_map_ms_FailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8159 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8160 NULL);
8162 return offset;
8167 static int
8168 dissect_gsm_map_ms_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8169 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
8171 return offset;
8175 static const value_string gsm_map_ms_AccessType_vals[] = {
8176 { 0, "call" },
8177 { 1, "emergencyCall" },
8178 { 2, "locationUpdating" },
8179 { 3, "supplementaryService" },
8180 { 4, "shortMessage" },
8181 { 5, "gprsAttach" },
8182 { 6, "routingAreaUpdating" },
8183 { 7, "serviceRequest" },
8184 { 8, "pdpContextActivation" },
8185 { 9, "pdpContextDeactivation" },
8186 { 10, "gprsDetach" },
8187 { 0, NULL }
8191 static int
8192 dissect_gsm_map_ms_AccessType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8193 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8194 NULL);
8196 return offset;
8200 static const ber_sequence_t gsm_map_ms_AuthenticationFailureReportArg_sequence[] = {
8201 { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
8202 { &hf_gsm_map_ms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_FailureCause },
8203 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
8204 { &hf_gsm_map_ms_re_attempt, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_BOOLEAN },
8205 { &hf_gsm_map_ms_accessType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AccessType },
8206 { &hf_gsm_map_ms_rand , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAND },
8207 { &hf_gsm_map_ms_vlr_Number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
8208 { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
8209 { NULL, 0, 0, 0, NULL }
8212 static int
8213 dissect_gsm_map_ms_AuthenticationFailureReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8214 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8215 gsm_map_ms_AuthenticationFailureReportArg_sequence, hf_index, ett_gsm_map_ms_AuthenticationFailureReportArg);
8217 return offset;
8221 static const ber_sequence_t gsm_map_ms_AuthenticationFailureReportRes_sequence[] = {
8222 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
8223 { NULL, 0, 0, 0, NULL }
8226 static int
8227 dissect_gsm_map_ms_AuthenticationFailureReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8228 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8229 gsm_map_ms_AuthenticationFailureReportRes_sequence, hf_index, ett_gsm_map_ms_AuthenticationFailureReportRes);
8231 return offset;
8235 static const asn_namedbit gsm_map_ms_SupportedFeatures_bits[] = {
8236 { 0, &hf_gsm_map_ms_SupportedFeatures_odb_all_apn, -1, -1, "odb-all-apn", NULL },
8237 { 1, &hf_gsm_map_ms_SupportedFeatures_odb_HPLMN_APN, -1, -1, "odb-HPLMN-APN", NULL },
8238 { 2, &hf_gsm_map_ms_SupportedFeatures_odb_VPLMN_APN, -1, -1, "odb-VPLMN-APN", NULL },
8239 { 3, &hf_gsm_map_ms_SupportedFeatures_odb_all_og, -1, -1, "odb-all-og", NULL },
8240 { 4, &hf_gsm_map_ms_SupportedFeatures_odb_all_international_og, -1, -1, "odb-all-international-og", NULL },
8241 { 5, &hf_gsm_map_ms_SupportedFeatures_odb_all_int_og_not_to_HPLMN_country, -1, -1, "odb-all-int-og-not-to-HPLMN-country", NULL },
8242 { 6, &hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og, -1, -1, "odb-all-interzonal-og", NULL },
8243 { 7, &hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og_not_to_HPLMN_country, -1, -1, "odb-all-interzonal-og-not-to-HPLMN-country", NULL },
8244 { 8, &hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og_and_internat_og_not_to_HPLMN_country, -1, -1, "odb-all-interzonal-og-and-internat-og-not-to-HPLMN-country", NULL },
8245 { 9, &hf_gsm_map_ms_SupportedFeatures_regSub, -1, -1, "regSub", NULL },
8246 { 10, &hf_gsm_map_ms_SupportedFeatures_trace, -1, -1, "trace", NULL },
8247 { 11, &hf_gsm_map_ms_SupportedFeatures_lcs_all_PrivExcep, -1, -1, "lcs-all-PrivExcep", NULL },
8248 { 12, &hf_gsm_map_ms_SupportedFeatures_lcs_universal, -1, -1, "lcs-universal", NULL },
8249 { 13, &hf_gsm_map_ms_SupportedFeatures_lcs_CallSessionRelated, -1, -1, "lcs-CallSessionRelated", NULL },
8250 { 14, &hf_gsm_map_ms_SupportedFeatures_lcs_CallSessionUnrelated, -1, -1, "lcs-CallSessionUnrelated", NULL },
8251 { 15, &hf_gsm_map_ms_SupportedFeatures_lcs_PLMN_operator, -1, -1, "lcs-PLMN-operator", NULL },
8252 { 16, &hf_gsm_map_ms_SupportedFeatures_lcs_ServiceType, -1, -1, "lcs-ServiceType", NULL },
8253 { 17, &hf_gsm_map_ms_SupportedFeatures_lcs_all_MOLR_SS, -1, -1, "lcs-all-MOLR-SS", NULL },
8254 { 18, &hf_gsm_map_ms_SupportedFeatures_lcs_basicSelfLocation, -1, -1, "lcs-basicSelfLocation", NULL },
8255 { 19, &hf_gsm_map_ms_SupportedFeatures_lcs_autonomousSelfLocation, -1, -1, "lcs-autonomousSelfLocation", NULL },
8256 { 20, &hf_gsm_map_ms_SupportedFeatures_lcs_transferToThirdParty, -1, -1, "lcs-transferToThirdParty", NULL },
8257 { 21, &hf_gsm_map_ms_SupportedFeatures_sm_mo_pp, -1, -1, "sm-mo-pp", NULL },
8258 { 22, &hf_gsm_map_ms_SupportedFeatures_barring_OutgoingCalls, -1, -1, "barring-OutgoingCalls", NULL },
8259 { 23, &hf_gsm_map_ms_SupportedFeatures_baoc, -1, -1, "baoc", NULL },
8260 { 24, &hf_gsm_map_ms_SupportedFeatures_boic, -1, -1, "boic", NULL },
8261 { 25, &hf_gsm_map_ms_SupportedFeatures_boicExHC, -1, -1, "boicExHC", NULL },
8262 { 26, &hf_gsm_map_ms_SupportedFeatures_localTimeZoneRetrieval, -1, -1, "localTimeZoneRetrieval", NULL },
8263 { 27, &hf_gsm_map_ms_SupportedFeatures_additionalMsisdn, -1, -1, "additionalMsisdn", NULL },
8264 { 28, &hf_gsm_map_ms_SupportedFeatures_smsInMME, -1, -1, "smsInMME", NULL },
8265 { 29, &hf_gsm_map_ms_SupportedFeatures_smsInSGSN, -1, -1, "smsInSGSN", NULL },
8266 { 0, NULL, 0, 0, NULL, NULL }
8269 static int
8270 dissect_gsm_map_ms_SupportedFeatures(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8271 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
8272 gsm_map_ms_SupportedFeatures_bits, hf_index, ett_gsm_map_ms_SupportedFeatures,
8273 NULL);
8275 return offset;
8279 static const ber_sequence_t gsm_map_ms_SGSN_Capability_sequence[] = {
8280 { &hf_gsm_map_ms_solsaSupportIndicator, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
8281 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8282 { &hf_gsm_map_ms_superChargerSupportedInServingNetworkEntity, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_SuperChargerInfo },
8283 { &hf_gsm_map_ms_gprsEnhancementsSupportIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8284 { &hf_gsm_map_ms_supportedCamelPhases, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
8285 { &hf_gsm_map_ms_supportedLCS_CapabilitySets, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedLCS_CapabilitySets },
8286 { &hf_gsm_map_ms_offeredCamel4CSIs, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
8287 { &hf_gsm_map_ms_smsCallBarringSupportIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8288 { &hf_gsm_map_ms_supportedRAT_TypesIndicator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedRAT_Types },
8289 { &hf_gsm_map_ms_supportedFeatures, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedFeatures },
8290 { &hf_gsm_map_ms_t_adsDataRetrieval, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8291 { &hf_gsm_map_ms_homogeneousSupportOfIMSVoiceOverPSSessions, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BOOLEAN },
8292 { &hf_gsm_map_ms_cancellationTypeInitialAttach, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8293 { &hf_gsm_map_ms_additionalMsisdnSupport, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8294 { &hf_gsm_map_ms_msisdn_lessOperation_Supported, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8295 { NULL, 0, 0, 0, NULL }
8298 static int
8299 dissect_gsm_map_ms_SGSN_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8300 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8301 gsm_map_ms_SGSN_Capability_sequence, hf_index, ett_gsm_map_ms_SGSN_Capability);
8303 return offset;
8308 static int
8309 dissect_gsm_map_ms_APN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8310 #line 872 "../../asn1/gsm_map/gsm_map.cnf"
8311 tvbuff_t *parameter_tvb;
8312 proto_tree *subtree;
8313 int length, name_len, tmp;
8314 guint8 *apn_str = NULL;
8316 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8317 &parameter_tvb);
8319 if (!parameter_tvb)
8320 return offset;
8322 length = tvb_length(parameter_tvb);
8323 name_len = tvb_get_guint8(parameter_tvb, 0);
8324 apn_str = tvb_get_string(wmem_packet_scope(), parameter_tvb, 1, length - 1);
8325 if (name_len < length-1) {
8326 for (;;) {
8327 if (name_len >= length - 1)
8328 break;
8329 tmp = name_len;
8330 name_len = name_len + apn_str[tmp] + 1;
8331 apn_str[tmp] = '.';
8334 proto_item_append_text(actx->created_item, " - %s", apn_str);
8335 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_apn_str);
8336 proto_tree_add_string(subtree, hf_gsm_apn_str, parameter_tvb, 0, -1, apn_str);
8341 return offset;
8346 static int
8347 dissect_gsm_map_ms_PDP_Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8348 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8349 NULL);
8351 return offset;
8356 static int
8357 dissect_gsm_map_ms_FQDN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8358 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8359 NULL);
8361 return offset;
8365 static const ber_sequence_t gsm_map_ms_PDN_GW_Identity_sequence[] = {
8366 { &hf_gsm_map_ms_pdn_gw_ipv4_Address, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
8367 { &hf_gsm_map_ms_pdn_gw_ipv6_Address, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
8368 { &hf_gsm_map_ms_pdn_gw_name, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_FQDN },
8369 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8370 { NULL, 0, 0, 0, NULL }
8373 static int
8374 dissect_gsm_map_ms_PDN_GW_Identity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8375 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8376 gsm_map_ms_PDN_GW_Identity_sequence, hf_index, ett_gsm_map_ms_PDN_GW_Identity);
8378 return offset;
8383 static int
8384 dissect_gsm_map_ms_ContextId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8385 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8386 NULL);
8388 return offset;
8392 static const ber_sequence_t gsm_map_ms_PDN_GW_Update_sequence[] = {
8393 { &hf_gsm_map_ms_apn , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN },
8394 { &hf_gsm_map_ms_pdn_gw_Identity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDN_GW_Identity },
8395 { &hf_gsm_map_ms_contextId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ContextId },
8396 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8397 { NULL, 0, 0, 0, NULL }
8400 static int
8401 dissect_gsm_map_ms_PDN_GW_Update(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8402 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8403 gsm_map_ms_PDN_GW_Update_sequence, hf_index, ett_gsm_map_ms_PDN_GW_Update);
8405 return offset;
8409 static const asn_namedbit gsm_map_ms_ISR_Information_bits[] = {
8410 { 0, &hf_gsm_map_ms_ISR_Information_updateLocation, -1, -1, "updateLocation", NULL },
8411 { 1, &hf_gsm_map_ms_ISR_Information_cancelSGSN, -1, -1, "cancelSGSN", NULL },
8412 { 2, &hf_gsm_map_ms_ISR_Information_initialAttachIndicator, -1, -1, "initialAttachIndicator", NULL },
8413 { 0, NULL, 0, 0, NULL, NULL }
8416 static int
8417 dissect_gsm_map_ms_ISR_Information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8418 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
8419 gsm_map_ms_ISR_Information_bits, hf_index, ett_gsm_map_ms_ISR_Information,
8420 NULL);
8422 return offset;
8426 static const value_string gsm_map_ms_EPS_Info_vals[] = {
8427 { 0, "pdn-gw-update" },
8428 { 1, "isr-Information" },
8429 { 0, NULL }
8432 static const ber_choice_t gsm_map_ms_EPS_Info_choice[] = {
8433 { 0, &hf_gsm_map_ms_pdn_gw_update, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDN_GW_Update },
8434 { 1, &hf_gsm_map_ms_isr_Information, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ISR_Information },
8435 { 0, NULL, 0, 0, 0, NULL }
8438 static int
8439 dissect_gsm_map_ms_EPS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8440 offset = dissect_ber_choice(actx, tree, tvb, offset,
8441 gsm_map_ms_EPS_Info_choice, hf_index, ett_gsm_map_ms_EPS_Info,
8442 NULL);
8444 return offset;
8448 static const value_string gsm_map_ms_Used_RAT_Type_vals[] = {
8449 { 0, "utran" },
8450 { 1, "geran" },
8451 { 2, "gan" },
8452 { 3, "i-hspa-evolution" },
8453 { 4, "e-utran" },
8454 { 0, NULL }
8458 static int
8459 dissect_gsm_map_ms_Used_RAT_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8460 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8461 NULL);
8463 return offset;
8467 static const value_string gsm_map_ms_UE_SRVCC_Capability_vals[] = {
8468 { 0, "ue-srvcc-not-supported" },
8469 { 1, "ue-srvcc-supported" },
8470 { 0, NULL }
8474 static int
8475 dissect_gsm_map_ms_UE_SRVCC_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8476 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8477 NULL);
8479 return offset;
8483 static const value_string gsm_map_ms_SMSRegisterRequest_vals[] = {
8484 { 0, "sms-registration-required" },
8485 { 1, "sms-registration-not-preferred" },
8486 { 2, "no-preference" },
8487 { 0, NULL }
8491 static int
8492 dissect_gsm_map_ms_SMSRegisterRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8493 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8494 NULL);
8496 return offset;
8500 static const ber_sequence_t gsm_map_ms_UpdateGprsLocationArg_sequence[] = {
8501 { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
8502 { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
8503 { &hf_gsm_map_ms_sgsn_Address, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_GSN_Address },
8504 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
8505 { &hf_gsm_map_ms_sgsn_Capability, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SGSN_Capability },
8506 { &hf_gsm_map_ms_informPreviousNetworkEntity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8507 { &hf_gsm_map_ms_ps_LCS_NotSupportedByUE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8508 { &hf_gsm_map_ms_v_gmlc_Address, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
8509 { &hf_gsm_map_ms_add_info , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ADD_Info },
8510 { &hf_gsm_map_ms_eps_info , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_EPS_Info },
8511 { &hf_gsm_map_ms_servingNodeTypeIndicator, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8512 { &hf_gsm_map_ms_skipSubscriberDataUpdate, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8513 { &hf_gsm_map_ms_usedRAT_Type, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Used_RAT_Type },
8514 { &hf_gsm_map_ms_gprsSubscriptionDataNotNeeded, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8515 { &hf_gsm_map_ms_nodeTypeIndicator, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8516 { &hf_gsm_map_ms_areaRestricted, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8517 { &hf_gsm_map_ms_ue_reachableIndicator, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8518 { &hf_gsm_map_ms_epsSubscriptionDataNotNeeded, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8519 { &hf_gsm_map_ms_ue_srvcc_Capability, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UE_SRVCC_Capability },
8520 { &hf_gsm_map_ms_eplmn_List, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EPLMN_List },
8521 { &hf_gsm_map_ms_mmeNumberforMTSMS, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
8522 { &hf_gsm_map_ms_smsRegisterRequest, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMSRegisterRequest },
8523 { &hf_gsm_map_ms_sms_Only , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8524 { NULL, 0, 0, 0, NULL }
8527 static int
8528 dissect_gsm_map_ms_UpdateGprsLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8529 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8530 gsm_map_ms_UpdateGprsLocationArg_sequence, hf_index, ett_gsm_map_ms_UpdateGprsLocationArg);
8532 return offset;
8536 static const ber_sequence_t gsm_map_ms_UpdateGprsLocationRes_sequence[] = {
8537 { &hf_gsm_map_ms_hlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
8538 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
8539 { &hf_gsm_map_ms_add_Capability, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
8540 { &hf_gsm_map_ms_sgsn_mmeSeparationSupported, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8541 { &hf_gsm_map_ms_mmeRegisteredforSMS, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8542 { NULL, 0, 0, 0, NULL }
8545 static int
8546 dissect_gsm_map_ms_UpdateGprsLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8547 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8548 gsm_map_ms_UpdateGprsLocationRes_sequence, hf_index, ett_gsm_map_ms_UpdateGprsLocationRes);
8550 return offset;
8555 static int
8556 dissect_gsm_map_ms_IntegrityProtectionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8557 #line 655 "../../asn1/gsm_map/gsm_map.cnf"
8558 tvbuff_t *parameter_tvb;
8559 asn1_ctx_t asn1_ctx;
8561 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8562 &parameter_tvb);
8565 if (!parameter_tvb)
8566 return offset;
8568 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo);
8569 dissect_ranap_IntegrityProtectionInformation(parameter_tvb, 0, &asn1_ctx, tree, hf_gsm_map_IntegrityProtectionInformation);
8573 return offset;
8578 static int
8579 dissect_gsm_map_ms_EncryptionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8580 #line 667 "../../asn1/gsm_map/gsm_map.cnf"
8581 tvbuff_t *parameter_tvb;
8582 asn1_ctx_t asn1_ctx;
8584 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8585 &parameter_tvb);
8588 if (!parameter_tvb)
8589 return offset;
8591 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo);
8592 dissect_ranap_EncryptionInformation(parameter_tvb, 0, &asn1_ctx, tree, hf_gsm_map_EncryptionInformation);
8596 return offset;
8600 static const value_string gsm_map_ms_KeyStatus_vals[] = {
8601 { 0, "old" },
8602 { 1, "new" },
8603 { 0, NULL }
8607 static int
8608 dissect_gsm_map_ms_KeyStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8609 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8610 NULL);
8612 return offset;
8617 static int
8618 dissect_gsm_map_ms_AllowedGSM_Algorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8619 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8620 NULL);
8622 return offset;
8627 static int
8628 dissect_gsm_map_ms_PermittedIntegrityProtectionAlgorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8629 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8630 NULL);
8632 return offset;
8637 static int
8638 dissect_gsm_map_ms_PermittedEncryptionAlgorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8639 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8640 NULL);
8642 return offset;
8646 static const ber_sequence_t gsm_map_ms_AllowedUMTS_Algorithms_sequence[] = {
8647 { &hf_gsm_map_ms_integrityProtectionAlgorithms, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PermittedIntegrityProtectionAlgorithms },
8648 { &hf_gsm_map_ms_encryptionAlgorithms, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PermittedEncryptionAlgorithms },
8649 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8650 { NULL, 0, 0, 0, NULL }
8653 static int
8654 dissect_gsm_map_ms_AllowedUMTS_Algorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8655 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8656 gsm_map_ms_AllowedUMTS_Algorithms_sequence, hf_index, ett_gsm_map_ms_AllowedUMTS_Algorithms);
8658 return offset;
8663 static int
8664 dissect_gsm_map_ms_RadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8665 #line 631 "../../asn1/gsm_map/gsm_map.cnf"
8666 tvbuff_t *parameter_tvb;
8667 proto_tree *subtree;
8669 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8670 &parameter_tvb);
8673 if (!parameter_tvb)
8674 return offset;
8676 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_RadioResourceInformation);
8677 be_chan_type(parameter_tvb, subtree, actx->pinfo, 0, tvb_length_remaining(tvb,0), NULL, 0);
8681 return offset;
8686 static int
8687 dissect_gsm_map_ms_RAB_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8688 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8689 NULL);
8691 return offset;
8695 static const ber_sequence_t gsm_map_ms_RadioResource_sequence[] = {
8696 { &hf_gsm_map_ms_radioResourceInformation, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RadioResourceInformation },
8697 { &hf_gsm_map_ms_rab_Id , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAB_Id },
8698 { NULL, 0, 0, 0, NULL }
8701 static int
8702 dissect_gsm_map_ms_RadioResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8703 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8704 gsm_map_ms_RadioResource_sequence, hf_index, ett_gsm_map_ms_RadioResource);
8706 return offset;
8710 static const ber_sequence_t gsm_map_ms_RadioResourceList_sequence_of[1] = {
8711 { &hf_gsm_map_ms_RadioResourceList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RadioResource },
8714 static int
8715 dissect_gsm_map_ms_RadioResourceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8716 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8717 gsm_map_ms_RadioResourceList_sequence_of, hf_index, ett_gsm_map_ms_RadioResourceList);
8719 return offset;
8724 static int
8725 dissect_gsm_map_ms_BSSMAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8726 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8727 NULL);
8729 return offset;
8734 static int
8735 dissect_gsm_map_ms_RANAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8736 #line 643 "../../asn1/gsm_map/gsm_map.cnf"
8737 tvbuff_t *parameter_tvb;
8738 asn1_ctx_t asn1_ctx;
8740 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8741 &parameter_tvb);
8744 if (!parameter_tvb)
8745 return offset;
8747 asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo);
8748 dissect_ranap_Service_Handover(parameter_tvb, 0, &asn1_ctx, tree, hf_gsm_map_ranap_service_Handover);
8752 return offset;
8756 static const ber_sequence_t gsm_map_ms_BSSMAP_ServiceHandoverInfo_sequence[] = {
8757 { &hf_gsm_map_ms_bssmap_ServiceHandover, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandover },
8758 { &hf_gsm_map_ms_rab_Id , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAB_Id },
8759 { NULL, 0, 0, 0, NULL }
8762 static int
8763 dissect_gsm_map_ms_BSSMAP_ServiceHandoverInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8764 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8765 gsm_map_ms_BSSMAP_ServiceHandoverInfo_sequence, hf_index, ett_gsm_map_ms_BSSMAP_ServiceHandoverInfo);
8767 return offset;
8771 static const ber_sequence_t gsm_map_ms_BSSMAP_ServiceHandoverList_sequence_of[1] = {
8772 { &hf_gsm_map_ms_BSSMAP_ServiceHandoverList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandoverInfo },
8775 static int
8776 dissect_gsm_map_ms_BSSMAP_ServiceHandoverList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8777 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8778 gsm_map_ms_BSSMAP_ServiceHandoverList_sequence_of, hf_index, ett_gsm_map_ms_BSSMAP_ServiceHandoverList);
8780 return offset;
8785 static int
8786 dissect_gsm_map_ms_Codec(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8787 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8788 NULL);
8790 return offset;
8794 static const ber_sequence_t gsm_map_ms_CodecList_sequence[] = {
8795 { &hf_gsm_map_ms_codec1_01, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
8796 { &hf_gsm_map_ms_codec2_01, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
8797 { &hf_gsm_map_ms_codec3_01, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
8798 { &hf_gsm_map_ms_codec4_01, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
8799 { &hf_gsm_map_ms_codec5_01, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
8800 { &hf_gsm_map_ms_codec6_01, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
8801 { &hf_gsm_map_ms_codec7_01, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
8802 { &hf_gsm_map_ms_codec8_01, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
8803 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8804 { NULL, 0, 0, 0, NULL }
8807 static int
8808 dissect_gsm_map_ms_CodecList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8809 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8810 gsm_map_ms_CodecList_sequence, hf_index, ett_gsm_map_ms_CodecList);
8812 return offset;
8816 static const ber_sequence_t gsm_map_ms_SupportedCodecsList_sequence[] = {
8817 { &hf_gsm_map_ms_utranCodecList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CodecList },
8818 { &hf_gsm_map_ms_geranCodecList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CodecList },
8819 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8820 { NULL, 0, 0, 0, NULL }
8823 static int
8824 dissect_gsm_map_ms_SupportedCodecsList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8825 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8826 gsm_map_ms_SupportedCodecsList_sequence, hf_index, ett_gsm_map_ms_SupportedCodecsList);
8828 return offset;
8833 static int
8834 dissect_gsm_map_ms_AoIPCodec(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8835 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8836 NULL);
8838 return offset;
8842 static const ber_sequence_t gsm_map_ms_AoIPCodecsList_sequence[] = {
8843 { &hf_gsm_map_ms_codec1 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
8844 { &hf_gsm_map_ms_codec2 , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
8845 { &hf_gsm_map_ms_codec3 , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
8846 { &hf_gsm_map_ms_codec4 , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
8847 { &hf_gsm_map_ms_codec5 , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
8848 { &hf_gsm_map_ms_codec6 , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
8849 { &hf_gsm_map_ms_codec7 , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
8850 { &hf_gsm_map_ms_codec8 , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
8851 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8852 { NULL, 0, 0, 0, NULL }
8855 static int
8856 dissect_gsm_map_ms_AoIPCodecsList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8857 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8858 gsm_map_ms_AoIPCodecsList_sequence, hf_index, ett_gsm_map_ms_AoIPCodecsList);
8860 return offset;
8864 static const ber_sequence_t gsm_map_ms_ForwardAccessSignalling_Arg_U_sequence[] = {
8865 { &hf_gsm_map_ms_an_APDU , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkSignalInfo },
8866 { &hf_gsm_map_ms_integrityProtectionInfo, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IntegrityProtectionInformation },
8867 { &hf_gsm_map_ms_encryptionInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EncryptionInformation },
8868 { &hf_gsm_map_ms_keyStatus, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_KeyStatus },
8869 { &hf_gsm_map_ms_allowedGSM_Algorithms, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AllowedGSM_Algorithms },
8870 { &hf_gsm_map_ms_allowedUMTS_Algorithms, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AllowedUMTS_Algorithms },
8871 { &hf_gsm_map_ms_radioResourceInformation, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceInformation },
8872 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8873 { &hf_gsm_map_ms_radioResourceList, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceList },
8874 { &hf_gsm_map_ms_bssmap_ServiceHandover, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandover },
8875 { &hf_gsm_map_ms_ranap_ServiceHandover, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RANAP_ServiceHandover },
8876 { &hf_gsm_map_ms_bssmap_ServiceHandoverList, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandoverList },
8877 { &hf_gsm_map_ms_currentlyUsedCodec, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
8878 { &hf_gsm_map_ms_iuSupportedCodecsList, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCodecsList },
8879 { &hf_gsm_map_ms_rab_ConfigurationIndicator, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8880 { &hf_gsm_map_ms_iuSelectedCodec, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
8881 { &hf_gsm_map_ms_alternativeChannelType, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceInformation },
8882 { &hf_gsm_map_ms_tracePropagationList, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TracePropagationList },
8883 { &hf_gsm_map_ms_aoipSupportedCodecsListAnchor, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodecsList },
8884 { &hf_gsm_map_ms_aoipSelectedCodecTarget, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
8885 { NULL, 0, 0, 0, NULL }
8888 static int
8889 dissect_gsm_map_ms_ForwardAccessSignalling_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8890 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8891 gsm_map_ms_ForwardAccessSignalling_Arg_U_sequence, hf_index, ett_gsm_map_ms_ForwardAccessSignalling_Arg_U);
8893 return offset;
8898 static int
8899 dissect_gsm_map_ms_ForwardAccessSignalling_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8900 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8901 hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_ForwardAccessSignalling_Arg_U);
8903 return offset;
8908 static int
8909 dissect_gsm_map_ms_RNCId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8910 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8911 NULL);
8913 return offset;
8918 static int
8919 dissect_gsm_map_ms_GERAN_Classmark(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8920 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8921 NULL);
8923 return offset;
8928 static int
8929 dissect_gsm_map_ms_UESBI_IuA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8930 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
8931 NULL, hf_index, -1,
8932 NULL);
8934 return offset;
8939 static int
8940 dissect_gsm_map_ms_UESBI_IuB(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8941 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
8942 NULL, hf_index, -1,
8943 NULL);
8945 return offset;
8949 static const ber_sequence_t gsm_map_ms_UESBI_Iu_sequence[] = {
8950 { &hf_gsm_map_ms_uesbi_IuA, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UESBI_IuA },
8951 { &hf_gsm_map_ms_uesbi_IuB, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UESBI_IuB },
8952 { NULL, 0, 0, 0, NULL }
8955 static int
8956 dissect_gsm_map_ms_UESBI_Iu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8957 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8958 gsm_map_ms_UESBI_Iu_sequence, hf_index, ett_gsm_map_ms_UESBI_Iu);
8960 return offset;
8965 static int
8966 dissect_gsm_map_ms_ZoneCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8967 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8968 NULL);
8970 return offset;
8974 static const ber_sequence_t gsm_map_ms_ZoneCodeList_sequence_of[1] = {
8975 { &hf_gsm_map_ms_ZoneCodeList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ZoneCode },
8978 static int
8979 dissect_gsm_map_ms_ZoneCodeList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8980 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8981 gsm_map_ms_ZoneCodeList_sequence_of, hf_index, ett_gsm_map_ms_ZoneCodeList);
8983 return offset;
8988 static int
8989 dissect_gsm_map_ms_LCLS_GlobalCallReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8990 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8991 NULL);
8993 return offset;
8997 static const asn_namedbit gsm_map_ms_LCLS_Negotiation_bits[] = {
8998 { 0, &hf_gsm_map_ms_LCLS_Negotiation_permission_indicator_not_allowed_bit, -1, -1, "permission-indicator-not-allowed-bit", NULL },
8999 { 1, &hf_gsm_map_ms_LCLS_Negotiation_permission_indicator_spare_bit, -1, -1, "permission-indicator-spare-bit", NULL },
9000 { 0, NULL, 0, 0, NULL, NULL }
9003 static int
9004 dissect_gsm_map_ms_LCLS_Negotiation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9005 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
9006 gsm_map_ms_LCLS_Negotiation_bits, hf_index, ett_gsm_map_ms_LCLS_Negotiation,
9007 NULL);
9009 return offset;
9013 static const asn_namedbit gsm_map_ms_LCLS_ConfigurationPreference_bits[] = {
9014 { 0, &hf_gsm_map_ms_LCLS_ConfigurationPreference_forward_data_sending_indicator, -1, -1, "forward-data-sending-indicator", NULL },
9015 { 1, &hf_gsm_map_ms_LCLS_ConfigurationPreference_backward_data_sending_indicator, -1, -1, "backward-data-sending-indicator", NULL },
9016 { 2, &hf_gsm_map_ms_LCLS_ConfigurationPreference_forward_data_reception_indicator, -1, -1, "forward-data-reception-indicator", NULL },
9017 { 3, &hf_gsm_map_ms_LCLS_ConfigurationPreference_backward_data_reception_indicator, -1, -1, "backward-data-reception-indicator", NULL },
9018 { 0, NULL, 0, 0, NULL, NULL }
9021 static int
9022 dissect_gsm_map_ms_LCLS_ConfigurationPreference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9023 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
9024 gsm_map_ms_LCLS_ConfigurationPreference_bits, hf_index, ett_gsm_map_ms_LCLS_ConfigurationPreference,
9025 NULL);
9027 return offset;
9032 static int
9033 dissect_gsm_map_ms_CSG_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9034 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
9035 NULL, hf_index, -1,
9036 NULL);
9038 return offset;
9042 static const ber_sequence_t gsm_map_ms_LIPA_AllowedAPNList_sequence_of[1] = {
9043 { &hf_gsm_map_ms_LIPA_AllowedAPNList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_APN },
9046 static int
9047 dissect_gsm_map_ms_LIPA_AllowedAPNList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9048 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9049 gsm_map_ms_LIPA_AllowedAPNList_sequence_of, hf_index, ett_gsm_map_ms_LIPA_AllowedAPNList);
9051 return offset;
9055 static const ber_sequence_t gsm_map_ms_CSG_SubscriptionData_sequence[] = {
9056 { &hf_gsm_map_ms_csg_Id , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CSG_Id },
9057 { &hf_gsm_map_ms_expirationDate, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_Time },
9058 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
9059 { &hf_gsm_map_ms_lipa_AllowedAPNList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LIPA_AllowedAPNList },
9060 { &hf_gsm_map_ms_plmn_Id , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PLMN_Id },
9061 { NULL, 0, 0, 0, NULL }
9064 static int
9065 dissect_gsm_map_ms_CSG_SubscriptionData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9066 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9067 gsm_map_ms_CSG_SubscriptionData_sequence, hf_index, ett_gsm_map_ms_CSG_SubscriptionData);
9069 return offset;
9073 static const ber_sequence_t gsm_map_ms_CSG_SubscriptionDataList_sequence_of[1] = {
9074 { &hf_gsm_map_ms_CSG_SubscriptionDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CSG_SubscriptionData },
9077 static int
9078 dissect_gsm_map_ms_CSG_SubscriptionDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9079 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9080 gsm_map_ms_CSG_SubscriptionDataList_sequence_of, hf_index, ett_gsm_map_ms_CSG_SubscriptionDataList);
9082 return offset;
9086 static const ber_sequence_t gsm_map_ms_PrepareHO_Arg_U_sequence[] = {
9087 { &hf_gsm_map_ms_targetCellId, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GlobalCellId },
9088 { &hf_gsm_map_ms_ho_NumberNotRequired, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
9089 { &hf_gsm_map_ms_targetRNCId, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RNCId },
9090 { &hf_gsm_map_ms_an_APDU , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo },
9091 { &hf_gsm_map_ms_multipleBearerRequested, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9092 { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
9093 { &hf_gsm_map_ms_integrityProtectionInfo, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IntegrityProtectionInformation },
9094 { &hf_gsm_map_ms_encryptionInfo, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EncryptionInformation },
9095 { &hf_gsm_map_ms_radioResourceInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceInformation },
9096 { &hf_gsm_map_ms_allowedGSM_Algorithms, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AllowedGSM_Algorithms },
9097 { &hf_gsm_map_ms_allowedUMTS_Algorithms, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AllowedUMTS_Algorithms },
9098 { &hf_gsm_map_ms_radioResourceList, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceList },
9099 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9100 { &hf_gsm_map_ms_rab_Id , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RAB_Id },
9101 { &hf_gsm_map_ms_bssmap_ServiceHandover, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandover },
9102 { &hf_gsm_map_ms_ranap_ServiceHandover, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RANAP_ServiceHandover },
9103 { &hf_gsm_map_ms_bssmap_ServiceHandoverList, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandoverList },
9104 { &hf_gsm_map_ms_asciCallReference, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ASCI_CallReference },
9105 { &hf_gsm_map_ms_geran_classmark, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GERAN_Classmark },
9106 { &hf_gsm_map_ms_iuCurrentlyUsedCodec, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
9107 { &hf_gsm_map_ms_iuSupportedCodecsList, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCodecsList },
9108 { &hf_gsm_map_ms_rab_ConfigurationIndicator, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9109 { &hf_gsm_map_ms_uesbi_Iu , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UESBI_Iu },
9110 { &hf_gsm_map_ms_imeisv , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
9111 { &hf_gsm_map_ms_alternativeChannelType, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceInformation },
9112 { &hf_gsm_map_ms_tracePropagationList, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TracePropagationList },
9113 { &hf_gsm_map_ms_aoipSupportedCodecsListAnchor, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodecsList },
9114 { &hf_gsm_map_ms_regionalSubscriptionData, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ZoneCodeList },
9115 { &hf_gsm_map_ms_lclsGlobalCallReference, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCLS_GlobalCallReference },
9116 { &hf_gsm_map_ms_lcls_Negotiation, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCLS_Negotiation },
9117 { &hf_gsm_map_ms_lcls_Configuration_Preference, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCLS_ConfigurationPreference },
9118 { &hf_gsm_map_ms_csg_SubscriptionDataList, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CSG_SubscriptionDataList },
9119 { NULL, 0, 0, 0, NULL }
9122 static int
9123 dissect_gsm_map_ms_PrepareHO_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9124 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9125 gsm_map_ms_PrepareHO_Arg_U_sequence, hf_index, ett_gsm_map_ms_PrepareHO_Arg_U);
9127 return offset;
9132 static int
9133 dissect_gsm_map_ms_PrepareHO_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9134 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9135 hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PrepareHO_Arg_U);
9137 return offset;
9141 static const ber_sequence_t gsm_map_ms_RelocationNumber_sequence[] = {
9142 { &hf_gsm_map_ms_handoverNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
9143 { &hf_gsm_map_ms_rab_Id , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAB_Id },
9144 { NULL, 0, 0, 0, NULL }
9147 static int
9148 dissect_gsm_map_ms_RelocationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9149 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9150 gsm_map_ms_RelocationNumber_sequence, hf_index, ett_gsm_map_ms_RelocationNumber);
9152 return offset;
9156 static const ber_sequence_t gsm_map_ms_RelocationNumberList_sequence_of[1] = {
9157 { &hf_gsm_map_ms_RelocationNumberList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RelocationNumber },
9160 static int
9161 dissect_gsm_map_ms_RelocationNumberList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9162 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9163 gsm_map_ms_RelocationNumberList_sequence_of, hf_index, ett_gsm_map_ms_RelocationNumberList);
9165 return offset;
9170 static int
9171 dissect_gsm_map_ms_MulticallBearerInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9172 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9173 NULL);
9175 return offset;
9180 static int
9181 dissect_gsm_map_ms_ChosenIntegrityProtectionAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9182 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9183 NULL);
9185 return offset;
9190 static int
9191 dissect_gsm_map_ms_ChosenEncryptionAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9192 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9193 NULL);
9195 return offset;
9199 static const ber_sequence_t gsm_map_ms_SelectedUMTS_Algorithms_sequence[] = {
9200 { &hf_gsm_map_ms_integrityProtectionAlgorithm, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenIntegrityProtectionAlgorithm },
9201 { &hf_gsm_map_ms_encryptionAlgorithm, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenEncryptionAlgorithm },
9202 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9203 { NULL, 0, 0, 0, NULL }
9206 static int
9207 dissect_gsm_map_ms_SelectedUMTS_Algorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9208 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9209 gsm_map_ms_SelectedUMTS_Algorithms_sequence, hf_index, ett_gsm_map_ms_SelectedUMTS_Algorithms);
9211 return offset;
9216 static int
9217 dissect_gsm_map_ms_ChosenChannelInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9218 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9219 NULL);
9221 return offset;
9226 static int
9227 dissect_gsm_map_ms_ChosenSpeechVersion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9228 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9229 NULL);
9231 return offset;
9235 static const ber_sequence_t gsm_map_ms_ChosenRadioResourceInformation_sequence[] = {
9236 { &hf_gsm_map_ms_chosenChannelInfo, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenChannelInfo },
9237 { &hf_gsm_map_ms_chosenSpeechVersion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenSpeechVersion },
9238 { NULL, 0, 0, 0, NULL }
9241 static int
9242 dissect_gsm_map_ms_ChosenRadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9243 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9244 gsm_map_ms_ChosenRadioResourceInformation_sequence, hf_index, ett_gsm_map_ms_ChosenRadioResourceInformation);
9246 return offset;
9250 static const ber_sequence_t gsm_map_ms_PrepareHO_Res_U_sequence[] = {
9251 { &hf_gsm_map_ms_handoverNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
9252 { &hf_gsm_map_ms_relocationNumberList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RelocationNumberList },
9253 { &hf_gsm_map_ms_an_APDU , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo },
9254 { &hf_gsm_map_ms_multicallBearerInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MulticallBearerInfo },
9255 { &hf_gsm_map_ms_multipleBearerNotSupported, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
9256 { &hf_gsm_map_ms_selectedUMTS_Algorithms, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SelectedUMTS_Algorithms },
9257 { &hf_gsm_map_ms_chosenRadioResourceInformation, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenRadioResourceInformation },
9258 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9259 { &hf_gsm_map_ms_iuSelectedCodec, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
9260 { &hf_gsm_map_ms_iuAvailableCodecsList, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CodecList },
9261 { &hf_gsm_map_ms_aoipSelectedCodecTarget, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
9262 { &hf_gsm_map_ms_aoipAvailableCodecsListMap, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodecsList },
9263 { NULL, 0, 0, 0, NULL }
9266 static int
9267 dissect_gsm_map_ms_PrepareHO_Res_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9268 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9269 gsm_map_ms_PrepareHO_Res_U_sequence, hf_index, ett_gsm_map_ms_PrepareHO_Res_U);
9271 return offset;
9276 static int
9277 dissect_gsm_map_ms_PrepareHO_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9278 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9279 hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PrepareHO_Res_U);
9281 return offset;
9285 static const ber_sequence_t gsm_map_ms_PrepareSubsequentHO_Arg_U_sequence[] = {
9286 { &hf_gsm_map_ms_targetCellId, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GlobalCellId },
9287 { &hf_gsm_map_ms_targetMSC_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
9288 { &hf_gsm_map_ms_targetRNCId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RNCId },
9289 { &hf_gsm_map_ms_an_APDU , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo },
9290 { &hf_gsm_map_ms_selectedRab_Id, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RAB_Id },
9291 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9292 { &hf_gsm_map_ms_geran_classmark, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GERAN_Classmark },
9293 { &hf_gsm_map_ms_rab_ConfigurationIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9294 { NULL, 0, 0, 0, NULL }
9297 static int
9298 dissect_gsm_map_ms_PrepareSubsequentHO_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9299 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9300 gsm_map_ms_PrepareSubsequentHO_Arg_U_sequence, hf_index, ett_gsm_map_ms_PrepareSubsequentHO_Arg_U);
9302 return offset;
9307 static int
9308 dissect_gsm_map_ms_PrepareSubsequentHO_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9309 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9310 hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PrepareSubsequentHO_Arg_U);
9312 return offset;
9316 static const ber_sequence_t gsm_map_ms_PrepareSubsequentHO_Res_U_sequence[] = {
9317 { &hf_gsm_map_ms_an_APDU , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkSignalInfo },
9318 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9319 { NULL, 0, 0, 0, NULL }
9322 static int
9323 dissect_gsm_map_ms_PrepareSubsequentHO_Res_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9324 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9325 gsm_map_ms_PrepareSubsequentHO_Res_U_sequence, hf_index, ett_gsm_map_ms_PrepareSubsequentHO_Res_U);
9327 return offset;
9332 static int
9333 dissect_gsm_map_ms_PrepareSubsequentHO_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9334 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9335 hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PrepareSubsequentHO_Res_U);
9337 return offset;
9342 static int
9343 dissect_gsm_map_ms_SelectedGSM_Algorithm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9344 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9345 NULL);
9347 return offset;
9351 static const ber_sequence_t gsm_map_ms_ProcessAccessSignalling_Arg_U_sequence[] = {
9352 { &hf_gsm_map_ms_an_APDU , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkSignalInfo },
9353 { &hf_gsm_map_ms_selectedUMTS_Algorithms, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SelectedUMTS_Algorithms },
9354 { &hf_gsm_map_ms_selectedGSM_Algorithm, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SelectedGSM_Algorithm },
9355 { &hf_gsm_map_ms_chosenRadioResourceInformation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenRadioResourceInformation },
9356 { &hf_gsm_map_ms_selectedRab_Id, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RAB_Id },
9357 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9358 { &hf_gsm_map_ms_iUSelectedCodec, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
9359 { &hf_gsm_map_ms_iuAvailableCodecsList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CodecList },
9360 { &hf_gsm_map_ms_aoipSelectedCodecTarget, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
9361 { &hf_gsm_map_ms_aoipAvailableCodecsListMap, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodecsList },
9362 { NULL, 0, 0, 0, NULL }
9365 static int
9366 dissect_gsm_map_ms_ProcessAccessSignalling_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9367 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9368 gsm_map_ms_ProcessAccessSignalling_Arg_U_sequence, hf_index, ett_gsm_map_ms_ProcessAccessSignalling_Arg_U);
9370 return offset;
9375 static int
9376 dissect_gsm_map_ms_ProcessAccessSignalling_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9377 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9378 hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_ProcessAccessSignalling_Arg_U);
9380 return offset;
9384 static const ber_sequence_t gsm_map_ms_SendEndSignal_Arg_U_sequence[] = {
9385 { &hf_gsm_map_ms_an_APDU , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkSignalInfo },
9386 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9387 { NULL, 0, 0, 0, NULL }
9390 static int
9391 dissect_gsm_map_ms_SendEndSignal_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9392 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9393 gsm_map_ms_SendEndSignal_Arg_U_sequence, hf_index, ett_gsm_map_ms_SendEndSignal_Arg_U);
9395 return offset;
9400 static int
9401 dissect_gsm_map_ms_SendEndSignal_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9402 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9403 hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_SendEndSignal_Arg_U);
9405 return offset;
9409 static const ber_sequence_t gsm_map_ms_SendEndSignal_Res_sequence[] = {
9410 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9411 { NULL, 0, 0, 0, NULL }
9414 static int
9415 dissect_gsm_map_ms_SendEndSignal_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9416 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9417 gsm_map_ms_SendEndSignal_Res_sequence, hf_index, ett_gsm_map_ms_SendEndSignal_Res);
9419 return offset;
9423 static const ber_sequence_t gsm_map_ms_Re_synchronisationInfo_sequence[] = {
9424 { &hf_gsm_map_ms_rand , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAND },
9425 { &hf_gsm_map_ms_auts , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AUTS },
9426 { NULL, 0, 0, 0, NULL }
9429 static int
9430 dissect_gsm_map_ms_Re_synchronisationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9431 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9432 gsm_map_ms_Re_synchronisationInfo_sequence, hf_index, ett_gsm_map_ms_Re_synchronisationInfo);
9434 return offset;
9438 static const value_string gsm_map_ms_RequestingNodeType_vals[] = {
9439 { 0, "vlr" },
9440 { 1, "sgsn" },
9441 { 2, "s-cscf" },
9442 { 3, "bsf" },
9443 { 4, "gan-aaa-server" },
9444 { 5, "wlan-aaa-server" },
9445 { 16, "mme" },
9446 { 17, "mme-sgsn" },
9447 { 0, NULL }
9451 static int
9452 dissect_gsm_map_ms_RequestingNodeType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9453 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9454 NULL);
9456 return offset;
9460 static const ber_sequence_t gsm_map_ms_SendAuthenticationInfoArg_sequence[] = {
9461 { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
9462 { &hf_gsm_map_ms_numberOfRequestedVectors, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NumberOfRequestedVectors },
9463 { &hf_gsm_map_ms_segmentationProhibited, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
9464 { &hf_gsm_map_ms_immediateResponsePreferred, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9465 { &hf_gsm_map_ms_re_synchronisationInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Re_synchronisationInfo },
9466 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9467 { &hf_gsm_map_ms_requestingNodeType, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestingNodeType },
9468 { &hf_gsm_map_ms_requestingPLMN_Id, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PLMN_Id },
9469 { &hf_gsm_map_ms_numberOfRequestedAdditional_Vectors, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NumberOfRequestedVectors },
9470 { &hf_gsm_map_ms_additionalVectorsAreForEPS, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9471 { NULL, 0, 0, 0, NULL }
9474 static int
9475 dissect_gsm_map_ms_SendAuthenticationInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9476 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9477 gsm_map_ms_SendAuthenticationInfoArg_sequence, hf_index, ett_gsm_map_ms_SendAuthenticationInfoArg);
9479 return offset;
9484 static int
9485 dissect_gsm_map_ms_KASME(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9486 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9487 NULL);
9489 return offset;
9493 static const ber_sequence_t gsm_map_ms_EPC_AV_sequence[] = {
9494 { &hf_gsm_map_ms_rand , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAND },
9495 { &hf_gsm_map_ms_xres , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_XRES },
9496 { &hf_gsm_map_ms_autn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AUTN },
9497 { &hf_gsm_map_ms_kasme , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_KASME },
9498 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
9499 { NULL, 0, 0, 0, NULL }
9502 static int
9503 dissect_gsm_map_ms_EPC_AV(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9504 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9505 gsm_map_ms_EPC_AV_sequence, hf_index, ett_gsm_map_ms_EPC_AV);
9507 return offset;
9511 static const ber_sequence_t gsm_map_ms_EPS_AuthenticationSetList_sequence_of[1] = {
9512 { &hf_gsm_map_ms_EPS_AuthenticationSetList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_EPC_AV },
9515 static int
9516 dissect_gsm_map_ms_EPS_AuthenticationSetList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9517 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9518 gsm_map_ms_EPS_AuthenticationSetList_sequence_of, hf_index, ett_gsm_map_ms_EPS_AuthenticationSetList);
9520 return offset;
9524 static const ber_sequence_t gsm_map_ms_SendAuthenticationInfoRes_U_sequence[] = {
9525 { &hf_gsm_map_ms_authenticationSetList, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_AuthenticationSetList },
9526 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
9527 { &hf_gsm_map_ms_eps_AuthenticationSetList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EPS_AuthenticationSetList },
9528 { NULL, 0, 0, 0, NULL }
9531 static int
9532 dissect_gsm_map_ms_SendAuthenticationInfoRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9533 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9534 gsm_map_ms_SendAuthenticationInfoRes_U_sequence, hf_index, ett_gsm_map_ms_SendAuthenticationInfoRes_U);
9536 return offset;
9541 static int
9542 dissect_gsm_map_ms_SendAuthenticationInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9543 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9544 hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_SendAuthenticationInfoRes_U);
9546 return offset;
9550 static const asn_namedbit gsm_map_ms_RequestedEquipmentInfo_bits[] = {
9551 { 0, &hf_gsm_map_ms_RequestedEquipmentInfo_equipmentStatus, -1, -1, "equipmentStatus", NULL },
9552 { 1, &hf_gsm_map_ms_RequestedEquipmentInfo_bmuef, -1, -1, "bmuef", NULL },
9553 { 0, NULL, 0, 0, NULL, NULL }
9556 static int
9557 dissect_gsm_map_ms_RequestedEquipmentInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9558 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
9559 gsm_map_ms_RequestedEquipmentInfo_bits, hf_index, ett_gsm_map_ms_RequestedEquipmentInfo,
9560 NULL);
9562 return offset;
9566 static const ber_sequence_t gsm_map_ms_CheckIMEI_Arg_sequence[] = {
9567 { &hf_gsm_map_ms_imei , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMEI },
9568 { &hf_gsm_map_ms_requestedEquipmentInfo, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RequestedEquipmentInfo },
9569 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
9570 { NULL, 0, 0, 0, NULL }
9573 static int
9574 dissect_gsm_map_ms_CheckIMEI_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9575 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9576 gsm_map_ms_CheckIMEI_Arg_sequence, hf_index, ett_gsm_map_ms_CheckIMEI_Arg);
9578 return offset;
9582 static const value_string gsm_map_ms_EquipmentStatus_vals[] = {
9583 { 0, "whiteListed" },
9584 { 1, "blackListed" },
9585 { 2, "greyListed" },
9586 { 0, NULL }
9590 static int
9591 dissect_gsm_map_ms_EquipmentStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9592 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9593 NULL);
9595 return offset;
9599 static const ber_sequence_t gsm_map_ms_CheckIMEI_Res_sequence[] = {
9600 { &hf_gsm_map_ms_equipmentStatus, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_EquipmentStatus },
9601 { &hf_gsm_map_ms_bmuef , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_UESBI_Iu },
9602 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9603 { NULL, 0, 0, 0, NULL }
9606 static int
9607 dissect_gsm_map_ms_CheckIMEI_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9608 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9609 gsm_map_ms_CheckIMEI_Res_sequence, hf_index, ett_gsm_map_ms_CheckIMEI_Res);
9611 return offset;
9616 static int
9617 dissect_gsm_map_ms_Category(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9618 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9619 NULL);
9621 return offset;
9625 static const value_string gsm_map_ms_SubscriberStatus_vals[] = {
9626 { 0, "serviceGranted" },
9627 { 1, "operatorDeterminedBarring" },
9628 { 0, NULL }
9632 static int
9633 dissect_gsm_map_ms_SubscriberStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9634 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9635 NULL);
9637 return offset;
9641 static const ber_sequence_t gsm_map_ms_BearerServiceList_sequence_of[1] = {
9642 { &hf_gsm_map_ms_BearerServiceList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BearerServiceCode },
9645 static int
9646 dissect_gsm_map_ms_BearerServiceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9647 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9648 gsm_map_ms_BearerServiceList_sequence_of, hf_index, ett_gsm_map_ms_BearerServiceList);
9650 return offset;
9654 static const ber_sequence_t gsm_map_ms_TeleserviceList_sequence_of[1] = {
9655 { &hf_gsm_map_ms_TeleserviceList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_TeleserviceCode },
9658 static int
9659 dissect_gsm_map_ms_TeleserviceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9660 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9661 gsm_map_ms_TeleserviceList_sequence_of, hf_index, ett_gsm_map_ms_TeleserviceList);
9663 return offset;
9669 dissect_gsm_map_ms_Ext_ForwOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9670 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9671 NULL);
9673 return offset;
9678 static int
9679 dissect_gsm_map_ms_T_forwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9680 offset = dissect_gsm_map_ms_Ext_ForwOptions(implicit_tag, tvb, offset, actx, tree, hf_index);
9682 #line 532 "../../asn1/gsm_map/gsm_map.cnf"
9684 proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,ENC_BIG_ENDIAN);
9685 proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,ENC_BIG_ENDIAN);
9686 proto_tree_add_item(tree, hf_gsm_map_notification_to_calling_party, tvb, 0,1,ENC_BIG_ENDIAN);
9687 proto_tree_add_item(tree, hf_gsm_map_forwarding_reason, tvb, 0,1,ENC_BIG_ENDIAN);
9691 return offset;
9697 dissect_gsm_map_ms_Ext_NoRepCondTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9698 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9699 NULL);
9701 return offset;
9705 static const ber_sequence_t gsm_map_ms_Ext_ForwFeature_sequence[] = {
9706 { &hf_gsm_map_ms_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode },
9707 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
9708 { &hf_gsm_map_ms_forwardedToNumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
9709 { &hf_gsm_map_ms_forwardedToSubaddress, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
9710 { &hf_gsm_map_ms_forwardingOptions, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_forwardingOptions },
9711 { &hf_gsm_map_ms_noReplyConditionTime, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_NoRepCondTime },
9712 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9713 { &hf_gsm_map_ms_longForwardedToNumber, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_FTN_AddressString },
9714 { NULL, 0, 0, 0, NULL }
9717 static int
9718 dissect_gsm_map_ms_Ext_ForwFeature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9719 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9720 gsm_map_ms_Ext_ForwFeature_sequence, hf_index, ett_gsm_map_ms_Ext_ForwFeature);
9722 return offset;
9726 static const ber_sequence_t gsm_map_ms_Ext_ForwFeatureList_sequence_of[1] = {
9727 { &hf_gsm_map_ms_Ext_ForwFeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_ForwFeature },
9730 static int
9731 dissect_gsm_map_ms_Ext_ForwFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9732 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9733 gsm_map_ms_Ext_ForwFeatureList_sequence_of, hf_index, ett_gsm_map_ms_Ext_ForwFeatureList);
9735 return offset;
9739 static const ber_sequence_t gsm_map_ms_Ext_ForwInfo_sequence[] = {
9740 { &hf_gsm_map_ms_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
9741 { &hf_gsm_map_ms_forwardingFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_ForwFeatureList },
9742 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9743 { NULL, 0, 0, 0, NULL }
9746 static int
9747 dissect_gsm_map_ms_Ext_ForwInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9748 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9749 gsm_map_ms_Ext_ForwInfo_sequence, hf_index, ett_gsm_map_ms_Ext_ForwInfo);
9751 return offset;
9755 static const ber_sequence_t gsm_map_ms_Ext_CallBarringFeature_sequence[] = {
9756 { &hf_gsm_map_ms_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode },
9757 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
9758 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
9759 { NULL, 0, 0, 0, NULL }
9762 static int
9763 dissect_gsm_map_ms_Ext_CallBarringFeature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9764 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9765 gsm_map_ms_Ext_CallBarringFeature_sequence, hf_index, ett_gsm_map_ms_Ext_CallBarringFeature);
9767 return offset;
9771 static const ber_sequence_t gsm_map_ms_Ext_CallBarFeatureList_sequence_of[1] = {
9772 { &hf_gsm_map_ms_Ext_CallBarFeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_CallBarringFeature },
9775 static int
9776 dissect_gsm_map_ms_Ext_CallBarFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9777 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9778 gsm_map_ms_Ext_CallBarFeatureList_sequence_of, hf_index, ett_gsm_map_ms_Ext_CallBarFeatureList);
9780 return offset;
9784 static const ber_sequence_t gsm_map_ms_Ext_CallBarInfo_sequence[] = {
9785 { &hf_gsm_map_ms_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
9786 { &hf_gsm_map_ms_callBarringFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_CallBarFeatureList },
9787 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
9788 { NULL, 0, 0, 0, NULL }
9791 static int
9792 dissect_gsm_map_ms_Ext_CallBarInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9793 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9794 gsm_map_ms_Ext_CallBarInfo_sequence, hf_index, ett_gsm_map_ms_Ext_CallBarInfo);
9796 return offset;
9802 dissect_gsm_map_ms_CUG_Index(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9803 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9804 NULL);
9806 return offset;
9812 dissect_gsm_map_ms_CUG_Interlock(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9813 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9814 NULL);
9816 return offset;
9820 static const value_string gsm_map_ms_IntraCUG_Options_vals[] = {
9821 { 0, "noCUG-Restrictions" },
9822 { 1, "cugIC-CallBarred" },
9823 { 2, "cugOG-CallBarred" },
9824 { 0, NULL }
9828 static int
9829 dissect_gsm_map_ms_IntraCUG_Options(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9830 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9831 NULL);
9833 return offset;
9837 static const ber_sequence_t gsm_map_ms_Ext_BasicServiceGroupList_sequence_of[1] = {
9838 { &hf_gsm_map_ms_Ext_BasicServiceGroupList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode },
9841 static int
9842 dissect_gsm_map_ms_Ext_BasicServiceGroupList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9843 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9844 gsm_map_ms_Ext_BasicServiceGroupList_sequence_of, hf_index, ett_gsm_map_ms_Ext_BasicServiceGroupList);
9846 return offset;
9850 static const ber_sequence_t gsm_map_ms_CUG_Subscription_sequence[] = {
9851 { &hf_gsm_map_ms_cug_Index, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Index },
9852 { &hf_gsm_map_ms_cug_Interlock, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Interlock },
9853 { &hf_gsm_map_ms_intraCUG_Options, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_IntraCUG_Options },
9854 { &hf_gsm_map_ms_basicServiceGroupList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_BasicServiceGroupList },
9855 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9856 { NULL, 0, 0, 0, NULL }
9859 static int
9860 dissect_gsm_map_ms_CUG_Subscription(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9861 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9862 gsm_map_ms_CUG_Subscription_sequence, hf_index, ett_gsm_map_ms_CUG_Subscription);
9864 return offset;
9868 static const ber_sequence_t gsm_map_ms_CUG_SubscriptionList_sequence_of[1] = {
9869 { &hf_gsm_map_ms_CUG_SubscriptionList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Subscription },
9872 static int
9873 dissect_gsm_map_ms_CUG_SubscriptionList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9874 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9875 gsm_map_ms_CUG_SubscriptionList_sequence_of, hf_index, ett_gsm_map_ms_CUG_SubscriptionList);
9877 return offset;
9882 static int
9883 dissect_gsm_map_ms_InterCUG_Restrictions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9884 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9885 NULL);
9887 return offset;
9891 static const ber_sequence_t gsm_map_ms_CUG_Feature_sequence[] = {
9892 { &hf_gsm_map_ms_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode },
9893 { &hf_gsm_map_ms_preferentialCUG_Indicator, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Index },
9894 { &hf_gsm_map_ms_interCUG_Restrictions, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_InterCUG_Restrictions },
9895 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
9896 { NULL, 0, 0, 0, NULL }
9899 static int
9900 dissect_gsm_map_ms_CUG_Feature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9901 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9902 gsm_map_ms_CUG_Feature_sequence, hf_index, ett_gsm_map_ms_CUG_Feature);
9904 return offset;
9908 static const ber_sequence_t gsm_map_ms_CUG_FeatureList_sequence_of[1] = {
9909 { &hf_gsm_map_ms_CUG_FeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Feature },
9912 static int
9913 dissect_gsm_map_ms_CUG_FeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9914 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9915 gsm_map_ms_CUG_FeatureList_sequence_of, hf_index, ett_gsm_map_ms_CUG_FeatureList);
9917 return offset;
9921 static const ber_sequence_t gsm_map_ms_CUG_Info_sequence[] = {
9922 { &hf_gsm_map_ms_cug_SubscriptionList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_SubscriptionList },
9923 { &hf_gsm_map_ms_cug_FeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_FeatureList },
9924 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9925 { NULL, 0, 0, 0, NULL }
9929 dissect_gsm_map_ms_CUG_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9930 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9931 gsm_map_ms_CUG_Info_sequence, hf_index, ett_gsm_map_ms_CUG_Info);
9933 return offset;
9937 static const ber_sequence_t gsm_map_ms_Ext_SS_Data_sequence[] = {
9938 { &hf_gsm_map_ms_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
9939 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
9940 { &hf_gsm_map_ms_ss_SubscriptionOption, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_SS_SubscriptionOption },
9941 { &hf_gsm_map_ms_basicServiceGroupList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_BasicServiceGroupList },
9942 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9943 { NULL, 0, 0, 0, NULL }
9946 static int
9947 dissect_gsm_map_ms_Ext_SS_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9948 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9949 gsm_map_ms_Ext_SS_Data_sequence, hf_index, ett_gsm_map_ms_Ext_SS_Data);
9951 return offset;
9955 static const value_string gsm_map_ms_Ext_SS_Info_vals[] = {
9956 { 0, "forwardingInfo" },
9957 { 1, "callBarringInfo" },
9958 { 2, "cug-Info" },
9959 { 3, "ss-Data" },
9960 { 4, "emlpp-Info" },
9961 { 0, NULL }
9964 static const ber_choice_t gsm_map_ms_Ext_SS_Info_choice[] = {
9965 { 0, &hf_gsm_map_ms_forwardingInfo, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ForwInfo },
9966 { 1, &hf_gsm_map_ms_callBarringInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_CallBarInfo },
9967 { 2, &hf_gsm_map_ms_cug_Info , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CUG_Info },
9968 { 3, &hf_gsm_map_ms_ss_Data , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_SS_Data },
9969 { 4, &hf_gsm_map_ms_emlpp_Info, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Info },
9970 { 0, NULL, 0, 0, 0, NULL }
9973 static int
9974 dissect_gsm_map_ms_Ext_SS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9975 offset = dissect_ber_choice(actx, tree, tvb, offset,
9976 gsm_map_ms_Ext_SS_Info_choice, hf_index, ett_gsm_map_ms_Ext_SS_Info,
9977 NULL);
9979 return offset;
9983 static const ber_sequence_t gsm_map_ms_Ext_SS_InfoList_sequence_of[1] = {
9984 { &hf_gsm_map_ms_Ext_SS_InfoList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_Ext_SS_Info },
9987 static int
9988 dissect_gsm_map_ms_Ext_SS_InfoList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9989 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9990 gsm_map_ms_Ext_SS_InfoList_sequence_of, hf_index, ett_gsm_map_ms_Ext_SS_InfoList);
9992 return offset;
9996 static const asn_namedbit gsm_map_ms_ODB_GeneralData_bits[] = {
9997 { 0, &hf_gsm_map_ms_ODB_GeneralData_allOG_CallsBarred, -1, -1, "allOG-CallsBarred", NULL },
9998 { 1, &hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsBarred, -1, -1, "internationalOGCallsBarred", NULL },
9999 { 2, &hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred, -1, -1, "internationalOGCallsNotToHPLMN-CountryBarred", NULL },
10000 { 6, &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsBarred, -1, -1, "interzonalOGCallsBarred", NULL },
10001 { 7, &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred, -1, -1, "interzonalOGCallsNotToHPLMN-CountryBarred", NULL },
10002 { 8, &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred, -1, -1, "interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred", NULL },
10003 { 3, &hf_gsm_map_ms_ODB_GeneralData_premiumRateInformationOGCallsBarred, -1, -1, "premiumRateInformationOGCallsBarred", NULL },
10004 { 4, &hf_gsm_map_ms_ODB_GeneralData_premiumRateEntertainementOGCallsBarred, -1, -1, "premiumRateEntertainementOGCallsBarred", NULL },
10005 { 5, &hf_gsm_map_ms_ODB_GeneralData_ss_AccessBarred, -1, -1, "ss-AccessBarred", NULL },
10006 { 9, &hf_gsm_map_ms_ODB_GeneralData_allECT_Barred, -1, -1, "allECT-Barred", NULL },
10007 { 10, &hf_gsm_map_ms_ODB_GeneralData_chargeableECT_Barred, -1, -1, "chargeableECT-Barred", NULL },
10008 { 11, &hf_gsm_map_ms_ODB_GeneralData_internationalECT_Barred, -1, -1, "internationalECT-Barred", NULL },
10009 { 12, &hf_gsm_map_ms_ODB_GeneralData_interzonalECT_Barred, -1, -1, "interzonalECT-Barred", NULL },
10010 { 13, &hf_gsm_map_ms_ODB_GeneralData_doublyChargeableECT_Barred, -1, -1, "doublyChargeableECT-Barred", NULL },
10011 { 14, &hf_gsm_map_ms_ODB_GeneralData_multipleECT_Barred, -1, -1, "multipleECT-Barred", NULL },
10012 { 15, &hf_gsm_map_ms_ODB_GeneralData_allPacketOrientedServicesBarred, -1, -1, "allPacketOrientedServicesBarred", NULL },
10013 { 16, &hf_gsm_map_ms_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred, -1, -1, "roamerAccessToHPLMN-AP-Barred", NULL },
10014 { 17, &hf_gsm_map_ms_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred, -1, -1, "roamerAccessToVPLMN-AP-Barred", NULL },
10015 { 18, &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred, -1, -1, "roamingOutsidePLMNOG-CallsBarred", NULL },
10016 { 19, &hf_gsm_map_ms_ODB_GeneralData_allIC_CallsBarred, -1, -1, "allIC-CallsBarred", NULL },
10017 { 20, &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred, -1, -1, "roamingOutsidePLMNIC-CallsBarred", NULL },
10018 { 21, &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred, -1, -1, "roamingOutsidePLMNICountryIC-CallsBarred", NULL },
10019 { 22, &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_Barred, -1, -1, "roamingOutsidePLMN-Barred", NULL },
10020 { 23, &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_CountryBarred, -1, -1, "roamingOutsidePLMN-CountryBarred", NULL },
10021 { 24, &hf_gsm_map_ms_ODB_GeneralData_registrationAllCF_Barred, -1, -1, "registrationAllCF-Barred", NULL },
10022 { 25, &hf_gsm_map_ms_ODB_GeneralData_registrationCFNotToHPLMN_Barred, -1, -1, "registrationCFNotToHPLMN-Barred", NULL },
10023 { 26, &hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCF_Barred, -1, -1, "registrationInterzonalCF-Barred", NULL },
10024 { 27, &hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred, -1, -1, "registrationInterzonalCFNotToHPLMN-Barred", NULL },
10025 { 28, &hf_gsm_map_ms_ODB_GeneralData_registrationInternationalCF_Barred, -1, -1, "registrationInternationalCF-Barred", NULL },
10026 { 0, NULL, 0, 0, NULL, NULL }
10029 static int
10030 dissect_gsm_map_ms_ODB_GeneralData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10031 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
10032 gsm_map_ms_ODB_GeneralData_bits, hf_index, ett_gsm_map_ms_ODB_GeneralData,
10033 NULL);
10035 return offset;
10039 static const asn_namedbit gsm_map_ms_ODB_HPLMN_Data_bits[] = {
10040 { 0, &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType1, -1, -1, "plmn-SpecificBarringType1", NULL },
10041 { 1, &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType2, -1, -1, "plmn-SpecificBarringType2", NULL },
10042 { 2, &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType3, -1, -1, "plmn-SpecificBarringType3", NULL },
10043 { 3, &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType4, -1, -1, "plmn-SpecificBarringType4", NULL },
10044 { 0, NULL, 0, 0, NULL, NULL }
10047 static int
10048 dissect_gsm_map_ms_ODB_HPLMN_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10049 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
10050 gsm_map_ms_ODB_HPLMN_Data_bits, hf_index, ett_gsm_map_ms_ODB_HPLMN_Data,
10051 NULL);
10053 return offset;
10057 static const ber_sequence_t gsm_map_ms_ODB_Data_sequence[] = {
10058 { &hf_gsm_map_ms_odb_GeneralData, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ODB_GeneralData },
10059 { &hf_gsm_map_ms_odb_HPLMN_Data, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ODB_HPLMN_Data },
10060 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
10061 { NULL, 0, 0, 0, NULL }
10064 static int
10065 dissect_gsm_map_ms_ODB_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10066 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10067 gsm_map_ms_ODB_Data_sequence, hf_index, ett_gsm_map_ms_ODB_Data);
10069 return offset;
10074 static int
10075 dissect_gsm_map_ms_GroupId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10076 offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
10078 return offset;
10083 static int
10084 dissect_gsm_map_ms_Long_GroupId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10085 offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
10087 return offset;
10091 static const ber_sequence_t gsm_map_ms_VoiceBroadcastData_sequence[] = {
10092 { &hf_gsm_map_ms_groupid , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_GroupId },
10093 { &hf_gsm_map_ms_broadcastInitEntitlement, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
10094 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
10095 { &hf_gsm_map_ms_longGroupId, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Long_GroupId },
10096 { NULL, 0, 0, 0, NULL }
10099 static int
10100 dissect_gsm_map_ms_VoiceBroadcastData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10101 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10102 gsm_map_ms_VoiceBroadcastData_sequence, hf_index, ett_gsm_map_ms_VoiceBroadcastData);
10104 return offset;
10108 static const ber_sequence_t gsm_map_ms_VBSDataList_sequence_of[1] = {
10109 { &hf_gsm_map_ms_VBSDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_VoiceBroadcastData },
10112 static int
10113 dissect_gsm_map_ms_VBSDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10114 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10115 gsm_map_ms_VBSDataList_sequence_of, hf_index, ett_gsm_map_ms_VBSDataList);
10117 return offset;
10121 static const asn_namedbit gsm_map_ms_AdditionalSubscriptions_bits[] = {
10122 { 0, &hf_gsm_map_ms_AdditionalSubscriptions_privilegedUplinkRequest, -1, -1, "privilegedUplinkRequest", NULL },
10123 { 1, &hf_gsm_map_ms_AdditionalSubscriptions_emergencyUplinkRequest, -1, -1, "emergencyUplinkRequest", NULL },
10124 { 2, &hf_gsm_map_ms_AdditionalSubscriptions_emergencyReset, -1, -1, "emergencyReset", NULL },
10125 { 0, NULL, 0, 0, NULL, NULL }
10128 static int
10129 dissect_gsm_map_ms_AdditionalSubscriptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10130 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
10131 gsm_map_ms_AdditionalSubscriptions_bits, hf_index, ett_gsm_map_ms_AdditionalSubscriptions,
10132 NULL);
10134 return offset;
10139 static int
10140 dissect_gsm_map_ms_AdditionalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10141 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
10142 NULL, hf_index, -1,
10143 NULL);
10145 return offset;
10149 static const ber_sequence_t gsm_map_ms_VoiceGroupCallData_sequence[] = {
10150 { &hf_gsm_map_ms_groupId , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_GroupId },
10151 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
10152 { &hf_gsm_map_ms_additionalSubscriptions, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AdditionalSubscriptions },
10153 { &hf_gsm_map_ms_additionalInfo, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo },
10154 { &hf_gsm_map_ms_longGroupId, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Long_GroupId },
10155 { NULL, 0, 0, 0, NULL }
10158 static int
10159 dissect_gsm_map_ms_VoiceGroupCallData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10160 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10161 gsm_map_ms_VoiceGroupCallData_sequence, hf_index, ett_gsm_map_ms_VoiceGroupCallData);
10163 return offset;
10167 static const ber_sequence_t gsm_map_ms_VGCSDataList_sequence_of[1] = {
10168 { &hf_gsm_map_ms_VGCSDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_VoiceGroupCallData },
10171 static int
10172 dissect_gsm_map_ms_VGCSDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10173 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10174 gsm_map_ms_VGCSDataList_sequence_of, hf_index, ett_gsm_map_ms_VGCSDataList);
10176 return offset;
10180 static const value_string gsm_map_ms_O_BcsmTriggerDetectionPoint_vals[] = {
10181 { 2, "collectedInfo" },
10182 { 4, "routeSelectFailure" },
10183 { 0, NULL }
10187 static int
10188 dissect_gsm_map_ms_O_BcsmTriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10189 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10190 NULL);
10192 return offset;
10198 dissect_gsm_map_ms_ServiceKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10199 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10200 NULL);
10202 return offset;
10206 static const value_string gsm_map_ms_DefaultCallHandling_vals[] = {
10207 { 0, "continueCall" },
10208 { 1, "releaseCall" },
10209 { 0, NULL }
10213 static int
10214 dissect_gsm_map_ms_DefaultCallHandling(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10215 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10216 NULL);
10218 return offset;
10222 static const ber_sequence_t gsm_map_ms_O_BcsmCamelTDPData_sequence[] = {
10223 { &hf_gsm_map_ms_o_BcsmTriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmTriggerDetectionPoint },
10224 { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey },
10225 { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
10226 { &hf_gsm_map_ms_defaultCallHandling, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DefaultCallHandling },
10227 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10228 { NULL, 0, 0, 0, NULL }
10231 static int
10232 dissect_gsm_map_ms_O_BcsmCamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10233 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10234 gsm_map_ms_O_BcsmCamelTDPData_sequence, hf_index, ett_gsm_map_ms_O_BcsmCamelTDPData);
10236 return offset;
10240 static const ber_sequence_t gsm_map_ms_O_BcsmCamelTDPDataList_sequence_of[1] = {
10241 { &hf_gsm_map_ms_O_BcsmCamelTDPDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmCamelTDPData },
10244 static int
10245 dissect_gsm_map_ms_O_BcsmCamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10246 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10247 gsm_map_ms_O_BcsmCamelTDPDataList_sequence_of, hf_index, ett_gsm_map_ms_O_BcsmCamelTDPDataList);
10249 return offset;
10254 static int
10255 dissect_gsm_map_ms_CamelCapabilityHandling(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10256 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10257 NULL);
10259 return offset;
10263 static const ber_sequence_t gsm_map_ms_O_CSI_sequence[] = {
10264 { &hf_gsm_map_ms_o_BcsmCamelTDPDataList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmCamelTDPDataList },
10265 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
10266 { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling },
10267 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10268 { &hf_gsm_map_ms_csiActive, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10269 { NULL, 0, 0, 0, NULL }
10273 dissect_gsm_map_ms_O_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10274 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10275 gsm_map_ms_O_CSI_sequence, hf_index, ett_gsm_map_ms_O_CSI);
10277 return offset;
10281 static const ber_sequence_t gsm_map_ms_SS_EventList_sequence_of[1] = {
10282 { &hf_gsm_map_ms_SS_EventList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
10285 static int
10286 dissect_gsm_map_ms_SS_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10287 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10288 gsm_map_ms_SS_EventList_sequence_of, hf_index, ett_gsm_map_ms_SS_EventList);
10290 return offset;
10294 static const ber_sequence_t gsm_map_ms_SS_CamelData_sequence[] = {
10295 { &hf_gsm_map_ms_ss_EventList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SS_EventList },
10296 { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
10297 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10298 { NULL, 0, 0, 0, NULL }
10301 static int
10302 dissect_gsm_map_ms_SS_CamelData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10303 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10304 gsm_map_ms_SS_CamelData_sequence, hf_index, ett_gsm_map_ms_SS_CamelData);
10306 return offset;
10310 static const ber_sequence_t gsm_map_ms_SS_CSI_sequence[] = {
10311 { &hf_gsm_map_ms_ss_CamelData, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SS_CamelData },
10312 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
10313 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10314 { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10315 { NULL, 0, 0, 0, NULL }
10318 static int
10319 dissect_gsm_map_ms_SS_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10320 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10321 gsm_map_ms_SS_CSI_sequence, hf_index, ett_gsm_map_ms_SS_CSI);
10323 return offset;
10327 static const value_string gsm_map_ms_MatchType_vals[] = {
10328 { 0, "inhibiting" },
10329 { 1, "enabling" },
10330 { 0, NULL }
10334 static int
10335 dissect_gsm_map_ms_MatchType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10336 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10337 NULL);
10339 return offset;
10343 static const ber_sequence_t gsm_map_ms_DestinationNumberList_sequence_of[1] = {
10344 { &hf_gsm_map_ms_DestinationNumberList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
10347 static int
10348 dissect_gsm_map_ms_DestinationNumberList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10349 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10350 gsm_map_ms_DestinationNumberList_sequence_of, hf_index, ett_gsm_map_ms_DestinationNumberList);
10352 return offset;
10357 static int
10358 dissect_gsm_map_ms_INTEGER_1_maxNumOfISDN_AddressDigits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10359 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10360 NULL);
10362 return offset;
10366 static const ber_sequence_t gsm_map_ms_DestinationNumberLengthList_sequence_of[1] = {
10367 { &hf_gsm_map_ms_DestinationNumberLengthList_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_INTEGER_1_maxNumOfISDN_AddressDigits },
10370 static int
10371 dissect_gsm_map_ms_DestinationNumberLengthList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10372 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10373 gsm_map_ms_DestinationNumberLengthList_sequence_of, hf_index, ett_gsm_map_ms_DestinationNumberLengthList);
10375 return offset;
10379 static const ber_sequence_t gsm_map_ms_DestinationNumberCriteria_sequence[] = {
10380 { &hf_gsm_map_ms_matchType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MatchType },
10381 { &hf_gsm_map_ms_destinationNumberList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DestinationNumberList },
10382 { &hf_gsm_map_ms_destinationNumberLengthList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DestinationNumberLengthList },
10383 { NULL, 0, 0, 0, NULL }
10386 static int
10387 dissect_gsm_map_ms_DestinationNumberCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10388 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10389 gsm_map_ms_DestinationNumberCriteria_sequence, hf_index, ett_gsm_map_ms_DestinationNumberCriteria);
10391 return offset;
10395 static const ber_sequence_t gsm_map_ms_BasicServiceCriteria_sequence_of[1] = {
10396 { &hf_gsm_map_ms_BasicServiceCriteria_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode },
10399 static int
10400 dissect_gsm_map_ms_BasicServiceCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10401 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10402 gsm_map_ms_BasicServiceCriteria_sequence_of, hf_index, ett_gsm_map_ms_BasicServiceCriteria);
10404 return offset;
10408 static const value_string gsm_map_ms_CallTypeCriteria_vals[] = {
10409 { 0, "forwarded" },
10410 { 1, "notForwarded" },
10411 { 0, NULL }
10415 static int
10416 dissect_gsm_map_ms_CallTypeCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10417 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10418 NULL);
10420 return offset;
10425 static int
10426 dissect_gsm_map_ms_CauseValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10427 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10428 NULL);
10430 return offset;
10434 static const ber_sequence_t gsm_map_ms_O_CauseValueCriteria_sequence_of[1] = {
10435 { &hf_gsm_map_ms_O_CauseValueCriteria_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CauseValue },
10438 static int
10439 dissect_gsm_map_ms_O_CauseValueCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10440 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10441 gsm_map_ms_O_CauseValueCriteria_sequence_of, hf_index, ett_gsm_map_ms_O_CauseValueCriteria);
10443 return offset;
10447 static const ber_sequence_t gsm_map_ms_O_BcsmCamelTDP_Criteria_sequence[] = {
10448 { &hf_gsm_map_ms_o_BcsmTriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmTriggerDetectionPoint },
10449 { &hf_gsm_map_ms_destinationNumberCriteria, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DestinationNumberCriteria },
10450 { &hf_gsm_map_ms_basicServiceCriteria, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BasicServiceCriteria },
10451 { &hf_gsm_map_ms_callTypeCriteria, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallTypeCriteria },
10452 { &hf_gsm_map_ms_o_CauseValueCriteria, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CauseValueCriteria },
10453 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10454 { NULL, 0, 0, 0, NULL }
10457 static int
10458 dissect_gsm_map_ms_O_BcsmCamelTDP_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10459 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10460 gsm_map_ms_O_BcsmCamelTDP_Criteria_sequence, hf_index, ett_gsm_map_ms_O_BcsmCamelTDP_Criteria);
10462 return offset;
10466 static const ber_sequence_t gsm_map_ms_O_BcsmCamelTDPCriteriaList_sequence_of[1] = {
10467 { &hf_gsm_map_ms_O_BcsmCamelTDPCriteriaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmCamelTDP_Criteria },
10471 dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10472 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10473 gsm_map_ms_O_BcsmCamelTDPCriteriaList_sequence_of, hf_index, ett_gsm_map_ms_O_BcsmCamelTDPCriteriaList);
10475 return offset;
10480 static int
10481 dissect_gsm_map_ms_MM_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10482 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10483 NULL);
10485 return offset;
10489 static const ber_sequence_t gsm_map_ms_MobilityTriggers_sequence_of[1] = {
10490 { &hf_gsm_map_ms_MobilityTriggers_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MM_Code },
10493 static int
10494 dissect_gsm_map_ms_MobilityTriggers(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10495 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10496 gsm_map_ms_MobilityTriggers_sequence_of, hf_index, ett_gsm_map_ms_MobilityTriggers);
10498 return offset;
10502 static const ber_sequence_t gsm_map_ms_M_CSI_sequence[] = {
10503 { &hf_gsm_map_ms_mobilityTriggers, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MobilityTriggers },
10504 { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey },
10505 { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
10506 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10507 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10508 { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10509 { NULL, 0, 0, 0, NULL }
10512 static int
10513 dissect_gsm_map_ms_M_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10514 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10515 gsm_map_ms_M_CSI_sequence, hf_index, ett_gsm_map_ms_M_CSI);
10517 return offset;
10521 static const value_string gsm_map_ms_SMS_TriggerDetectionPoint_vals[] = {
10522 { 1, "sms-CollectedInfo" },
10523 { 2, "sms-DeliveryRequest" },
10524 { 0, NULL }
10528 static int
10529 dissect_gsm_map_ms_SMS_TriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10530 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10531 NULL);
10533 return offset;
10537 const value_string gsm_map_ms_DefaultSMS_Handling_vals[] = {
10538 { 0, "continueTransaction" },
10539 { 1, "releaseTransaction" },
10540 { 0, NULL }
10545 dissect_gsm_map_ms_DefaultSMS_Handling(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10546 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10547 NULL);
10549 return offset;
10553 static const ber_sequence_t gsm_map_ms_SMS_CAMEL_TDP_Data_sequence[] = {
10554 { &hf_gsm_map_ms_sms_TriggerDetectionPoint, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_TriggerDetectionPoint },
10555 { &hf_gsm_map_ms_serviceKey, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ServiceKey },
10556 { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
10557 { &hf_gsm_map_ms_defaultSMS_Handling, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DefaultSMS_Handling },
10558 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10559 { NULL, 0, 0, 0, NULL }
10562 static int
10563 dissect_gsm_map_ms_SMS_CAMEL_TDP_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10564 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10565 gsm_map_ms_SMS_CAMEL_TDP_Data_sequence, hf_index, ett_gsm_map_ms_SMS_CAMEL_TDP_Data);
10567 return offset;
10571 static const ber_sequence_t gsm_map_ms_SMS_CAMEL_TDP_DataList_sequence_of[1] = {
10572 { &hf_gsm_map_ms_SMS_CAMEL_TDP_DataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SMS_CAMEL_TDP_Data },
10575 static int
10576 dissect_gsm_map_ms_SMS_CAMEL_TDP_DataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10577 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10578 gsm_map_ms_SMS_CAMEL_TDP_DataList_sequence_of, hf_index, ett_gsm_map_ms_SMS_CAMEL_TDP_DataList);
10580 return offset;
10584 static const ber_sequence_t gsm_map_ms_SMS_CSI_sequence[] = {
10585 { &hf_gsm_map_ms_sms_CAMEL_TDP_DataList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CAMEL_TDP_DataList },
10586 { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling },
10587 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10588 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10589 { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10590 { NULL, 0, 0, 0, NULL }
10593 static int
10594 dissect_gsm_map_ms_SMS_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10595 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10596 gsm_map_ms_SMS_CSI_sequence, hf_index, ett_gsm_map_ms_SMS_CSI);
10598 return offset;
10602 static const value_string gsm_map_ms_T_BcsmTriggerDetectionPoint_vals[] = {
10603 { 12, "termAttemptAuthorized" },
10604 { 13, "tBusy" },
10605 { 14, "tNoAnswer" },
10606 { 0, NULL }
10610 static int
10611 dissect_gsm_map_ms_T_BcsmTriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10612 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10613 NULL);
10615 return offset;
10619 static const ber_sequence_t gsm_map_ms_T_BcsmCamelTDPData_sequence[] = {
10620 { &hf_gsm_map_ms_t_BcsmTriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BcsmTriggerDetectionPoint },
10621 { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey },
10622 { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
10623 { &hf_gsm_map_ms_defaultCallHandling, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DefaultCallHandling },
10624 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10625 { NULL, 0, 0, 0, NULL }
10628 static int
10629 dissect_gsm_map_ms_T_BcsmCamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10630 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10631 gsm_map_ms_T_BcsmCamelTDPData_sequence, hf_index, ett_gsm_map_ms_T_BcsmCamelTDPData);
10633 return offset;
10637 static const ber_sequence_t gsm_map_ms_T_BcsmCamelTDPDataList_sequence_of[1] = {
10638 { &hf_gsm_map_ms_T_BcsmCamelTDPDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BcsmCamelTDPData },
10641 static int
10642 dissect_gsm_map_ms_T_BcsmCamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10643 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10644 gsm_map_ms_T_BcsmCamelTDPDataList_sequence_of, hf_index, ett_gsm_map_ms_T_BcsmCamelTDPDataList);
10646 return offset;
10650 static const ber_sequence_t gsm_map_ms_T_CSI_sequence[] = {
10651 { &hf_gsm_map_ms_t_BcsmCamelTDPDataList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BcsmCamelTDPDataList },
10652 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
10653 { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling },
10654 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10655 { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10656 { NULL, 0, 0, 0, NULL }
10659 static int
10660 dissect_gsm_map_ms_T_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10661 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10662 gsm_map_ms_T_CSI_sequence, hf_index, ett_gsm_map_ms_T_CSI);
10664 return offset;
10668 static const ber_sequence_t gsm_map_ms_T_CauseValueCriteria_sequence_of[1] = {
10669 { &hf_gsm_map_ms_T_CauseValueCriteria_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CauseValue },
10672 static int
10673 dissect_gsm_map_ms_T_CauseValueCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10674 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10675 gsm_map_ms_T_CauseValueCriteria_sequence_of, hf_index, ett_gsm_map_ms_T_CauseValueCriteria);
10677 return offset;
10681 static const ber_sequence_t gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria_sequence[] = {
10682 { &hf_gsm_map_ms_t_BCSM_TriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BcsmTriggerDetectionPoint },
10683 { &hf_gsm_map_ms_basicServiceCriteria, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BasicServiceCriteria },
10684 { &hf_gsm_map_ms_t_CauseValueCriteria, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CauseValueCriteria },
10685 { NULL, 0, 0, 0, NULL }
10688 static int
10689 dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10690 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10691 gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria_sequence, hf_index, ett_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria);
10693 return offset;
10697 static const ber_sequence_t gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_sequence_of[1] = {
10698 { &hf_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria },
10701 static int
10702 dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10703 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10704 gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList);
10706 return offset;
10710 static const ber_sequence_t gsm_map_ms_DP_AnalysedInfoCriterium_sequence[] = {
10711 { &hf_gsm_map_ms_dialledNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
10712 { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey },
10713 { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
10714 { &hf_gsm_map_ms_defaultCallHandling, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_DefaultCallHandling },
10715 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
10716 { NULL, 0, 0, 0, NULL }
10719 static int
10720 dissect_gsm_map_ms_DP_AnalysedInfoCriterium(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10721 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10722 gsm_map_ms_DP_AnalysedInfoCriterium_sequence, hf_index, ett_gsm_map_ms_DP_AnalysedInfoCriterium);
10724 return offset;
10728 static const ber_sequence_t gsm_map_ms_DP_AnalysedInfoCriteriaList_sequence_of[1] = {
10729 { &hf_gsm_map_ms_DP_AnalysedInfoCriteriaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_DP_AnalysedInfoCriterium },
10732 static int
10733 dissect_gsm_map_ms_DP_AnalysedInfoCriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10734 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10735 gsm_map_ms_DP_AnalysedInfoCriteriaList_sequence_of, hf_index, ett_gsm_map_ms_DP_AnalysedInfoCriteriaList);
10737 return offset;
10741 static const ber_sequence_t gsm_map_ms_D_CSI_sequence[] = {
10742 { &hf_gsm_map_ms_dp_AnalysedInfoCriteriaList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DP_AnalysedInfoCriteriaList },
10743 { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling },
10744 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10745 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10746 { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10747 { NULL, 0, 0, 0, NULL }
10751 dissect_gsm_map_ms_D_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10752 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10753 gsm_map_ms_D_CSI_sequence, hf_index, ett_gsm_map_ms_D_CSI);
10755 return offset;
10759 static const value_string gsm_map_ms_MT_SMS_TPDU_Type_vals[] = {
10760 { 0, "sms-DELIVER" },
10761 { 1, "sms-SUBMIT-REPORT" },
10762 { 2, "sms-STATUS-REPORT" },
10763 { 0, NULL }
10767 static int
10768 dissect_gsm_map_ms_MT_SMS_TPDU_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10769 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10770 NULL);
10772 return offset;
10776 static const ber_sequence_t gsm_map_ms_TPDU_TypeCriterion_sequence_of[1] = {
10777 { &hf_gsm_map_ms_TPDU_TypeCriterion_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MT_SMS_TPDU_Type },
10780 static int
10781 dissect_gsm_map_ms_TPDU_TypeCriterion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10782 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10783 gsm_map_ms_TPDU_TypeCriterion_sequence_of, hf_index, ett_gsm_map_ms_TPDU_TypeCriterion);
10785 return offset;
10789 static const ber_sequence_t gsm_map_ms_MT_smsCAMELTDP_Criteria_sequence[] = {
10790 { &hf_gsm_map_ms_sms_TriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SMS_TriggerDetectionPoint },
10791 { &hf_gsm_map_ms_tpdu_TypeCriterion, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TPDU_TypeCriterion },
10792 { NULL, 0, 0, 0, NULL }
10795 static int
10796 dissect_gsm_map_ms_MT_smsCAMELTDP_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10797 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10798 gsm_map_ms_MT_smsCAMELTDP_Criteria_sequence, hf_index, ett_gsm_map_ms_MT_smsCAMELTDP_Criteria);
10800 return offset;
10804 static const ber_sequence_t gsm_map_ms_MT_smsCAMELTDP_CriteriaList_sequence_of[1] = {
10805 { &hf_gsm_map_ms_MT_smsCAMELTDP_CriteriaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MT_smsCAMELTDP_Criteria },
10808 static int
10809 dissect_gsm_map_ms_MT_smsCAMELTDP_CriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10810 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10811 gsm_map_ms_MT_smsCAMELTDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_ms_MT_smsCAMELTDP_CriteriaList);
10813 return offset;
10817 static const ber_sequence_t gsm_map_ms_VlrCamelSubscriptionInfo_sequence[] = {
10818 { &hf_gsm_map_ms_o_CSI , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI },
10819 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10820 { &hf_gsm_map_ms_ss_CSI , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SS_CSI },
10821 { &hf_gsm_map_ms_o_BcsmCamelTDP_CriteriaList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList },
10822 { &hf_gsm_map_ms_tif_CSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10823 { &hf_gsm_map_ms_m_CSI , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_M_CSI },
10824 { &hf_gsm_map_ms_mo_sms_CSI, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI },
10825 { &hf_gsm_map_ms_vt_CSI , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI },
10826 { &hf_gsm_map_ms_t_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList },
10827 { &hf_gsm_map_ms_d_CSI , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI },
10828 { &hf_gsm_map_ms_mt_sms_CSI, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI },
10829 { &hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MT_smsCAMELTDP_CriteriaList },
10830 { NULL, 0, 0, 0, NULL }
10833 static int
10834 dissect_gsm_map_ms_VlrCamelSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10835 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10836 gsm_map_ms_VlrCamelSubscriptionInfo_sequence, hf_index, ett_gsm_map_ms_VlrCamelSubscriptionInfo);
10838 return offset;
10843 static int
10844 dissect_gsm_map_ms_PDP_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10845 #line 540 "../../asn1/gsm_map/gsm_map.cnf"
10846 guint8 pdp_type_org;
10847 tvbuff_t *parameter_tvb;
10850 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10851 &parameter_tvb);
10854 if (!parameter_tvb)
10855 return offset;
10856 proto_tree_add_item(tree, hf_gsm_map_pdp_type_org, parameter_tvb, 0,1,ENC_BIG_ENDIAN);
10857 pdp_type_org = tvb_get_guint8(parameter_tvb,1);
10858 switch (pdp_type_org){
10859 case 0: /* ETSI */
10860 proto_tree_add_item(tree, hf_gsm_map_etsi_pdp_type_number, parameter_tvb, 0,1,ENC_BIG_ENDIAN);
10861 break;
10862 case 1: /* IETF */
10863 proto_tree_add_item(tree, hf_gsm_map_ietf_pdp_type_number, parameter_tvb, 0,1,ENC_BIG_ENDIAN);
10864 break;
10865 default:
10866 break;
10871 return offset;
10877 dissect_gsm_map_ms_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10878 #line 562 "../../asn1/gsm_map/gsm_map.cnf"
10881 tvbuff_t *parameter_tvb;
10883 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10884 &parameter_tvb);
10887 if (!parameter_tvb)
10888 return offset;
10889 de_sm_qos(parameter_tvb, tree, actx->pinfo, 0, 3, NULL,0);
10893 return offset;
10899 dissect_gsm_map_ms_Ext_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10900 #line 573 "../../asn1/gsm_map/gsm_map.cnf"
10902 tvbuff_t *parameter_tvb;
10904 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10905 &parameter_tvb);
10908 if (!parameter_tvb)
10909 return offset;
10910 dissect_gsm_map_ext_qos_subscribed(tvb, actx->pinfo, tree, actx);
10914 return offset;
10919 static int
10920 dissect_gsm_map_ms_ChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10921 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10922 NULL);
10924 return offset;
10930 dissect_gsm_map_ms_Ext2_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10931 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10932 NULL);
10934 return offset;
10940 dissect_gsm_map_ms_Ext3_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10941 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10942 NULL);
10944 return offset;
10949 static int
10950 dissect_gsm_map_ms_Ext4_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10951 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10952 NULL);
10954 return offset;
10959 static int
10960 dissect_gsm_map_ms_APN_OI_Replacement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10961 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10962 NULL);
10964 return offset;
10969 static int
10970 dissect_gsm_map_ms_Ext_PDP_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10971 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10972 NULL);
10974 return offset;
10979 static int
10980 dissect_gsm_map_ms_Bandwidth(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10981 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10982 NULL);
10984 return offset;
10988 static const ber_sequence_t gsm_map_ms_AMBR_sequence[] = {
10989 { &hf_gsm_map_ms_max_RequestedBandwidth_UL, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Bandwidth },
10990 { &hf_gsm_map_ms_max_RequestedBandwidth_DL, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Bandwidth },
10991 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10992 { NULL, 0, 0, 0, NULL }
10995 static int
10996 dissect_gsm_map_ms_AMBR(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10997 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10998 gsm_map_ms_AMBR_sequence, hf_index, ett_gsm_map_ms_AMBR);
11000 return offset;
11004 static const value_string gsm_map_ms_SIPTO_Permission_vals[] = {
11005 { 0, "siptoAllowed" },
11006 { 1, "siptoNotAllowed" },
11007 { 0, NULL }
11011 static int
11012 dissect_gsm_map_ms_SIPTO_Permission(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11013 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11014 NULL);
11016 return offset;
11020 static const value_string gsm_map_ms_LIPA_Permission_vals[] = {
11021 { 0, "lipaProhibited" },
11022 { 1, "lipaOnly" },
11023 { 2, "lipaConditional" },
11024 { 0, NULL }
11028 static int
11029 dissect_gsm_map_ms_LIPA_Permission(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11030 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11031 NULL);
11033 return offset;
11037 static const ber_sequence_t gsm_map_ms_PDP_Context_sequence[] = {
11038 { &hf_gsm_map_ms_pdp_ContextId, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ContextId },
11039 { &hf_gsm_map_ms_pdp_Type , BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Type },
11040 { &hf_gsm_map_ms_pdp_Address, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
11041 { &hf_gsm_map_ms_qos_Subscribed, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_QoS_Subscribed },
11042 { &hf_gsm_map_ms_vplmnAddressAllowed, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11043 { &hf_gsm_map_ms_apn , BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN },
11044 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11045 { &hf_gsm_map_ms_ext_QoS_Subscribed, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_QoS_Subscribed },
11046 { &hf_gsm_map_ms_pdp_ChargingCharacteristics, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChargingCharacteristics },
11047 { &hf_gsm_map_ms_ext2_QoS_Subscribed, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext2_QoS_Subscribed },
11048 { &hf_gsm_map_ms_ext3_QoS_Subscribed, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext3_QoS_Subscribed },
11049 { &hf_gsm_map_ms_ext4_QoS_Subscribed, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext4_QoS_Subscribed },
11050 { &hf_gsm_map_ms_apn_oi_Replacement, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN_OI_Replacement },
11051 { &hf_gsm_map_ms_ext_pdp_Type, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_PDP_Type },
11052 { &hf_gsm_map_ms_ext_pdp_Address, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
11053 { &hf_gsm_map_ms_ambr , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AMBR },
11054 { &hf_gsm_map_ms_sipto_Permission, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SIPTO_Permission },
11055 { &hf_gsm_map_ms_lipa_Permission, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LIPA_Permission },
11056 { NULL, 0, 0, 0, NULL }
11059 static int
11060 dissect_gsm_map_ms_PDP_Context(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11061 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11062 gsm_map_ms_PDP_Context_sequence, hf_index, ett_gsm_map_ms_PDP_Context);
11064 return offset;
11068 static const ber_sequence_t gsm_map_ms_GPRSDataList_sequence_of[1] = {
11069 { &hf_gsm_map_ms_GPRSDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_PDP_Context },
11072 static int
11073 dissect_gsm_map_ms_GPRSDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11074 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11075 gsm_map_ms_GPRSDataList_sequence_of, hf_index, ett_gsm_map_ms_GPRSDataList);
11077 return offset;
11081 static const ber_sequence_t gsm_map_ms_GPRSSubscriptionData_sequence[] = {
11082 { &hf_gsm_map_ms_completeDataListIncluded, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
11083 { &hf_gsm_map_ms_gprsDataList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRSDataList },
11084 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11085 { &hf_gsm_map_ms_apn_oi_Replacement, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN_OI_Replacement },
11086 { NULL, 0, 0, 0, NULL }
11089 static int
11090 dissect_gsm_map_ms_GPRSSubscriptionData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11091 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11092 gsm_map_ms_GPRSSubscriptionData_sequence, hf_index, ett_gsm_map_ms_GPRSSubscriptionData);
11094 return offset;
11098 static const value_string gsm_map_ms_NetworkAccessMode_vals[] = {
11099 { 0, "packetAndCircuit" },
11100 { 1, "onlyCircuit" },
11101 { 2, "onlyPacket" },
11102 { 0, NULL }
11106 static int
11107 dissect_gsm_map_ms_NetworkAccessMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11108 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11109 NULL);
11111 return offset;
11115 static const value_string gsm_map_ms_LSAOnlyAccessIndicator_vals[] = {
11116 { 0, "accessOutsideLSAsAllowed" },
11117 { 1, "accessOutsideLSAsRestricted" },
11118 { 0, NULL }
11122 static int
11123 dissect_gsm_map_ms_LSAOnlyAccessIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11124 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11125 NULL);
11127 return offset;
11133 dissect_gsm_map_ms_LSAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11134 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11135 NULL);
11137 return offset;
11142 static int
11143 dissect_gsm_map_ms_LSAAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11144 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11145 NULL);
11147 return offset;
11151 static const ber_sequence_t gsm_map_ms_LSAData_sequence[] = {
11152 { &hf_gsm_map_ms_lsaIdentity, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAIdentity },
11153 { &hf_gsm_map_ms_lsaAttributes, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAAttributes },
11154 { &hf_gsm_map_ms_lsaActiveModeIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11155 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11156 { NULL, 0, 0, 0, NULL }
11159 static int
11160 dissect_gsm_map_ms_LSAData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11161 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11162 gsm_map_ms_LSAData_sequence, hf_index, ett_gsm_map_ms_LSAData);
11164 return offset;
11168 static const ber_sequence_t gsm_map_ms_LSADataList_sequence_of[1] = {
11169 { &hf_gsm_map_ms_LSADataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_LSAData },
11172 static int
11173 dissect_gsm_map_ms_LSADataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11174 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11175 gsm_map_ms_LSADataList_sequence_of, hf_index, ett_gsm_map_ms_LSADataList);
11177 return offset;
11181 static const ber_sequence_t gsm_map_ms_LSAInformation_sequence[] = {
11182 { &hf_gsm_map_ms_completeDataListIncluded, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
11183 { &hf_gsm_map_ms_lsaOnlyAccessIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAOnlyAccessIndicator },
11184 { &hf_gsm_map_ms_lsaDataList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSADataList },
11185 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11186 { NULL, 0, 0, 0, NULL }
11189 static int
11190 dissect_gsm_map_ms_LSAInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11191 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11192 gsm_map_ms_LSAInformation_sequence, hf_index, ett_gsm_map_ms_LSAInformation);
11194 return offset;
11198 static const ber_sequence_t gsm_map_ms_GMLC_List_sequence_of[1] = {
11199 { &hf_gsm_map_ms_GMLC_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
11202 static int
11203 dissect_gsm_map_ms_GMLC_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11204 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11205 gsm_map_ms_GMLC_List_sequence_of, hf_index, ett_gsm_map_ms_GMLC_List);
11207 return offset;
11211 const value_string gsm_map_ms_NotificationToMSUser_vals[] = {
11212 { 0, "notifyLocationAllowed" },
11213 { 1, "notifyAndVerify-LocationAllowedIfNoResponse" },
11214 { 2, "notifyAndVerify-LocationNotAllowedIfNoResponse" },
11215 { 3, "locationNotAllowed" },
11216 { 0, NULL }
11221 dissect_gsm_map_ms_NotificationToMSUser(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11222 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11223 NULL);
11225 return offset;
11229 static const value_string gsm_map_ms_GMLC_Restriction_vals[] = {
11230 { 0, "gmlc-List" },
11231 { 1, "home-Country" },
11232 { 0, NULL }
11236 static int
11237 dissect_gsm_map_ms_GMLC_Restriction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11238 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11239 NULL);
11241 return offset;
11245 static const ber_sequence_t gsm_map_ms_ExternalClient_sequence[] = {
11246 { &hf_gsm_map_ms_clientIdentity, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LCSClientExternalID },
11247 { &hf_gsm_map_ms_gmlc_Restriction, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GMLC_Restriction },
11248 { &hf_gsm_map_ms_notificationToMSUser, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser },
11249 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11250 { NULL, 0, 0, 0, NULL }
11253 static int
11254 dissect_gsm_map_ms_ExternalClient(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11255 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11256 gsm_map_ms_ExternalClient_sequence, hf_index, ett_gsm_map_ms_ExternalClient);
11258 return offset;
11262 static const ber_sequence_t gsm_map_ms_ExternalClientList_sequence_of[1] = {
11263 { &hf_gsm_map_ms_ExternalClientList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ExternalClient },
11266 static int
11267 dissect_gsm_map_ms_ExternalClientList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11268 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11269 gsm_map_ms_ExternalClientList_sequence_of, hf_index, ett_gsm_map_ms_ExternalClientList);
11271 return offset;
11275 static const ber_sequence_t gsm_map_ms_PLMNClientList_sequence_of[1] = {
11276 { &hf_gsm_map_ms_PLMNClientList_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LCSClientInternalID },
11279 static int
11280 dissect_gsm_map_ms_PLMNClientList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11281 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11282 gsm_map_ms_PLMNClientList_sequence_of, hf_index, ett_gsm_map_ms_PLMNClientList);
11284 return offset;
11288 static const ber_sequence_t gsm_map_ms_Ext_ExternalClientList_sequence_of[1] = {
11289 { &hf_gsm_map_ms_Ext_ExternalClientList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ExternalClient },
11292 static int
11293 dissect_gsm_map_ms_Ext_ExternalClientList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11294 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11295 gsm_map_ms_Ext_ExternalClientList_sequence_of, hf_index, ett_gsm_map_ms_Ext_ExternalClientList);
11297 return offset;
11301 static const ber_sequence_t gsm_map_ms_ServiceType_sequence[] = {
11302 { &hf_gsm_map_ms_serviceTypeIdentity, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LCSServiceTypeID },
11303 { &hf_gsm_map_ms_gmlc_Restriction, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GMLC_Restriction },
11304 { &hf_gsm_map_ms_notificationToMSUser, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser },
11305 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11306 { NULL, 0, 0, 0, NULL }
11309 static int
11310 dissect_gsm_map_ms_ServiceType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11311 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11312 gsm_map_ms_ServiceType_sequence, hf_index, ett_gsm_map_ms_ServiceType);
11314 return offset;
11318 static const ber_sequence_t gsm_map_ms_ServiceTypeList_sequence_of[1] = {
11319 { &hf_gsm_map_ms_ServiceTypeList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceType },
11322 static int
11323 dissect_gsm_map_ms_ServiceTypeList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11324 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11325 gsm_map_ms_ServiceTypeList_sequence_of, hf_index, ett_gsm_map_ms_ServiceTypeList);
11327 return offset;
11331 static const ber_sequence_t gsm_map_ms_LCS_PrivacyClass_sequence[] = {
11332 { &hf_gsm_map_ms_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
11333 { &hf_gsm_map_ms_ss_Status, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_SS_Status },
11334 { &hf_gsm_map_ms_notificationToMSUser, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser },
11335 { &hf_gsm_map_ms_externalClientList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ExternalClientList },
11336 { &hf_gsm_map_ms_plmnClientList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PLMNClientList },
11337 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11338 { &hf_gsm_map_ms_ext_externalClientList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ExternalClientList },
11339 { &hf_gsm_map_ms_serviceTypeList, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ServiceTypeList },
11340 { NULL, 0, 0, 0, NULL }
11343 static int
11344 dissect_gsm_map_ms_LCS_PrivacyClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11345 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11346 gsm_map_ms_LCS_PrivacyClass_sequence, hf_index, ett_gsm_map_ms_LCS_PrivacyClass);
11348 return offset;
11352 static const ber_sequence_t gsm_map_ms_LCS_PrivacyExceptionList_sequence_of[1] = {
11353 { &hf_gsm_map_ms_LCS_PrivacyExceptionList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_LCS_PrivacyClass },
11356 static int
11357 dissect_gsm_map_ms_LCS_PrivacyExceptionList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11358 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11359 gsm_map_ms_LCS_PrivacyExceptionList_sequence_of, hf_index, ett_gsm_map_ms_LCS_PrivacyExceptionList);
11361 return offset;
11365 static const ber_sequence_t gsm_map_ms_MOLR_Class_sequence[] = {
11366 { &hf_gsm_map_ms_ss_Code , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
11367 { &hf_gsm_map_ms_ss_Status, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_SS_Status },
11368 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11369 { NULL, 0, 0, 0, NULL }
11372 static int
11373 dissect_gsm_map_ms_MOLR_Class(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11374 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11375 gsm_map_ms_MOLR_Class_sequence, hf_index, ett_gsm_map_ms_MOLR_Class);
11377 return offset;
11381 static const ber_sequence_t gsm_map_ms_MOLR_List_sequence_of[1] = {
11382 { &hf_gsm_map_ms_MOLR_List_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MOLR_Class },
11385 static int
11386 dissect_gsm_map_ms_MOLR_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11387 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11388 gsm_map_ms_MOLR_List_sequence_of, hf_index, ett_gsm_map_ms_MOLR_List);
11390 return offset;
11394 static const ber_sequence_t gsm_map_ms_LCSInformation_sequence[] = {
11395 { &hf_gsm_map_ms_gmlc_List, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GMLC_List },
11396 { &hf_gsm_map_ms_lcs_PrivacyExceptionList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCS_PrivacyExceptionList },
11397 { &hf_gsm_map_ms_molr_List, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MOLR_List },
11398 { &hf_gsm_map_ms_add_lcs_PrivacyExceptionList, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCS_PrivacyExceptionList },
11399 { NULL, 0, 0, 0, NULL }
11402 static int
11403 dissect_gsm_map_ms_LCSInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11404 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11405 gsm_map_ms_LCSInformation_sequence, hf_index, ett_gsm_map_ms_LCSInformation);
11407 return offset;
11412 static int
11413 dissect_gsm_map_ms_IST_AlertTimerValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11414 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11415 NULL);
11417 return offset;
11422 static int
11423 dissect_gsm_map_ms_CS_AllocationRetentionPriority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11424 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11425 NULL);
11427 return offset;
11431 static const value_string gsm_map_ms_GPRS_TriggerDetectionPoint_vals[] = {
11432 { 1, "attach" },
11433 { 2, "attachChangeOfPosition" },
11434 { 11, "pdp-ContextEstablishment" },
11435 { 12, "pdp-ContextEstablishmentAcknowledgement" },
11436 { 14, "pdp-ContextChangeOfPosition" },
11437 { 0, NULL }
11441 static int
11442 dissect_gsm_map_ms_GPRS_TriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11443 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11444 NULL);
11446 return offset;
11450 const value_string gsm_map_ms_DefaultGPRS_Handling_vals[] = {
11451 { 0, "continueTransaction" },
11452 { 1, "releaseTransaction" },
11453 { 0, NULL }
11458 dissect_gsm_map_ms_DefaultGPRS_Handling(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11459 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11460 NULL);
11462 return offset;
11466 static const ber_sequence_t gsm_map_ms_GPRS_CamelTDPData_sequence[] = {
11467 { &hf_gsm_map_ms_gprs_TriggerDetectionPoint, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRS_TriggerDetectionPoint },
11468 { &hf_gsm_map_ms_serviceKey, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ServiceKey },
11469 { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
11470 { &hf_gsm_map_ms_defaultSessionHandling, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DefaultGPRS_Handling },
11471 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11472 { NULL, 0, 0, 0, NULL }
11475 static int
11476 dissect_gsm_map_ms_GPRS_CamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11477 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11478 gsm_map_ms_GPRS_CamelTDPData_sequence, hf_index, ett_gsm_map_ms_GPRS_CamelTDPData);
11480 return offset;
11484 static const ber_sequence_t gsm_map_ms_GPRS_CamelTDPDataList_sequence_of[1] = {
11485 { &hf_gsm_map_ms_GPRS_CamelTDPDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_GPRS_CamelTDPData },
11488 static int
11489 dissect_gsm_map_ms_GPRS_CamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11490 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11491 gsm_map_ms_GPRS_CamelTDPDataList_sequence_of, hf_index, ett_gsm_map_ms_GPRS_CamelTDPDataList);
11493 return offset;
11497 static const ber_sequence_t gsm_map_ms_GPRS_CSI_sequence[] = {
11498 { &hf_gsm_map_ms_gprs_CamelTDPDataList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRS_CamelTDPDataList },
11499 { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling },
11500 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11501 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11502 { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11503 { NULL, 0, 0, 0, NULL }
11506 static int
11507 dissect_gsm_map_ms_GPRS_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11508 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11509 gsm_map_ms_GPRS_CSI_sequence, hf_index, ett_gsm_map_ms_GPRS_CSI);
11511 return offset;
11515 static const ber_sequence_t gsm_map_ms_MG_CSI_sequence[] = {
11516 { &hf_gsm_map_ms_mobilityTriggers, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MobilityTriggers },
11517 { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey },
11518 { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
11519 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11520 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11521 { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11522 { NULL, 0, 0, 0, NULL }
11525 static int
11526 dissect_gsm_map_ms_MG_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11527 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11528 gsm_map_ms_MG_CSI_sequence, hf_index, ett_gsm_map_ms_MG_CSI);
11530 return offset;
11534 static const ber_sequence_t gsm_map_ms_SGSN_CAMEL_SubscriptionInfo_sequence[] = {
11535 { &hf_gsm_map_ms_gprs_CSI , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRS_CSI },
11536 { &hf_gsm_map_ms_mo_sms_CSI, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI },
11537 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11538 { &hf_gsm_map_ms_mt_sms_CSI, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI },
11539 { &hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MT_smsCAMELTDP_CriteriaList },
11540 { &hf_gsm_map_ms_mg_csi , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MG_CSI },
11541 { NULL, 0, 0, 0, NULL }
11544 static int
11545 dissect_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11546 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11547 gsm_map_ms_SGSN_CAMEL_SubscriptionInfo_sequence, hf_index, ett_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo);
11549 return offset;
11553 static const asn_namedbit gsm_map_ms_AccessRestrictionData_bits[] = {
11554 { 0, &hf_gsm_map_ms_AccessRestrictionData_utranNotAllowed, -1, -1, "utranNotAllowed", NULL },
11555 { 1, &hf_gsm_map_ms_AccessRestrictionData_geranNotAllowed, -1, -1, "geranNotAllowed", NULL },
11556 { 2, &hf_gsm_map_ms_AccessRestrictionData_ganNotAllowed, -1, -1, "ganNotAllowed", NULL },
11557 { 3, &hf_gsm_map_ms_AccessRestrictionData_i_hspa_evolutionNotAllowed, -1, -1, "i-hspa-evolutionNotAllowed", NULL },
11558 { 4, &hf_gsm_map_ms_AccessRestrictionData_e_utranNotAllowed, -1, -1, "e-utranNotAllowed", NULL },
11559 { 5, &hf_gsm_map_ms_AccessRestrictionData_ho_toNon3GPP_AccessNotAllowed, -1, -1, "ho-toNon3GPP-AccessNotAllowed", NULL },
11560 { 0, NULL, 0, 0, NULL, NULL }
11563 static int
11564 dissect_gsm_map_ms_AccessRestrictionData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11565 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
11566 gsm_map_ms_AccessRestrictionData_bits, hf_index, ett_gsm_map_ms_AccessRestrictionData,
11567 NULL);
11569 return offset;
11574 static int
11575 dissect_gsm_map_ms_RFSP_ID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11576 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11577 NULL);
11579 return offset;
11584 static int
11585 dissect_gsm_map_ms_PDN_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11586 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11587 NULL);
11589 return offset;
11594 static int
11595 dissect_gsm_map_ms_QoS_Class_Identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11596 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11597 NULL);
11599 return offset;
11604 static int
11605 dissect_gsm_map_ms_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11606 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11607 NULL);
11609 return offset;
11613 static const ber_sequence_t gsm_map_ms_Allocation_Retention_Priority_sequence[] = {
11614 { &hf_gsm_map_ms_priority_level, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_INTEGER },
11615 { &hf_gsm_map_ms_pre_emption_capability, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BOOLEAN },
11616 { &hf_gsm_map_ms_pre_emption_vulnerability, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BOOLEAN },
11617 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11618 { NULL, 0, 0, 0, NULL }
11621 static int
11622 dissect_gsm_map_ms_Allocation_Retention_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11623 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11624 gsm_map_ms_Allocation_Retention_Priority_sequence, hf_index, ett_gsm_map_ms_Allocation_Retention_Priority);
11626 return offset;
11630 static const ber_sequence_t gsm_map_ms_EPS_QoS_Subscribed_sequence[] = {
11631 { &hf_gsm_map_ms_qos_Class_Identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_QoS_Class_Identifier },
11632 { &hf_gsm_map_ms_allocation_Retention_Priority, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Allocation_Retention_Priority },
11633 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11634 { NULL, 0, 0, 0, NULL }
11637 static int
11638 dissect_gsm_map_ms_EPS_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11639 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11640 gsm_map_ms_EPS_QoS_Subscribed_sequence, hf_index, ett_gsm_map_ms_EPS_QoS_Subscribed);
11642 return offset;
11646 static const value_string gsm_map_ms_PDN_GW_AllocationType_vals[] = {
11647 { 0, "static" },
11648 { 1, "dynamic" },
11649 { 0, NULL }
11653 static int
11654 dissect_gsm_map_ms_PDN_GW_AllocationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11655 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11656 NULL);
11658 return offset;
11662 static const ber_sequence_t gsm_map_ms_SpecificAPNInfo_sequence[] = {
11663 { &hf_gsm_map_ms_apn , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN },
11664 { &hf_gsm_map_ms_pdn_gw_Identity, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDN_GW_Identity },
11665 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11666 { NULL, 0, 0, 0, NULL }
11669 static int
11670 dissect_gsm_map_ms_SpecificAPNInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11671 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11672 gsm_map_ms_SpecificAPNInfo_sequence, hf_index, ett_gsm_map_ms_SpecificAPNInfo);
11674 return offset;
11678 static const ber_sequence_t gsm_map_ms_SpecificAPNInfoList_sequence_of[1] = {
11679 { &hf_gsm_map_ms_SpecificAPNInfoList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SpecificAPNInfo },
11682 static int
11683 dissect_gsm_map_ms_SpecificAPNInfoList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11684 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11685 gsm_map_ms_SpecificAPNInfoList_sequence_of, hf_index, ett_gsm_map_ms_SpecificAPNInfoList);
11687 return offset;
11691 static const ber_sequence_t gsm_map_ms_APN_Configuration_sequence[] = {
11692 { &hf_gsm_map_ms_contextId, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ContextId },
11693 { &hf_gsm_map_ms_pdn_Type , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDN_Type },
11694 { &hf_gsm_map_ms_servedPartyIP_IPv4_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
11695 { &hf_gsm_map_ms_apn , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN },
11696 { &hf_gsm_map_ms_eps_qos_Subscribed, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EPS_QoS_Subscribed },
11697 { &hf_gsm_map_ms_pdn_gw_Identity, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDN_GW_Identity },
11698 { &hf_gsm_map_ms_pdn_gw_AllocationType, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDN_GW_AllocationType },
11699 { &hf_gsm_map_ms_vplmnAddressAllowed, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11700 { &hf_gsm_map_ms_chargingCharacteristics, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChargingCharacteristics },
11701 { &hf_gsm_map_ms_ambr , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AMBR },
11702 { &hf_gsm_map_ms_specificAPNInfoList, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SpecificAPNInfoList },
11703 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11704 { &hf_gsm_map_ms_servedPartyIP_IPv6_Address, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
11705 { &hf_gsm_map_ms_apn_oi_Replacement, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN_OI_Replacement },
11706 { &hf_gsm_map_ms_sipto_Permission, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SIPTO_Permission },
11707 { &hf_gsm_map_ms_lipa_Permission, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LIPA_Permission },
11708 { NULL, 0, 0, 0, NULL }
11711 static int
11712 dissect_gsm_map_ms_APN_Configuration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11713 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11714 gsm_map_ms_APN_Configuration_sequence, hf_index, ett_gsm_map_ms_APN_Configuration);
11716 return offset;
11720 static const ber_sequence_t gsm_map_ms_EPS_DataList_sequence_of[1] = {
11721 { &hf_gsm_map_ms_EPS_DataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_APN_Configuration },
11724 static int
11725 dissect_gsm_map_ms_EPS_DataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11726 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11727 gsm_map_ms_EPS_DataList_sequence_of, hf_index, ett_gsm_map_ms_EPS_DataList);
11729 return offset;
11733 static const ber_sequence_t gsm_map_ms_APN_ConfigurationProfile_sequence[] = {
11734 { &hf_gsm_map_ms_defaultContext, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ContextId },
11735 { &hf_gsm_map_ms_completeDataListIncluded, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
11736 { &hf_gsm_map_ms_epsDataList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EPS_DataList },
11737 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11738 { NULL, 0, 0, 0, NULL }
11741 static int
11742 dissect_gsm_map_ms_APN_ConfigurationProfile(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11743 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11744 gsm_map_ms_APN_ConfigurationProfile_sequence, hf_index, ett_gsm_map_ms_APN_ConfigurationProfile);
11746 return offset;
11750 static const ber_sequence_t gsm_map_ms_EPS_SubscriptionData_sequence[] = {
11751 { &hf_gsm_map_ms_apn_oi_Replacement, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN_OI_Replacement },
11752 { &hf_gsm_map_ms_rfsp_id , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RFSP_ID },
11753 { &hf_gsm_map_ms_ambr , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AMBR },
11754 { &hf_gsm_map_ms_apn_ConfigurationProfile, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN_ConfigurationProfile },
11755 { &hf_gsm_map_ms_stn_sr , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
11756 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11757 { &hf_gsm_map_ms_mps_CSPriority, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11758 { &hf_gsm_map_ms_mps_EPSPriority, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11759 { &hf_gsm_map_ms_subscribed_vsrvcc, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11760 { NULL, 0, 0, 0, NULL }
11763 static int
11764 dissect_gsm_map_ms_EPS_SubscriptionData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11765 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11766 gsm_map_ms_EPS_SubscriptionData_sequence, hf_index, ett_gsm_map_ms_EPS_SubscriptionData);
11768 return offset;
11773 static int
11774 dissect_gsm_map_ms_SubscribedPeriodicRAUTAUtimer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11775 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11776 NULL);
11778 return offset;
11783 static int
11784 dissect_gsm_map_ms_SubscribedPeriodicLAUtimer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11785 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11786 NULL);
11788 return offset;
11792 static const ber_sequence_t gsm_map_ms_VPLMN_CSG_SubscriptionDataList_sequence_of[1] = {
11793 { &hf_gsm_map_ms_VPLMN_CSG_SubscriptionDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CSG_SubscriptionData },
11796 static int
11797 dissect_gsm_map_ms_VPLMN_CSG_SubscriptionDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11798 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11799 gsm_map_ms_VPLMN_CSG_SubscriptionDataList_sequence_of, hf_index, ett_gsm_map_ms_VPLMN_CSG_SubscriptionDataList);
11801 return offset;
11805 static const ber_sequence_t gsm_map_ms_InsertSubscriberDataArg_sequence[] = {
11806 { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
11807 { &hf_gsm_map_ms_msisdn , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
11808 { &hf_gsm_map_ms_category , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Category },
11809 { &hf_gsm_map_ms_subscriberStatus, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscriberStatus },
11810 { &hf_gsm_map_ms_bearerServiceList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BearerServiceList },
11811 { &hf_gsm_map_ms_teleserviceList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TeleserviceList },
11812 { &hf_gsm_map_ms_provisionedSS, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_SS_InfoList },
11813 { &hf_gsm_map_ms_odb_Data , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Data },
11814 { &hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11815 { &hf_gsm_map_ms_regionalSubscriptionData, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ZoneCodeList },
11816 { &hf_gsm_map_ms_vbsSubscriptionData, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VBSDataList },
11817 { &hf_gsm_map_ms_vgcsSubscriptionData, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VGCSDataList },
11818 { &hf_gsm_map_ms_vlrCamelSubscriptionInfo, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VlrCamelSubscriptionInfo },
11819 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11820 { &hf_gsm_map_ms_naea_PreferredCI, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NAEA_PreferredCI },
11821 { &hf_gsm_map_ms_gprsSubscriptionData, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRSSubscriptionData },
11822 { &hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsupportedFeature, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11823 { &hf_gsm_map_ms_networkAccessMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NetworkAccessMode },
11824 { &hf_gsm_map_ms_lsaInformation, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAInformation },
11825 { &hf_gsm_map_ms_lmu_Indicator, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11826 { &hf_gsm_map_ms_lcsInformation, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCSInformation },
11827 { &hf_gsm_map_ms_istAlertTimer, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_AlertTimerValue },
11828 { &hf_gsm_map_ms_superChargerSupportedInHLR, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AgeIndicator },
11829 { &hf_gsm_map_ms_mc_SS_Info, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_SS_Info },
11830 { &hf_gsm_map_ms_cs_AllocationRetentionPriority, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CS_AllocationRetentionPriority },
11831 { &hf_gsm_map_ms_sgsn_CAMEL_SubscriptionInfo, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo },
11832 { &hf_gsm_map_ms_chargingCharacteristics, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChargingCharacteristics },
11833 { &hf_gsm_map_ms_accessRestrictionData, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AccessRestrictionData },
11834 { &hf_gsm_map_ms_ics_Indicator, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BOOLEAN },
11835 { &hf_gsm_map_ms_eps_SubscriptionData, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EPS_SubscriptionData },
11836 { &hf_gsm_map_ms_csg_SubscriptionDataList, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CSG_SubscriptionDataList },
11837 { &hf_gsm_map_ms_ue_ReachabilityRequestIndicator, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11838 { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
11839 { &hf_gsm_map_ms_mme_Name , BER_CLASS_CON, 35, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
11840 { &hf_gsm_map_ms_subscribedPeriodicRAUTAUtimer, BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscribedPeriodicRAUTAUtimer },
11841 { &hf_gsm_map_ms_vplmnLIPAAllowed, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11842 { &hf_gsm_map_ms_mdtUserConsent, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BOOLEAN },
11843 { &hf_gsm_map_ms_subscribedPeriodicLAUtimer, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscribedPeriodicLAUtimer },
11844 { &hf_gsm_map_ms_vplmn_Csg_SubscriptionDataList, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VPLMN_CSG_SubscriptionDataList },
11845 { &hf_gsm_map_ms_additionalMSISDN, BER_CLASS_CON, 41, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
11846 { &hf_gsm_map_ms_psAndSMS_OnlyServiceProvision, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11847 { &hf_gsm_map_ms_smsInSGSNAllowed, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11848 { NULL, 0, 0, 0, NULL }
11851 static int
11852 dissect_gsm_map_ms_InsertSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11853 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11854 gsm_map_ms_InsertSubscriberDataArg_sequence, hf_index, ett_gsm_map_ms_InsertSubscriberDataArg);
11856 return offset;
11860 static const ber_sequence_t gsm_map_ms_SubscriberData_sequence[] = {
11861 { &hf_gsm_map_ms_msisdn , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
11862 { &hf_gsm_map_ms_category , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Category },
11863 { &hf_gsm_map_ms_subscriberStatus, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscriberStatus },
11864 { &hf_gsm_map_ms_bearerServiceList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BearerServiceList },
11865 { &hf_gsm_map_ms_teleserviceList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TeleserviceList },
11866 { &hf_gsm_map_ms_provisionedSS, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_SS_InfoList },
11867 { &hf_gsm_map_ms_odb_Data , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Data },
11868 { &hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11869 { &hf_gsm_map_ms_regionalSubscriptionData, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ZoneCodeList },
11870 { &hf_gsm_map_ms_vbsSubscriptionData, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VBSDataList },
11871 { &hf_gsm_map_ms_vgcsSubscriptionData, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VGCSDataList },
11872 { &hf_gsm_map_ms_vlrCamelSubscriptionInfo, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VlrCamelSubscriptionInfo },
11873 { NULL, 0, 0, 0, NULL }
11876 static int
11877 dissect_gsm_map_ms_SubscriberData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11878 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11879 gsm_map_ms_SubscriberData_sequence, hf_index, ett_gsm_map_ms_SubscriberData);
11881 return offset;
11885 static const value_string gsm_map_ms_RegionalSubscriptionResponse_vals[] = {
11886 { 0, "networkNode-AreaRestricted" },
11887 { 1, "tooManyZoneCodes" },
11888 { 2, "zoneCodesConflict" },
11889 { 3, "regionalSubscNotSupported" },
11890 { 0, NULL }
11894 static int
11895 dissect_gsm_map_ms_RegionalSubscriptionResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11896 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11897 NULL);
11899 return offset;
11903 static const ber_sequence_t gsm_map_ms_InsertSubscriberDataRes_sequence[] = {
11904 { &hf_gsm_map_ms_teleserviceList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TeleserviceList },
11905 { &hf_gsm_map_ms_bearerServiceList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BearerServiceList },
11906 { &hf_gsm_map_ms_ss_List , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_List },
11907 { &hf_gsm_map_ms_odb_GeneralData, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_GeneralData },
11908 { &hf_gsm_map_ms_regionalSubscriptionResponse, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RegionalSubscriptionResponse },
11909 { &hf_gsm_map_ms_supportedCamelPhases, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
11910 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11911 { &hf_gsm_map_ms_offeredCamel4CSIs, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
11912 { &hf_gsm_map_ms_supportedFeatures, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedFeatures },
11913 { NULL, 0, 0, 0, NULL }
11916 static int
11917 dissect_gsm_map_ms_InsertSubscriberDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11918 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11919 gsm_map_ms_InsertSubscriberDataRes_sequence, hf_index, ett_gsm_map_ms_InsertSubscriberDataRes);
11921 return offset;
11925 static const ber_sequence_t gsm_map_ms_BasicServiceList_sequence_of[1] = {
11926 { &hf_gsm_map_ms_BasicServiceList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode },
11929 static int
11930 dissect_gsm_map_ms_BasicServiceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11931 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11932 gsm_map_ms_BasicServiceList_sequence_of, hf_index, ett_gsm_map_ms_BasicServiceList);
11934 return offset;
11938 static const ber_sequence_t gsm_map_ms_ContextIdList_sequence_of[1] = {
11939 { &hf_gsm_map_ms_ContextIdList_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ContextId },
11942 static int
11943 dissect_gsm_map_ms_ContextIdList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11944 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11945 gsm_map_ms_ContextIdList_sequence_of, hf_index, ett_gsm_map_ms_ContextIdList);
11947 return offset;
11951 static const value_string gsm_map_ms_GPRSSubscriptionDataWithdraw_vals[] = {
11952 { 0, "allGPRSData" },
11953 { 1, "contextIdList" },
11954 { 0, NULL }
11957 static const ber_choice_t gsm_map_ms_GPRSSubscriptionDataWithdraw_choice[] = {
11958 { 0, &hf_gsm_map_ms_allGPRSData, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
11959 { 1, &hf_gsm_map_ms_contextIdList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ContextIdList },
11960 { 0, NULL, 0, 0, 0, NULL }
11963 static int
11964 dissect_gsm_map_ms_GPRSSubscriptionDataWithdraw(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11965 offset = dissect_ber_choice(actx, tree, tvb, offset,
11966 gsm_map_ms_GPRSSubscriptionDataWithdraw_choice, hf_index, ett_gsm_map_ms_GPRSSubscriptionDataWithdraw,
11967 NULL);
11969 return offset;
11973 static const ber_sequence_t gsm_map_ms_LSAIdentityList_sequence_of[1] = {
11974 { &hf_gsm_map_ms_LSAIdentityList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_LSAIdentity },
11977 static int
11978 dissect_gsm_map_ms_LSAIdentityList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11979 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11980 gsm_map_ms_LSAIdentityList_sequence_of, hf_index, ett_gsm_map_ms_LSAIdentityList);
11982 return offset;
11986 static const value_string gsm_map_ms_LSAInformationWithdraw_vals[] = {
11987 { 0, "allLSAData" },
11988 { 1, "lsaIdentityList" },
11989 { 0, NULL }
11992 static const ber_choice_t gsm_map_ms_LSAInformationWithdraw_choice[] = {
11993 { 0, &hf_gsm_map_ms_allLSAData, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
11994 { 1, &hf_gsm_map_ms_lsaIdentityList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_LSAIdentityList },
11995 { 0, NULL, 0, 0, 0, NULL }
11998 static int
11999 dissect_gsm_map_ms_LSAInformationWithdraw(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12000 offset = dissect_ber_choice(actx, tree, tvb, offset,
12001 gsm_map_ms_LSAInformationWithdraw_choice, hf_index, ett_gsm_map_ms_LSAInformationWithdraw,
12002 NULL);
12004 return offset;
12008 static const asn_namedbit gsm_map_ms_SpecificCSI_Withdraw_bits[] = {
12009 { 0, &hf_gsm_map_ms_SpecificCSI_Withdraw_o_csi, -1, -1, "o-csi", NULL },
12010 { 1, &hf_gsm_map_ms_SpecificCSI_Withdraw_ss_csi, -1, -1, "ss-csi", NULL },
12011 { 2, &hf_gsm_map_ms_SpecificCSI_Withdraw_tif_csi, -1, -1, "tif-csi", NULL },
12012 { 3, &hf_gsm_map_ms_SpecificCSI_Withdraw_d_csi, -1, -1, "d-csi", NULL },
12013 { 4, &hf_gsm_map_ms_SpecificCSI_Withdraw_vt_csi, -1, -1, "vt-csi", NULL },
12014 { 5, &hf_gsm_map_ms_SpecificCSI_Withdraw_mo_sms_csi, -1, -1, "mo-sms-csi", NULL },
12015 { 6, &hf_gsm_map_ms_SpecificCSI_Withdraw_m_csi, -1, -1, "m-csi", NULL },
12016 { 7, &hf_gsm_map_ms_SpecificCSI_Withdraw_gprs_csi, -1, -1, "gprs-csi", NULL },
12017 { 8, &hf_gsm_map_ms_SpecificCSI_Withdraw_t_csi, -1, -1, "t-csi", NULL },
12018 { 9, &hf_gsm_map_ms_SpecificCSI_Withdraw_mt_sms_csi, -1, -1, "mt-sms-csi", NULL },
12019 { 10, &hf_gsm_map_ms_SpecificCSI_Withdraw_mg_csi, -1, -1, "mg-csi", NULL },
12020 { 11, &hf_gsm_map_ms_SpecificCSI_Withdraw_o_IM_CSI, -1, -1, "o-IM-CSI", NULL },
12021 { 12, &hf_gsm_map_ms_SpecificCSI_Withdraw_d_IM_CSI, -1, -1, "d-IM-CSI", NULL },
12022 { 13, &hf_gsm_map_ms_SpecificCSI_Withdraw_vt_IM_CSI, -1, -1, "vt-IM-CSI", NULL },
12023 { 0, NULL, 0, 0, NULL, NULL }
12026 static int
12027 dissect_gsm_map_ms_SpecificCSI_Withdraw(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12028 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
12029 gsm_map_ms_SpecificCSI_Withdraw_bits, hf_index, ett_gsm_map_ms_SpecificCSI_Withdraw,
12030 NULL);
12032 return offset;
12036 static const value_string gsm_map_ms_EPS_SubscriptionDataWithdraw_vals[] = {
12037 { 0, "allEPS-Data" },
12038 { 1, "contextIdList" },
12039 { 0, NULL }
12042 static const ber_choice_t gsm_map_ms_EPS_SubscriptionDataWithdraw_choice[] = {
12043 { 0, &hf_gsm_map_ms_allEPS_Data, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
12044 { 1, &hf_gsm_map_ms_contextIdList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ContextIdList },
12045 { 0, NULL, 0, 0, 0, NULL }
12048 static int
12049 dissect_gsm_map_ms_EPS_SubscriptionDataWithdraw(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12050 offset = dissect_ber_choice(actx, tree, tvb, offset,
12051 gsm_map_ms_EPS_SubscriptionDataWithdraw_choice, hf_index, ett_gsm_map_ms_EPS_SubscriptionDataWithdraw,
12052 NULL);
12054 return offset;
12058 static const ber_sequence_t gsm_map_ms_DeleteSubscriberDataArg_sequence[] = {
12059 { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
12060 { &hf_gsm_map_ms_basicServiceList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BasicServiceList },
12061 { &hf_gsm_map_ms_ss_List , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_List },
12062 { &hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12063 { &hf_gsm_map_ms_regionalSubscriptionIdentifier, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ZoneCode },
12064 { &hf_gsm_map_ms_vbsGroupIndication, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12065 { &hf_gsm_map_ms_vgcsGroupIndication, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12066 { &hf_gsm_map_ms_camelSubscriptionInfoWithdraw, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12067 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12068 { &hf_gsm_map_ms_gprsSubscriptionDataWithdraw, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_GPRSSubscriptionDataWithdraw },
12069 { &hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsuppportedFeature, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12070 { &hf_gsm_map_ms_lsaInformationWithdraw, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_LSAInformationWithdraw },
12071 { &hf_gsm_map_ms_gmlc_ListWithdraw, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12072 { &hf_gsm_map_ms_istInformationWithdraw, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12073 { &hf_gsm_map_ms_specificCSI_Withdraw, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SpecificCSI_Withdraw },
12074 { &hf_gsm_map_ms_chargingCharacteristicsWithdraw, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12075 { &hf_gsm_map_ms_stn_srWithdraw, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12076 { &hf_gsm_map_ms_epsSubscriptionDataWithdraw, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_EPS_SubscriptionDataWithdraw },
12077 { &hf_gsm_map_ms_apn_oi_replacementWithdraw, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12078 { &hf_gsm_map_ms_csg_SubscriptionDeleted, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12079 { &hf_gsm_map_ms_subscribedPeriodicTAU_RAU_TimerWithdraw, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12080 { &hf_gsm_map_ms_subscribedPeriodicLAU_TimerWithdraw, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12081 { &hf_gsm_map_ms_subscribed_vsrvccWithdraw, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12082 { &hf_gsm_map_ms_vplmn_Csg_SubscriptionDeleted, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12083 { &hf_gsm_map_ms_additionalMSISDN_Withdraw, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12084 { NULL, 0, 0, 0, NULL }
12087 static int
12088 dissect_gsm_map_ms_DeleteSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12089 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12090 gsm_map_ms_DeleteSubscriberDataArg_sequence, hf_index, ett_gsm_map_ms_DeleteSubscriberDataArg);
12092 return offset;
12096 static const ber_sequence_t gsm_map_ms_DeleteSubscriberDataRes_sequence[] = {
12097 { &hf_gsm_map_ms_regionalSubscriptionResponse, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RegionalSubscriptionResponse },
12098 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
12099 { NULL, 0, 0, 0, NULL }
12102 static int
12103 dissect_gsm_map_ms_DeleteSubscriberDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12104 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12105 gsm_map_ms_DeleteSubscriberDataRes_sequence, hf_index, ett_gsm_map_ms_DeleteSubscriberDataRes);
12107 return offset;
12111 static const asn_namedbit gsm_map_ms_OfferedCamel4Functionalities_bits[] = {
12112 { 0, &hf_gsm_map_ms_OfferedCamel4Functionalities_initiateCallAttempt, -1, -1, "initiateCallAttempt", NULL },
12113 { 1, &hf_gsm_map_ms_OfferedCamel4Functionalities_splitLeg, -1, -1, "splitLeg", NULL },
12114 { 2, &hf_gsm_map_ms_OfferedCamel4Functionalities_moveLeg, -1, -1, "moveLeg", NULL },
12115 { 3, &hf_gsm_map_ms_OfferedCamel4Functionalities_disconnectLeg, -1, -1, "disconnectLeg", NULL },
12116 { 4, &hf_gsm_map_ms_OfferedCamel4Functionalities_entityReleased, -1, -1, "entityReleased", NULL },
12117 { 5, &hf_gsm_map_ms_OfferedCamel4Functionalities_dfc_WithArgument, -1, -1, "dfc-WithArgument", NULL },
12118 { 6, &hf_gsm_map_ms_OfferedCamel4Functionalities_playTone, -1, -1, "playTone", NULL },
12119 { 7, &hf_gsm_map_ms_OfferedCamel4Functionalities_dtmf_MidCall, -1, -1, "dtmf-MidCall", NULL },
12120 { 8, &hf_gsm_map_ms_OfferedCamel4Functionalities_chargingIndicator, -1, -1, "chargingIndicator", NULL },
12121 { 9, &hf_gsm_map_ms_OfferedCamel4Functionalities_alertingDP, -1, -1, "alertingDP", NULL },
12122 { 10, &hf_gsm_map_ms_OfferedCamel4Functionalities_locationAtAlerting, -1, -1, "locationAtAlerting", NULL },
12123 { 11, &hf_gsm_map_ms_OfferedCamel4Functionalities_changeOfPositionDP, -1, -1, "changeOfPositionDP", NULL },
12124 { 12, &hf_gsm_map_ms_OfferedCamel4Functionalities_or_Interactions, -1, -1, "or-Interactions", NULL },
12125 { 13, &hf_gsm_map_ms_OfferedCamel4Functionalities_warningToneEnhancements, -1, -1, "warningToneEnhancements", NULL },
12126 { 14, &hf_gsm_map_ms_OfferedCamel4Functionalities_cf_Enhancements, -1, -1, "cf-Enhancements", NULL },
12127 { 15, &hf_gsm_map_ms_OfferedCamel4Functionalities_subscribedEnhancedDialledServices, -1, -1, "subscribedEnhancedDialledServices", NULL },
12128 { 16, &hf_gsm_map_ms_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices, -1, -1, "servingNetworkEnhancedDialledServices", NULL },
12129 { 17, &hf_gsm_map_ms_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP, -1, -1, "criteriaForChangeOfPositionDP", NULL },
12130 { 18, &hf_gsm_map_ms_OfferedCamel4Functionalities_serviceChangeDP, -1, -1, "serviceChangeDP", NULL },
12131 { 19, &hf_gsm_map_ms_OfferedCamel4Functionalities_collectInformation, -1, -1, "collectInformation", NULL },
12132 { 0, NULL, 0, 0, NULL, NULL }
12136 dissect_gsm_map_ms_OfferedCamel4Functionalities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12137 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
12138 gsm_map_ms_OfferedCamel4Functionalities_bits, hf_index, ett_gsm_map_ms_OfferedCamel4Functionalities,
12139 NULL);
12141 return offset;
12145 static const ber_sequence_t gsm_map_ms_SendRoutingInfoForGprsArg_sequence[] = {
12146 { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
12147 { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
12148 { &hf_gsm_map_ms_ggsn_Number, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
12149 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12150 { NULL, 0, 0, 0, NULL }
12153 static int
12154 dissect_gsm_map_ms_SendRoutingInfoForGprsArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12155 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12156 gsm_map_ms_SendRoutingInfoForGprsArg_sequence, hf_index, ett_gsm_map_ms_SendRoutingInfoForGprsArg);
12158 return offset;
12162 static const ber_sequence_t gsm_map_ms_SendRoutingInfoForGprsRes_sequence[] = {
12163 { &hf_gsm_map_ms_sgsn_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
12164 { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
12165 { &hf_gsm_map_ms_mobileNotReachableReason, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
12166 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12167 { NULL, 0, 0, 0, NULL }
12170 static int
12171 dissect_gsm_map_ms_SendRoutingInfoForGprsRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12172 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12173 gsm_map_ms_SendRoutingInfoForGprsRes_sequence, hf_index, ett_gsm_map_ms_SendRoutingInfoForGprsRes);
12175 return offset;
12179 static const ber_sequence_t gsm_map_ms_FailureReportArg_sequence[] = {
12180 { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
12181 { &hf_gsm_map_ms_ggsn_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
12182 { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
12183 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12184 { NULL, 0, 0, 0, NULL }
12187 static int
12188 dissect_gsm_map_ms_FailureReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12189 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12190 gsm_map_ms_FailureReportArg_sequence, hf_index, ett_gsm_map_ms_FailureReportArg);
12192 return offset;
12196 static const ber_sequence_t gsm_map_ms_FailureReportRes_sequence[] = {
12197 { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
12198 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12199 { NULL, 0, 0, 0, NULL }
12202 static int
12203 dissect_gsm_map_ms_FailureReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12204 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12205 gsm_map_ms_FailureReportRes_sequence, hf_index, ett_gsm_map_ms_FailureReportRes);
12207 return offset;
12211 static const ber_sequence_t gsm_map_ms_NoteMsPresentForGprsArg_sequence[] = {
12212 { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
12213 { &hf_gsm_map_ms_sgsn_Address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
12214 { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
12215 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12216 { NULL, 0, 0, 0, NULL }
12219 static int
12220 dissect_gsm_map_ms_NoteMsPresentForGprsArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12221 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12222 gsm_map_ms_NoteMsPresentForGprsArg_sequence, hf_index, ett_gsm_map_ms_NoteMsPresentForGprsArg);
12224 return offset;
12228 static const ber_sequence_t gsm_map_ms_NoteMsPresentForGprsRes_sequence[] = {
12229 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12230 { NULL, 0, 0, 0, NULL }
12233 static int
12234 dissect_gsm_map_ms_NoteMsPresentForGprsRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12235 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12236 gsm_map_ms_NoteMsPresentForGprsRes_sequence, hf_index, ett_gsm_map_ms_NoteMsPresentForGprsRes);
12238 return offset;
12242 static const value_string gsm_map_ms_SendingNode_Number_vals[] = {
12243 { 0, "hlr-Number" },
12244 { 1, "css-Number" },
12245 { 0, NULL }
12248 static const ber_choice_t gsm_map_ms_SendingNode_Number_choice[] = {
12249 { 0, &hf_gsm_map_ms_hlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
12250 { 1, &hf_gsm_map_ms_css_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
12251 { 0, NULL, 0, 0, 0, NULL }
12254 static int
12255 dissect_gsm_map_ms_SendingNode_Number(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12256 offset = dissect_ber_choice(actx, tree, tvb, offset,
12257 gsm_map_ms_SendingNode_Number_choice, hf_index, ett_gsm_map_ms_SendingNode_Number,
12258 NULL);
12260 return offset;
12264 static const ber_sequence_t gsm_map_ms_ResetArg_sequence[] = {
12265 { &hf_gsm_map_ms_sendingNodenumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_SendingNode_Number },
12266 { &hf_gsm_map_ms_hlr_List , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_HLR_List },
12267 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12268 { NULL, 0, 0, 0, NULL }
12271 static int
12272 dissect_gsm_map_ms_ResetArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12273 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12274 gsm_map_ms_ResetArg_sequence, hf_index, ett_gsm_map_ms_ResetArg);
12276 return offset;
12280 static const ber_sequence_t gsm_map_ms_RestoreDataArg_sequence[] = {
12281 { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
12282 { &hf_gsm_map_ms_lmsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_LMSI },
12283 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
12284 { &hf_gsm_map_ms_vlr_Capability, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VLR_Capability },
12285 { &hf_gsm_map_ms_restorationIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12286 { NULL, 0, 0, 0, NULL }
12289 static int
12290 dissect_gsm_map_ms_RestoreDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12291 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12292 gsm_map_ms_RestoreDataArg_sequence, hf_index, ett_gsm_map_ms_RestoreDataArg);
12294 return offset;
12298 static const ber_sequence_t gsm_map_ms_RestoreDataRes_sequence[] = {
12299 { &hf_gsm_map_ms_hlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
12300 { &hf_gsm_map_ms_msNotReachable, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
12301 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
12302 { NULL, 0, 0, 0, NULL }
12305 static int
12306 dissect_gsm_map_ms_RestoreDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12307 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12308 gsm_map_ms_RestoreDataRes_sequence, hf_index, ett_gsm_map_ms_RestoreDataRes);
12310 return offset;
12314 static const value_string gsm_map_ms_DomainType_vals[] = {
12315 { 0, "cs-Domain" },
12316 { 1, "ps-Domain" },
12317 { 0, NULL }
12321 static int
12322 dissect_gsm_map_ms_DomainType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12323 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12324 NULL);
12326 return offset;
12330 static const asn_namedbit gsm_map_ms_RequestedNodes_bits[] = {
12331 { 0, &hf_gsm_map_ms_RequestedNodes_mme, -1, -1, "mme", NULL },
12332 { 1, &hf_gsm_map_ms_RequestedNodes_sgsn, -1, -1, "sgsn", NULL },
12333 { 0, NULL, 0, 0, NULL, NULL }
12336 static int
12337 dissect_gsm_map_ms_RequestedNodes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12338 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
12339 gsm_map_ms_RequestedNodes_bits, hf_index, ett_gsm_map_ms_RequestedNodes,
12340 NULL);
12342 return offset;
12346 static const ber_sequence_t gsm_map_ms_RequestedInfo_sequence[] = {
12347 { &hf_gsm_map_ms_locationInformation_01, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12348 { &hf_gsm_map_ms_subscriberState_01, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12349 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12350 { &hf_gsm_map_ms_currentLocation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12351 { &hf_gsm_map_ms_requestedDomain, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DomainType },
12352 { &hf_gsm_map_ms_imei_01 , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12353 { &hf_gsm_map_ms_ms_classmark, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12354 { &hf_gsm_map_ms_mnpRequestedInfo, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12355 { &hf_gsm_map_ms_locationInformationEPS_Supported, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12356 { &hf_gsm_map_ms_t_adsData, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12357 { &hf_gsm_map_ms_requestedNodes, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedNodes },
12358 { &hf_gsm_map_ms_servingNodeIndication, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12359 { &hf_gsm_map_ms_localTimeZoneRequest, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12360 { NULL, 0, 0, 0, NULL }
12363 static int
12364 dissect_gsm_map_ms_RequestedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12365 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12366 gsm_map_ms_RequestedInfo_sequence, hf_index, ett_gsm_map_ms_RequestedInfo);
12368 return offset;
12372 static const ber_sequence_t gsm_map_ms_ProvideSubscriberInfoArg_sequence[] = {
12373 { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
12374 { &hf_gsm_map_ms_lmsi , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
12375 { &hf_gsm_map_ms_requestedInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedInfo },
12376 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12377 { &hf_gsm_map_ms_callPriority, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority },
12378 { NULL, 0, 0, 0, NULL }
12381 static int
12382 dissect_gsm_map_ms_ProvideSubscriberInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12383 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12384 gsm_map_ms_ProvideSubscriberInfoArg_sequence, hf_index, ett_gsm_map_ms_ProvideSubscriberInfoArg);
12386 return offset;
12392 dissect_gsm_map_ms_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12393 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12394 NULL);
12396 return offset;
12401 static int
12402 dissect_gsm_map_ms_LocationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12403 #line 899 "../../asn1/gsm_map/gsm_map.cnf"
12404 tvbuff_t *parameter_tvb;
12405 proto_tree *subtree;
12406 const char *digit_str;
12407 guint8 na;
12408 guint8 np;
12409 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12410 &parameter_tvb);
12412 if (!parameter_tvb)
12413 return offset;
12415 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LocationNumber);
12417 proto_tree_add_item(subtree, hf_gsm_map_locationnumber_odd_even, tvb, 0, 1, ENC_BIG_ENDIAN);
12418 na = tvb_get_guint8(tvb,0) & 0x7f;
12419 proto_tree_add_item(subtree, hf_gsm_map_locationnumber_nai, tvb, 0, 1, ENC_BIG_ENDIAN);
12421 proto_tree_add_item(subtree, hf_gsm_map_locationnumber_inn, tvb, 1, 1, ENC_BIG_ENDIAN);
12422 np = (tvb_get_guint8(tvb,1) & 0x70) >> 4;
12423 proto_tree_add_item(subtree, hf_gsm_map_locationnumber_npi, tvb, 1, 1, ENC_BIG_ENDIAN);
12424 proto_tree_add_item(subtree, hf_gsm_map_locationnumber_apri, tvb, 1, 1, ENC_BIG_ENDIAN);
12425 proto_tree_add_item(subtree, hf_gsm_map_locationnumber_screening_ind, tvb, 1, 1, ENC_BIG_ENDIAN);
12427 digit_str = unpack_digits(tvb, 1);
12429 proto_tree_add_string(tree, hf_gsm_map_locationnumber_digits, tvb, 1, -1, digit_str);
12431 if ((na == 3) && (np==1))/*International Number & E164*/
12432 dissect_e164_cc(tvb, tree, 1, TRUE);
12436 return offset;
12441 static int
12442 dissect_gsm_map_ms_GeodeticInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12443 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12444 NULL);
12446 return offset;
12450 static const ber_sequence_t gsm_map_ms_LocationInformationEPS_sequence[] = {
12451 { &hf_gsm_map_ms_e_utranCellGlobalIdentity, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_E_UTRAN_CGI },
12452 { &hf_gsm_map_ms_trackingAreaIdentity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_TA_Id },
12453 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12454 { &hf_gsm_map_ms_geographicalInformation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeographicalInformation },
12455 { &hf_gsm_map_ms_geodeticInformation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeodeticInformation },
12456 { &hf_gsm_map_ms_currentLocationRetrieved, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12457 { &hf_gsm_map_ms_ageOfLocationInformation, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation },
12458 { &hf_gsm_map_ms_mme_Name , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
12459 { NULL, 0, 0, 0, NULL }
12462 static int
12463 dissect_gsm_map_ms_LocationInformationEPS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12464 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12465 gsm_map_ms_LocationInformationEPS_sequence, hf_index, ett_gsm_map_ms_LocationInformationEPS);
12467 return offset;
12472 static int
12473 dissect_gsm_map_ms_OCTET_STRING_SIZE_1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12474 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12475 NULL);
12477 return offset;
12481 static const ber_sequence_t gsm_map_ms_UserCSGInformation_sequence[] = {
12482 { &hf_gsm_map_ms_csg_Id , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CSG_Id },
12483 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12484 { &hf_gsm_map_ms_accessMode, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OCTET_STRING_SIZE_1 },
12485 { &hf_gsm_map_ms_cmi , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OCTET_STRING_SIZE_1 },
12486 { NULL, 0, 0, 0, NULL }
12489 static int
12490 dissect_gsm_map_ms_UserCSGInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12491 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12492 gsm_map_ms_UserCSGInformation_sequence, hf_index, ett_gsm_map_ms_UserCSGInformation);
12494 return offset;
12498 static const ber_sequence_t gsm_map_ms_LocationInformation_sequence[] = {
12499 { &hf_gsm_map_ms_ageOfLocationInformation, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_AgeOfLocationInformation },
12500 { &hf_gsm_map_ms_geographicalInformation, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeographicalInformation },
12501 { &hf_gsm_map_ms_vlr_number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
12502 { &hf_gsm_map_ms_locationNumber, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationNumber },
12503 { &hf_gsm_map_ms_cellGlobalIdOrServiceAreaIdOrLAI, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI },
12504 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12505 { &hf_gsm_map_ms_selectedLSA_Id, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAIdentity },
12506 { &hf_gsm_map_ms_msc_Number, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
12507 { &hf_gsm_map_ms_geodeticInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeodeticInformation },
12508 { &hf_gsm_map_ms_currentLocationRetrieved, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12509 { &hf_gsm_map_ms_sai_Present, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12510 { &hf_gsm_map_ms_locationInformationEPS, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformationEPS },
12511 { &hf_gsm_map_ms_userCSGInformation, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UserCSGInformation },
12512 { NULL, 0, 0, 0, NULL }
12516 dissect_gsm_map_ms_LocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12517 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12518 gsm_map_ms_LocationInformation_sequence, hf_index, ett_gsm_map_ms_LocationInformation);
12520 return offset;
12524 static const value_string gsm_map_ms_NotReachableReason_vals[] = {
12525 { 0, "msPurged" },
12526 { 1, "imsiDetached" },
12527 { 2, "restrictedArea" },
12528 { 3, "notRegistered" },
12529 { 0, NULL }
12533 static int
12534 dissect_gsm_map_ms_NotReachableReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12535 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12536 NULL);
12538 return offset;
12542 const value_string gsm_map_ms_SubscriberState_vals[] = {
12543 { 0, "assumedIdle" },
12544 { 1, "camelBusy" },
12545 { 2, "netDetNotReachable" },
12546 { 3, "notProvidedFromVLR" },
12547 { 0, NULL }
12550 static const ber_choice_t gsm_map_ms_SubscriberState_choice[] = {
12551 { 0, &hf_gsm_map_ms_assumedIdle, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12552 { 1, &hf_gsm_map_ms_camelBusy, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12553 { 2, &hf_gsm_map_ms_netDetNotReachable, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NotReachableReason },
12554 { 3, &hf_gsm_map_ms_notProvidedFromVLR, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12555 { 0, NULL, 0, 0, 0, NULL }
12559 dissect_gsm_map_ms_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12560 offset = dissect_ber_choice(actx, tree, tvb, offset,
12561 gsm_map_ms_SubscriberState_choice, hf_index, ett_gsm_map_ms_SubscriberState,
12562 NULL);
12564 return offset;
12568 static const ber_sequence_t gsm_map_ms_LocationInformationGPRS_sequence[] = {
12569 { &hf_gsm_map_ms_cellGlobalIdOrServiceAreaIdOrLAI, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI },
12570 { &hf_gsm_map_ms_routeingAreaIdentity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_RAIdentity },
12571 { &hf_gsm_map_ms_geographicalInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeographicalInformation },
12572 { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
12573 { &hf_gsm_map_ms_selectedLSAIdentity, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAIdentity },
12574 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12575 { &hf_gsm_map_ms_sai_Present, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12576 { &hf_gsm_map_ms_geodeticInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeodeticInformation },
12577 { &hf_gsm_map_ms_currentLocationRetrieved, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12578 { &hf_gsm_map_ms_ageOfLocationInformation, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation },
12579 { &hf_gsm_map_ms_userCSGInformation, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UserCSGInformation },
12580 { NULL, 0, 0, 0, NULL }
12583 static int
12584 dissect_gsm_map_ms_LocationInformationGPRS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12585 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12586 gsm_map_ms_LocationInformationGPRS_sequence, hf_index, ett_gsm_map_ms_LocationInformationGPRS);
12588 return offset;
12593 static int
12594 dissect_gsm_map_ms_NSAPI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12595 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12596 NULL);
12598 return offset;
12603 static int
12604 dissect_gsm_map_ms_TransactionId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12605 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12606 NULL);
12608 return offset;
12613 static int
12614 dissect_gsm_map_ms_TEID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12615 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12616 NULL);
12618 return offset;
12624 dissect_gsm_map_ms_GPRSChargingID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12625 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12626 NULL);
12628 return offset;
12632 static const ber_sequence_t gsm_map_ms_PDP_ContextInfo_sequence[] = {
12633 { &hf_gsm_map_ms_pdp_ContextIdentifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ContextId },
12634 { &hf_gsm_map_ms_pdp_ContextActive, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12635 { &hf_gsm_map_ms_pdp_Type , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Type },
12636 { &hf_gsm_map_ms_pdp_Address, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
12637 { &hf_gsm_map_ms_apn_Subscribed, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN },
12638 { &hf_gsm_map_ms_apn_InUse, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN },
12639 { &hf_gsm_map_ms_nsapi , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NSAPI },
12640 { &hf_gsm_map_ms_transactionId, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TransactionId },
12641 { &hf_gsm_map_ms_teid_ForGnAndGp, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TEID },
12642 { &hf_gsm_map_ms_teid_ForIu, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TEID },
12643 { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
12644 { &hf_gsm_map_ms_qos_Subscribed_01, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_QoS_Subscribed },
12645 { &hf_gsm_map_ms_qos_Requested, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_QoS_Subscribed },
12646 { &hf_gsm_map_ms_qos_Negotiated, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_QoS_Subscribed },
12647 { &hf_gsm_map_ms_chargingId, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRSChargingID },
12648 { &hf_gsm_map_ms_chargingCharacteristics, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChargingCharacteristics },
12649 { &hf_gsm_map_ms_rnc_Address, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
12650 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12651 { &hf_gsm_map_ms_qos2_Subscribed, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext2_QoS_Subscribed },
12652 { &hf_gsm_map_ms_qos2_Requested, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext2_QoS_Subscribed },
12653 { &hf_gsm_map_ms_qos2_Negotiated, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext2_QoS_Subscribed },
12654 { &hf_gsm_map_ms_qos3_Subscribed, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext3_QoS_Subscribed },
12655 { &hf_gsm_map_ms_qos3_Requested, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext3_QoS_Subscribed },
12656 { &hf_gsm_map_ms_qos3_Negotiated, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext3_QoS_Subscribed },
12657 { &hf_gsm_map_ms_qos4_Subscribed, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext4_QoS_Subscribed },
12658 { &hf_gsm_map_ms_qos4_Requested, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext4_QoS_Subscribed },
12659 { &hf_gsm_map_ms_qos4_Negotiated, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext4_QoS_Subscribed },
12660 { &hf_gsm_map_ms_ext_pdp_Type, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_PDP_Type },
12661 { &hf_gsm_map_ms_ext_pdp_Address, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
12662 { NULL, 0, 0, 0, NULL }
12665 static int
12666 dissect_gsm_map_ms_PDP_ContextInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12667 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12668 gsm_map_ms_PDP_ContextInfo_sequence, hf_index, ett_gsm_map_ms_PDP_ContextInfo);
12670 return offset;
12674 static const ber_sequence_t gsm_map_ms_PDP_ContextInfoList_sequence_of[1] = {
12675 { &hf_gsm_map_ms_PDP_ContextInfoList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_PDP_ContextInfo },
12678 static int
12679 dissect_gsm_map_ms_PDP_ContextInfoList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12680 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12681 gsm_map_ms_PDP_ContextInfoList_sequence_of, hf_index, ett_gsm_map_ms_PDP_ContextInfoList);
12683 return offset;
12687 static const value_string gsm_map_ms_PS_SubscriberState_vals[] = {
12688 { 0, "notProvidedFromSGSNorMME" },
12689 { 1, "ps-Detached" },
12690 { 2, "ps-AttachedNotReachableForPaging" },
12691 { 3, "ps-AttachedReachableForPaging" },
12692 { 4, "ps-PDP-ActiveNotReachableForPaging" },
12693 { 5, "ps-PDP-ActiveReachableForPaging" },
12694 { 6, "netDetNotReachable" },
12695 { 0, NULL }
12698 static const ber_choice_t gsm_map_ms_PS_SubscriberState_choice[] = {
12699 { 0, &hf_gsm_map_ms_notProvidedFromSGSNorMME, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12700 { 1, &hf_gsm_map_ms_ps_Detached, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12701 { 2, &hf_gsm_map_ms_ps_AttachedNotReachableForPaging, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12702 { 3, &hf_gsm_map_ms_ps_AttachedReachableForPaging, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12703 { 4, &hf_gsm_map_ms_ps_PDP_ActiveNotReachableForPaging, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_ContextInfoList },
12704 { 5, &hf_gsm_map_ms_ps_PDP_ActiveReachableForPaging, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_ContextInfoList },
12705 { 6, &hf_gsm_map_ms_netDetNotReachable, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NotReachableReason },
12706 { 0, NULL, 0, 0, 0, NULL }
12709 static int
12710 dissect_gsm_map_ms_PS_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12711 offset = dissect_ber_choice(actx, tree, tvb, offset,
12712 gsm_map_ms_PS_SubscriberState_choice, hf_index, ett_gsm_map_ms_PS_SubscriberState,
12713 NULL);
12715 return offset;
12721 dissect_gsm_map_ms_MS_Classmark2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12722 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12723 NULL);
12725 return offset;
12730 static int
12731 dissect_gsm_map_ms_MSNetworkCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12732 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12733 NULL);
12735 return offset;
12740 static int
12741 dissect_gsm_map_ms_MSRadioAccessCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12742 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12743 NULL);
12745 return offset;
12749 static const ber_sequence_t gsm_map_ms_GPRSMSClass_sequence[] = {
12750 { &hf_gsm_map_ms_mSNetworkCapability, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MSNetworkCapability },
12751 { &hf_gsm_map_ms_mSRadioAccessCapability, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MSRadioAccessCapability },
12752 { NULL, 0, 0, 0, NULL }
12756 dissect_gsm_map_ms_GPRSMSClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12757 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12758 gsm_map_ms_GPRSMSClass_sequence, hf_index, ett_gsm_map_ms_GPRSMSClass);
12760 return offset;
12765 static int
12766 dissect_gsm_map_ms_RouteingNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12767 offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
12769 return offset;
12773 static const value_string gsm_map_ms_NumberPortabilityStatus_vals[] = {
12774 { 0, "notKnownToBePorted" },
12775 { 1, "ownNumberPortedOut" },
12776 { 2, "foreignNumberPortedToForeignNetwork" },
12777 { 4, "ownNumberNotPortedOut" },
12778 { 5, "foreignNumberPortedIn" },
12779 { 0, NULL }
12783 static int
12784 dissect_gsm_map_ms_NumberPortabilityStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12785 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12786 NULL);
12788 return offset;
12792 static const ber_sequence_t gsm_map_ms_MNPInfoRes_sequence[] = {
12793 { &hf_gsm_map_ms_routeingNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RouteingNumber },
12794 { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
12795 { &hf_gsm_map_ms_msisdn , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
12796 { &hf_gsm_map_ms_numberPortabilityStatus, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NumberPortabilityStatus },
12797 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12798 { NULL, 0, 0, 0, NULL }
12801 static int
12802 dissect_gsm_map_ms_MNPInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12803 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12804 gsm_map_ms_MNPInfoRes_sequence, hf_index, ett_gsm_map_ms_MNPInfoRes);
12806 return offset;
12810 static const value_string gsm_map_ms_IMS_VoiceOverPS_SessionsInd_vals[] = {
12811 { 0, "imsVoiceOverPS-SessionsNotSupported" },
12812 { 1, "imsVoiceOverPS-SessionsSupported" },
12813 { 2, "unknown" },
12814 { 0, NULL }
12818 static int
12819 dissect_gsm_map_ms_IMS_VoiceOverPS_SessionsInd(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12820 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12821 NULL);
12823 return offset;
12828 static int
12829 dissect_gsm_map_ms_TimeZone(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12830 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12831 NULL);
12833 return offset;
12837 static const value_string gsm_map_ms_DaylightSavingTime_vals[] = {
12838 { 0, "noAdjustment" },
12839 { 1, "plusOneHourAdjustment" },
12840 { 2, "plusTwoHoursAdjustment" },
12841 { 0, NULL }
12845 static int
12846 dissect_gsm_map_ms_DaylightSavingTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12847 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12848 NULL);
12850 return offset;
12854 static const ber_sequence_t gsm_map_ms_SubscriberInfo_sequence[] = {
12855 { &hf_gsm_map_ms_locationInformation, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformation },
12856 { &hf_gsm_map_ms_subscriberState, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_SubscriberState },
12857 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12858 { &hf_gsm_map_ms_locationInformationGPRS, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformationGPRS },
12859 { &hf_gsm_map_ms_ps_SubscriberState, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_PS_SubscriberState },
12860 { &hf_gsm_map_ms_imei , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
12861 { &hf_gsm_map_ms_ms_Classmark2, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MS_Classmark2 },
12862 { &hf_gsm_map_ms_gprs_MS_Class, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRSMSClass },
12863 { &hf_gsm_map_ms_mnpInfoRes, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MNPInfoRes },
12864 { &hf_gsm_map_ms_imsVoiceOverPS_SessionsIndication, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IMS_VoiceOverPS_SessionsInd },
12865 { &hf_gsm_map_ms_lastUE_ActivityTime, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Time },
12866 { &hf_gsm_map_ms_lastRAT_Type, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Used_RAT_Type },
12867 { &hf_gsm_map_ms_eps_SubscriberState, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_PS_SubscriberState },
12868 { &hf_gsm_map_ms_locationInformationEPS, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformationEPS },
12869 { &hf_gsm_map_ms_timeZone , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TimeZone },
12870 { &hf_gsm_map_ms_daylightSavingTime, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DaylightSavingTime },
12871 { NULL, 0, 0, 0, NULL }
12874 static int
12875 dissect_gsm_map_ms_SubscriberInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12876 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12877 gsm_map_ms_SubscriberInfo_sequence, hf_index, ett_gsm_map_ms_SubscriberInfo);
12879 return offset;
12883 static const ber_sequence_t gsm_map_ms_ProvideSubscriberInfoRes_sequence[] = {
12884 { &hf_gsm_map_ms_subscriberInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SubscriberInfo },
12885 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
12886 { NULL, 0, 0, 0, NULL }
12889 static int
12890 dissect_gsm_map_ms_ProvideSubscriberInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12891 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12892 gsm_map_ms_ProvideSubscriberInfoRes_sequence, hf_index, ett_gsm_map_ms_ProvideSubscriberInfoRes);
12894 return offset;
12898 static const ber_sequence_t gsm_map_ms_AnyTimeInterrogationArg_sequence[] = {
12899 { &hf_gsm_map_ms_subscriberIdentity, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity },
12900 { &hf_gsm_map_ms_requestedInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedInfo },
12901 { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
12902 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12903 { NULL, 0, 0, 0, NULL }
12906 static int
12907 dissect_gsm_map_ms_AnyTimeInterrogationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12908 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12909 gsm_map_ms_AnyTimeInterrogationArg_sequence, hf_index, ett_gsm_map_ms_AnyTimeInterrogationArg);
12911 return offset;
12915 static const ber_sequence_t gsm_map_ms_AnyTimeInterrogationRes_sequence[] = {
12916 { &hf_gsm_map_ms_subscriberInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SubscriberInfo },
12917 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
12918 { NULL, 0, 0, 0, NULL }
12921 static int
12922 dissect_gsm_map_ms_AnyTimeInterrogationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12923 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12924 gsm_map_ms_AnyTimeInterrogationRes_sequence, hf_index, ett_gsm_map_ms_AnyTimeInterrogationRes);
12926 return offset;
12930 static const value_string gsm_map_ms_RequestedCAMEL_SubscriptionInfo_vals[] = {
12931 { 0, "o-CSI" },
12932 { 1, "t-CSI" },
12933 { 2, "vt-CSI" },
12934 { 3, "tif-CSI" },
12935 { 4, "gprs-CSI" },
12936 { 5, "mo-sms-CSI" },
12937 { 6, "ss-CSI" },
12938 { 7, "m-CSI" },
12939 { 8, "d-csi" },
12940 { 0, NULL }
12944 static int
12945 dissect_gsm_map_ms_RequestedCAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12946 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12947 NULL);
12949 return offset;
12953 static const value_string gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo_vals[] = {
12954 { 0, "mt-sms-CSI" },
12955 { 1, "mg-csi" },
12956 { 2, "o-IM-CSI" },
12957 { 3, "d-IM-CSI" },
12958 { 4, "vt-IM-CSI" },
12959 { 0, NULL }
12963 static int
12964 dissect_gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12965 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12966 NULL);
12968 return offset;
12972 static const ber_sequence_t gsm_map_ms_RequestedSubscriptionInfo_sequence[] = {
12973 { &hf_gsm_map_ms_requestedSS_Info, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_ForBS_Code },
12974 { &hf_gsm_map_ms_odb , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12975 { &hf_gsm_map_ms_requestedCAMEL_SubscriptionInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedCAMEL_SubscriptionInfo },
12976 { &hf_gsm_map_ms_supportedVLR_CAMEL_Phases_01, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12977 { &hf_gsm_map_ms_supportedSGSN_CAMEL_Phases_01, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12978 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12979 { &hf_gsm_map_ms_additionalRequestedCAMEL_SubscriptionInfo, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo },
12980 { &hf_gsm_map_ms_msisdn_BS_List_01, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12981 { &hf_gsm_map_ms_csg_SubscriptionDataRequested, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12982 { &hf_gsm_map_ms_cw_Info , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12983 { &hf_gsm_map_ms_clip_Info, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12984 { &hf_gsm_map_ms_clir_Info, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12985 { &hf_gsm_map_ms_hold_Info, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12986 { &hf_gsm_map_ms_ect_Info , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12987 { NULL, 0, 0, 0, NULL }
12990 static int
12991 dissect_gsm_map_ms_RequestedSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12992 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12993 gsm_map_ms_RequestedSubscriptionInfo_sequence, hf_index, ett_gsm_map_ms_RequestedSubscriptionInfo);
12995 return offset;
12999 static const ber_sequence_t gsm_map_ms_AnyTimeSubscriptionInterrogationArg_sequence[] = {
13000 { &hf_gsm_map_ms_subscriberIdentity, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity },
13001 { &hf_gsm_map_ms_requestedSubscriptionInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedSubscriptionInfo },
13002 { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13003 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13004 { &hf_gsm_map_ms_longFTN_Supported, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13005 { NULL, 0, 0, 0, NULL }
13008 static int
13009 dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13010 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13011 gsm_map_ms_AnyTimeSubscriptionInterrogationArg_sequence, hf_index, ett_gsm_map_ms_AnyTimeSubscriptionInterrogationArg);
13013 return offset;
13017 static const ber_sequence_t gsm_map_ms_CallForwardingData_sequence[] = {
13018 { &hf_gsm_map_ms_forwardingFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_ForwFeatureList },
13019 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
13020 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13021 { NULL, 0, 0, 0, NULL }
13024 static int
13025 dissect_gsm_map_ms_CallForwardingData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13026 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13027 gsm_map_ms_CallForwardingData_sequence, hf_index, ett_gsm_map_ms_CallForwardingData);
13029 return offset;
13034 static int
13035 dissect_gsm_map_ms_WrongPasswordAttemptsCounter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13036 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13037 NULL);
13039 return offset;
13043 static const ber_sequence_t gsm_map_ms_CallBarringData_sequence[] = {
13044 { &hf_gsm_map_ms_callBarringFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_CallBarFeatureList },
13045 { &hf_gsm_map_ms_password , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_Password },
13046 { &hf_gsm_map_ms_wrongPasswordAttemptsCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_WrongPasswordAttemptsCounter },
13047 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
13048 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
13049 { NULL, 0, 0, 0, NULL }
13052 static int
13053 dissect_gsm_map_ms_CallBarringData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13054 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13055 gsm_map_ms_CallBarringData_sequence, hf_index, ett_gsm_map_ms_CallBarringData);
13057 return offset;
13061 static const ber_sequence_t gsm_map_ms_ODB_Info_sequence[] = {
13062 { &hf_gsm_map_ms_odb_Data , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ODB_Data },
13063 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
13064 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
13065 { NULL, 0, 0, 0, NULL }
13068 static int
13069 dissect_gsm_map_ms_ODB_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13070 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13071 gsm_map_ms_ODB_Info_sequence, hf_index, ett_gsm_map_ms_ODB_Info);
13073 return offset;
13077 static const ber_sequence_t gsm_map_ms_CAMEL_SubscriptionInfo_sequence[] = {
13078 { &hf_gsm_map_ms_o_CSI , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI },
13079 { &hf_gsm_map_ms_o_BcsmCamelTDP_CriteriaList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList },
13080 { &hf_gsm_map_ms_d_CSI , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI },
13081 { &hf_gsm_map_ms_t_CSI , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI },
13082 { &hf_gsm_map_ms_t_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList },
13083 { &hf_gsm_map_ms_vt_CSI , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI },
13084 { &hf_gsm_map_ms_vt_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList },
13085 { &hf_gsm_map_ms_tif_CSI , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13086 { &hf_gsm_map_ms_tif_CSI_NotificationToCSE, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13087 { &hf_gsm_map_ms_gprs_CSI , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRS_CSI },
13088 { &hf_gsm_map_ms_mo_sms_CSI, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI },
13089 { &hf_gsm_map_ms_ss_CSI , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SS_CSI },
13090 { &hf_gsm_map_ms_m_CSI , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_M_CSI },
13091 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13092 { &hf_gsm_map_ms_specificCSIDeletedList, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SpecificCSI_Withdraw },
13093 { &hf_gsm_map_ms_mt_sms_CSI, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI },
13094 { &hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MT_smsCAMELTDP_CriteriaList },
13095 { &hf_gsm_map_ms_mg_csi , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MG_CSI },
13096 { &hf_gsm_map_ms_o_IM_CSI , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI },
13097 { &hf_gsm_map_ms_o_IM_BcsmCamelTDP_CriteriaList, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList },
13098 { &hf_gsm_map_ms_d_IM_CSI , BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI },
13099 { &hf_gsm_map_ms_vt_IM_CSI, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI },
13100 { &hf_gsm_map_ms_vt_IM_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList },
13101 { NULL, 0, 0, 0, NULL }
13104 static int
13105 dissect_gsm_map_ms_CAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13106 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13107 gsm_map_ms_CAMEL_SubscriptionInfo_sequence, hf_index, ett_gsm_map_ms_CAMEL_SubscriptionInfo);
13109 return offset;
13113 static const ber_sequence_t gsm_map_ms_MSISDN_BS_sequence[] = {
13114 { &hf_gsm_map_ms_msisdn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
13115 { &hf_gsm_map_ms_basicServiceList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BasicServiceList },
13116 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13117 { NULL, 0, 0, 0, NULL }
13120 static int
13121 dissect_gsm_map_ms_MSISDN_BS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13122 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13123 gsm_map_ms_MSISDN_BS_sequence, hf_index, ett_gsm_map_ms_MSISDN_BS);
13125 return offset;
13129 static const ber_sequence_t gsm_map_ms_MSISDN_BS_List_sequence_of[1] = {
13130 { &hf_gsm_map_ms_MSISDN_BS_List_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MSISDN_BS },
13133 static int
13134 dissect_gsm_map_ms_MSISDN_BS_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13135 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
13136 gsm_map_ms_MSISDN_BS_List_sequence_of, hf_index, ett_gsm_map_ms_MSISDN_BS_List);
13138 return offset;
13142 static const ber_sequence_t gsm_map_ms_Ext_CwFeature_sequence[] = {
13143 { &hf_gsm_map_ms_basicService, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
13144 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
13145 { NULL, 0, 0, 0, NULL }
13148 static int
13149 dissect_gsm_map_ms_Ext_CwFeature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13150 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13151 gsm_map_ms_Ext_CwFeature_sequence, hf_index, ett_gsm_map_ms_Ext_CwFeature);
13153 return offset;
13157 static const ber_sequence_t gsm_map_ms_Ext_CwFeatureList_sequence_of[1] = {
13158 { &hf_gsm_map_ms_Ext_CwFeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_CwFeature },
13161 static int
13162 dissect_gsm_map_ms_Ext_CwFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13163 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
13164 gsm_map_ms_Ext_CwFeatureList_sequence_of, hf_index, ett_gsm_map_ms_Ext_CwFeatureList);
13166 return offset;
13170 static const ber_sequence_t gsm_map_ms_CallWaitingData_sequence[] = {
13171 { &hf_gsm_map_ms_cwFeatureList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_CwFeatureList },
13172 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13173 { NULL, 0, 0, 0, NULL }
13176 static int
13177 dissect_gsm_map_ms_CallWaitingData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13178 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13179 gsm_map_ms_CallWaitingData_sequence, hf_index, ett_gsm_map_ms_CallWaitingData);
13181 return offset;
13185 static const ber_sequence_t gsm_map_ms_CallHoldData_sequence[] = {
13186 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
13187 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13188 { NULL, 0, 0, 0, NULL }
13191 static int
13192 dissect_gsm_map_ms_CallHoldData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13193 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13194 gsm_map_ms_CallHoldData_sequence, hf_index, ett_gsm_map_ms_CallHoldData);
13196 return offset;
13200 static const ber_sequence_t gsm_map_ms_ClipData_sequence[] = {
13201 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
13202 { &hf_gsm_map_ms_overrideCategory, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_OverrideCategory },
13203 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13204 { NULL, 0, 0, 0, NULL }
13207 static int
13208 dissect_gsm_map_ms_ClipData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13209 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13210 gsm_map_ms_ClipData_sequence, hf_index, ett_gsm_map_ms_ClipData);
13212 return offset;
13216 static const ber_sequence_t gsm_map_ms_ClirData_sequence[] = {
13217 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
13218 { &hf_gsm_map_ms_cliRestrictionOption, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CliRestrictionOption },
13219 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13220 { NULL, 0, 0, 0, NULL }
13223 static int
13224 dissect_gsm_map_ms_ClirData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13225 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13226 gsm_map_ms_ClirData_sequence, hf_index, ett_gsm_map_ms_ClirData);
13228 return offset;
13232 static const ber_sequence_t gsm_map_ms_EctData_sequence[] = {
13233 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
13234 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13235 { NULL, 0, 0, 0, NULL }
13238 static int
13239 dissect_gsm_map_ms_EctData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13240 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13241 gsm_map_ms_EctData_sequence, hf_index, ett_gsm_map_ms_EctData);
13243 return offset;
13247 static const ber_sequence_t gsm_map_ms_AnyTimeSubscriptionInterrogationRes_sequence[] = {
13248 { &hf_gsm_map_ms_callForwardingData, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallForwardingData },
13249 { &hf_gsm_map_ms_callBarringData, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallBarringData },
13250 { &hf_gsm_map_ms_odb_Info , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Info },
13251 { &hf_gsm_map_ms_camel_SubscriptionInfo, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CAMEL_SubscriptionInfo },
13252 { &hf_gsm_map_ms_supportedVLR_CAMEL_Phases, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
13253 { &hf_gsm_map_ms_supportedSGSN_CAMEL_Phases, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
13254 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13255 { &hf_gsm_map_ms_offeredCamel4CSIsInVLR, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
13256 { &hf_gsm_map_ms_offeredCamel4CSIsInSGSN, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
13257 { &hf_gsm_map_ms_msisdn_BS_List, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MSISDN_BS_List },
13258 { &hf_gsm_map_ms_csg_SubscriptionDataList, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CSG_SubscriptionDataList },
13259 { &hf_gsm_map_ms_cw_Data , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallWaitingData },
13260 { &hf_gsm_map_ms_ch_Data , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallHoldData },
13261 { &hf_gsm_map_ms_clip_Data, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ClipData },
13262 { &hf_gsm_map_ms_clir_Data, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ClirData },
13263 { &hf_gsm_map_ms_ect_data , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EctData },
13264 { NULL, 0, 0, 0, NULL }
13267 static int
13268 dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13269 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13270 gsm_map_ms_AnyTimeSubscriptionInterrogationRes_sequence, hf_index, ett_gsm_map_ms_AnyTimeSubscriptionInterrogationRes);
13272 return offset;
13276 static const value_string gsm_map_ms_ModificationInstruction_vals[] = {
13277 { 0, "deactivate" },
13278 { 1, "activate" },
13279 { 0, NULL }
13283 static int
13284 dissect_gsm_map_ms_ModificationInstruction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13285 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13286 NULL);
13288 return offset;
13292 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CF_Info_sequence[] = {
13293 { &hf_gsm_map_ms_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
13294 { &hf_gsm_map_ms_basicService, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
13295 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
13296 { &hf_gsm_map_ms_forwardedToNumber_01, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
13297 { &hf_gsm_map_ms_forwardedToSubaddress, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
13298 { &hf_gsm_map_ms_noReplyConditionTime, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_NoRepCondTime },
13299 { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
13300 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13301 { NULL, 0, 0, 0, NULL }
13304 static int
13305 dissect_gsm_map_ms_ModificationRequestFor_CF_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13306 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13307 gsm_map_ms_ModificationRequestFor_CF_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CF_Info);
13309 return offset;
13313 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CB_Info_sequence[] = {
13314 { &hf_gsm_map_ms_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
13315 { &hf_gsm_map_ms_basicService, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
13316 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
13317 { &hf_gsm_map_ms_password , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_Password },
13318 { &hf_gsm_map_ms_wrongPasswordAttemptsCounter, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_WrongPasswordAttemptsCounter },
13319 { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
13320 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13321 { NULL, 0, 0, 0, NULL }
13324 static int
13325 dissect_gsm_map_ms_ModificationRequestFor_CB_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13326 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13327 gsm_map_ms_ModificationRequestFor_CB_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CB_Info);
13329 return offset;
13333 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CSI_sequence[] = {
13334 { &hf_gsm_map_ms_requestedCamel_SubscriptionInfo, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedCAMEL_SubscriptionInfo },
13335 { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
13336 { &hf_gsm_map_ms_modifyCSI_State, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
13337 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13338 { &hf_gsm_map_ms_additionalRequestedCAMEL_SubscriptionInfo, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo },
13339 { NULL, 0, 0, 0, NULL }
13342 static int
13343 dissect_gsm_map_ms_ModificationRequestFor_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13344 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13345 gsm_map_ms_ModificationRequestFor_CSI_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CSI);
13347 return offset;
13351 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_ODB_data_sequence[] = {
13352 { &hf_gsm_map_ms_odb_data , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Data },
13353 { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
13354 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13355 { NULL, 0, 0, 0, NULL }
13358 static int
13359 dissect_gsm_map_ms_ModificationRequestFor_ODB_data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13360 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13361 gsm_map_ms_ModificationRequestFor_ODB_data_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_ODB_data);
13363 return offset;
13367 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data_sequence[] = {
13368 { &hf_gsm_map_ms_modifyRegistrationStatus, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
13369 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13370 { &hf_gsm_map_ms_ip_sm_gw_DiameterAddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
13371 { NULL, 0, 0, 0, NULL }
13374 static int
13375 dissect_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13376 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13377 gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data);
13379 return offset;
13383 static const asn_namedbit gsm_map_ms_RequestedServingNode_bits[] = {
13384 { 0, &hf_gsm_map_ms_RequestedServingNode_mmeAndSgsn, -1, -1, "mmeAndSgsn", NULL },
13385 { 0, NULL, 0, 0, NULL, NULL }
13388 static int
13389 dissect_gsm_map_ms_RequestedServingNode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13390 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
13391 gsm_map_ms_RequestedServingNode_bits, hf_index, ett_gsm_map_ms_RequestedServingNode,
13392 NULL);
13394 return offset;
13398 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CSG_sequence[] = {
13399 { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
13400 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13401 { NULL, 0, 0, 0, NULL }
13404 static int
13405 dissect_gsm_map_ms_ModificationRequestFor_CSG(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13406 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13407 gsm_map_ms_ModificationRequestFor_CSG_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CSG);
13409 return offset;
13413 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CW_Info_sequence[] = {
13414 { &hf_gsm_map_ms_basicService, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
13415 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
13416 { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
13417 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13418 { NULL, 0, 0, 0, NULL }
13421 static int
13422 dissect_gsm_map_ms_ModificationRequestFor_CW_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13423 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13424 gsm_map_ms_ModificationRequestFor_CW_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CW_Info);
13426 return offset;
13430 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CLIP_Info_sequence[] = {
13431 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
13432 { &hf_gsm_map_ms_overrideCategory, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_OverrideCategory },
13433 { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
13434 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13435 { NULL, 0, 0, 0, NULL }
13438 static int
13439 dissect_gsm_map_ms_ModificationRequestFor_CLIP_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13440 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13441 gsm_map_ms_ModificationRequestFor_CLIP_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CLIP_Info);
13443 return offset;
13447 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CLIR_Info_sequence[] = {
13448 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
13449 { &hf_gsm_map_ms_cliRestrictionOption, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CliRestrictionOption },
13450 { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
13451 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13452 { NULL, 0, 0, 0, NULL }
13455 static int
13456 dissect_gsm_map_ms_ModificationRequestFor_CLIR_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13457 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13458 gsm_map_ms_ModificationRequestFor_CLIR_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CLIR_Info);
13460 return offset;
13464 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CH_Info_sequence[] = {
13465 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
13466 { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
13467 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13468 { NULL, 0, 0, 0, NULL }
13471 static int
13472 dissect_gsm_map_ms_ModificationRequestFor_CH_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13473 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13474 gsm_map_ms_ModificationRequestFor_CH_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CH_Info);
13476 return offset;
13480 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_ECT_Info_sequence[] = {
13481 { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
13482 { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
13483 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13484 { NULL, 0, 0, 0, NULL }
13487 static int
13488 dissect_gsm_map_ms_ModificationRequestFor_ECT_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13489 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13490 gsm_map_ms_ModificationRequestFor_ECT_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_ECT_Info);
13492 return offset;
13496 static const ber_sequence_t gsm_map_ms_AnyTimeModificationArg_sequence[] = {
13497 { &hf_gsm_map_ms_subscriberIdentity, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity },
13498 { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13499 { &hf_gsm_map_ms_modificationRequestFor_CF_Info, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CF_Info },
13500 { &hf_gsm_map_ms_modificationRequestFor_CB_Info, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CB_Info },
13501 { &hf_gsm_map_ms_modificationRequestFor_CSI, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CSI },
13502 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13503 { &hf_gsm_map_ms_longFTN_Supported, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13504 { &hf_gsm_map_ms_modificationRequestFor_ODB_data, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_ODB_data },
13505 { &hf_gsm_map_ms_modificationRequestFor_IP_SM_GW_Data, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data },
13506 { &hf_gsm_map_ms_activationRequestForUE_reachability, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedServingNode },
13507 { &hf_gsm_map_ms_modificationRequestFor_CSG, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CSG },
13508 { &hf_gsm_map_ms_modificationRequestFor_CW_Data, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CW_Info },
13509 { &hf_gsm_map_ms_modificationRequestFor_CLIP_Data, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CLIP_Info },
13510 { &hf_gsm_map_ms_modificationRequestFor_CLIR_Data, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CLIR_Info },
13511 { &hf_gsm_map_ms_modificationRequestFor_HOLD_Data, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CH_Info },
13512 { &hf_gsm_map_ms_modificationRequestFor_ECT_Data, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_ECT_Info },
13513 { NULL, 0, 0, 0, NULL }
13516 static int
13517 dissect_gsm_map_ms_AnyTimeModificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13518 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13519 gsm_map_ms_AnyTimeModificationArg_sequence, hf_index, ett_gsm_map_ms_AnyTimeModificationArg);
13521 return offset;
13525 static const asn_namedbit gsm_map_ms_ServingNode_bits[] = {
13526 { 0, &hf_gsm_map_ms_ServingNode_mme, -1, -1, "mme", NULL },
13527 { 1, &hf_gsm_map_ms_ServingNode_sgsn, -1, -1, "sgsn", NULL },
13528 { 0, NULL, 0, 0, NULL, NULL }
13531 static int
13532 dissect_gsm_map_ms_ServingNode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13533 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
13534 gsm_map_ms_ServingNode_bits, hf_index, ett_gsm_map_ms_ServingNode,
13535 NULL);
13537 return offset;
13541 static const ber_sequence_t gsm_map_ms_Ext_ForwardingInfoFor_CSE_sequence[] = {
13542 { &hf_gsm_map_ms_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
13543 { &hf_gsm_map_ms_forwardingFeatureList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ForwFeatureList },
13544 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13545 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13546 { NULL, 0, 0, 0, NULL }
13549 static int
13550 dissect_gsm_map_ms_Ext_ForwardingInfoFor_CSE(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13551 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13552 gsm_map_ms_Ext_ForwardingInfoFor_CSE_sequence, hf_index, ett_gsm_map_ms_Ext_ForwardingInfoFor_CSE);
13554 return offset;
13558 static const ber_sequence_t gsm_map_ms_Ext_CallBarringInfoFor_CSE_sequence[] = {
13559 { &hf_gsm_map_ms_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
13560 { &hf_gsm_map_ms_callBarringFeatureList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_CallBarFeatureList },
13561 { &hf_gsm_map_ms_password , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_Password },
13562 { &hf_gsm_map_ms_wrongPasswordAttemptsCounter, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_WrongPasswordAttemptsCounter },
13563 { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13564 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13565 { NULL, 0, 0, 0, NULL }
13568 static int
13569 dissect_gsm_map_ms_Ext_CallBarringInfoFor_CSE(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13570 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13571 gsm_map_ms_Ext_CallBarringInfoFor_CSE_sequence, hf_index, ett_gsm_map_ms_Ext_CallBarringInfoFor_CSE);
13573 return offset;
13577 static const value_string gsm_map_ms_Ext_SS_InfoFor_CSE_vals[] = {
13578 { 0, "forwardingInfoFor-CSE" },
13579 { 1, "callBarringInfoFor-CSE" },
13580 { 0, NULL }
13583 static const ber_choice_t gsm_map_ms_Ext_SS_InfoFor_CSE_choice[] = {
13584 { 0, &hf_gsm_map_ms_forwardingInfoFor_CSE, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ForwardingInfoFor_CSE },
13585 { 1, &hf_gsm_map_ms_callBarringInfoFor_CSE, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_CallBarringInfoFor_CSE },
13586 { 0, NULL, 0, 0, 0, NULL }
13589 static int
13590 dissect_gsm_map_ms_Ext_SS_InfoFor_CSE(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13591 offset = dissect_ber_choice(actx, tree, tvb, offset,
13592 gsm_map_ms_Ext_SS_InfoFor_CSE_choice, hf_index, ett_gsm_map_ms_Ext_SS_InfoFor_CSE,
13593 NULL);
13595 return offset;
13599 static const ber_sequence_t gsm_map_ms_AnyTimeModificationRes_sequence[] = {
13600 { &hf_gsm_map_ms_ss_InfoFor_CSE, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_Ext_SS_InfoFor_CSE },
13601 { &hf_gsm_map_ms_camel_SubscriptionInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CAMEL_SubscriptionInfo },
13602 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13603 { &hf_gsm_map_ms_odb_Info , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Info },
13604 { &hf_gsm_map_ms_cw_Data , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallWaitingData },
13605 { &hf_gsm_map_ms_ch_Data , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallHoldData },
13606 { &hf_gsm_map_ms_clip_Data, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ClipData },
13607 { &hf_gsm_map_ms_clir_Data, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ClirData },
13608 { &hf_gsm_map_ms_ect_data , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EctData },
13609 { &hf_gsm_map_ms_serviceCentreAddress, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
13610 { NULL, 0, 0, 0, NULL }
13613 static int
13614 dissect_gsm_map_ms_AnyTimeModificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13615 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13616 gsm_map_ms_AnyTimeModificationRes_sequence, hf_index, ett_gsm_map_ms_AnyTimeModificationRes);
13618 return offset;
13622 static const ber_sequence_t gsm_map_ms_NoteSubscriberDataModifiedArg_sequence[] = {
13623 { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
13624 { &hf_gsm_map_ms_msisdn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
13625 { &hf_gsm_map_ms_forwardingInfoFor_CSE, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ForwardingInfoFor_CSE },
13626 { &hf_gsm_map_ms_callBarringInfoFor_CSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_CallBarringInfoFor_CSE },
13627 { &hf_gsm_map_ms_odb_Info , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Info },
13628 { &hf_gsm_map_ms_camel_SubscriptionInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CAMEL_SubscriptionInfo },
13629 { &hf_gsm_map_ms_allInformationSent, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13630 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
13631 { &hf_gsm_map_ms_ue_reachable, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ServingNode },
13632 { &hf_gsm_map_ms_csg_SubscriptionDataList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CSG_SubscriptionDataList },
13633 { &hf_gsm_map_ms_cw_Data , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallWaitingData },
13634 { &hf_gsm_map_ms_ch_Data , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallHoldData },
13635 { &hf_gsm_map_ms_clip_Data, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ClipData },
13636 { &hf_gsm_map_ms_clir_Data, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ClirData },
13637 { &hf_gsm_map_ms_ect_data , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EctData },
13638 { NULL, 0, 0, 0, NULL }
13641 static int
13642 dissect_gsm_map_ms_NoteSubscriberDataModifiedArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13643 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13644 gsm_map_ms_NoteSubscriberDataModifiedArg_sequence, hf_index, ett_gsm_map_ms_NoteSubscriberDataModifiedArg);
13646 return offset;
13650 static const ber_sequence_t gsm_map_ms_NoteSubscriberDataModifiedRes_sequence[] = {
13651 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
13652 { NULL, 0, 0, 0, NULL }
13655 static int
13656 dissect_gsm_map_ms_NoteSubscriberDataModifiedRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13657 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13658 gsm_map_ms_NoteSubscriberDataModifiedRes_sequence, hf_index, ett_gsm_map_ms_NoteSubscriberDataModifiedRes);
13660 return offset;
13664 static const ber_sequence_t gsm_map_ms_NoteMM_EventArg_sequence[] = {
13665 { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey },
13666 { &hf_gsm_map_ms_eventMet , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MM_Code },
13667 { &hf_gsm_map_ms_imsi , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13668 { &hf_gsm_map_ms_msisdn , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13669 { &hf_gsm_map_ms_locationInformation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformation },
13670 { &hf_gsm_map_ms_supportedCAMELPhases, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
13671 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13672 { &hf_gsm_map_ms_locationInformationGPRS, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformationGPRS },
13673 { &hf_gsm_map_ms_offeredCamel4Functionalities, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4Functionalities },
13674 { NULL, 0, 0, 0, NULL }
13677 static int
13678 dissect_gsm_map_ms_NoteMM_EventArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13679 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13680 gsm_map_ms_NoteMM_EventArg_sequence, hf_index, ett_gsm_map_ms_NoteMM_EventArg);
13682 return offset;
13686 static const ber_sequence_t gsm_map_ms_NoteMM_EventRes_sequence[] = {
13687 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
13688 { NULL, 0, 0, 0, NULL }
13691 static int
13692 dissect_gsm_map_ms_NoteMM_EventRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13693 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13694 gsm_map_ms_NoteMM_EventRes_sequence, hf_index, ett_gsm_map_ms_NoteMM_EventRes);
13696 return offset;
13700 static const ber_sequence_t gsm_map_ms_UpdateVcsgLocationArg_sequence[] = {
13701 { &hf_gsm_map_ms_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
13702 { &hf_gsm_map_ms_msisdn , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13703 { &hf_gsm_map_ms_vlr_Number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13704 { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13705 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
13706 { NULL, 0, 0, 0, NULL }
13709 static int
13710 dissect_gsm_map_ms_UpdateVcsgLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13711 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13712 gsm_map_ms_UpdateVcsgLocationArg_sequence, hf_index, ett_gsm_map_ms_UpdateVcsgLocationArg);
13714 return offset;
13718 static const ber_sequence_t gsm_map_ms_UpdateVcsgLocationRes_sequence[] = {
13719 { &hf_gsm_map_ms_temporaryEmptySubscriptiondataIndicator, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
13720 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
13721 { NULL, 0, 0, 0, NULL }
13724 static int
13725 dissect_gsm_map_ms_UpdateVcsgLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13726 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13727 gsm_map_ms_UpdateVcsgLocationRes_sequence, hf_index, ett_gsm_map_ms_UpdateVcsgLocationRes);
13729 return offset;
13733 static const ber_sequence_t gsm_map_ms_CancelVcsgLocationArg_sequence[] = {
13734 { &hf_gsm_map_ms_identity , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Identity },
13735 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
13736 { NULL, 0, 0, 0, NULL }
13739 static int
13740 dissect_gsm_map_ms_CancelVcsgLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13741 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13742 gsm_map_ms_CancelVcsgLocationArg_sequence, hf_index, ett_gsm_map_ms_CancelVcsgLocationArg);
13744 return offset;
13748 static const ber_sequence_t gsm_map_ms_CancelVcsgLocationRes_sequence[] = {
13749 { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
13750 { NULL, 0, 0, 0, NULL }
13753 static int
13754 dissect_gsm_map_ms_CancelVcsgLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13755 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13756 gsm_map_ms_CancelVcsgLocationRes_sequence, hf_index, ett_gsm_map_ms_CancelVcsgLocationRes);
13758 return offset;
13762 /* --- Module MAP-CH-DataTypes --- --- --- */
13766 static int
13767 dissect_gsm_map_ch_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13768 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
13770 return offset;
13774 static const ber_sequence_t gsm_map_ch_CUG_CheckInfo_sequence[] = {
13775 { &hf_gsm_map_ch_cug_Interlock, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Interlock },
13776 { &hf_gsm_map_ch_cug_OutgoingAccess, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_NULL },
13777 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
13778 { NULL, 0, 0, 0, NULL }
13782 dissect_gsm_map_ch_CUG_CheckInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13783 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13784 gsm_map_ch_CUG_CheckInfo_sequence, hf_index, ett_gsm_map_ch_CUG_CheckInfo);
13786 return offset;
13791 static int
13792 dissect_gsm_map_ch_NumberOfForwarding(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13793 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13794 NULL);
13796 return offset;
13800 static const value_string gsm_map_ch_InterrogationType_vals[] = {
13801 { 0, "basicCall" },
13802 { 1, "forwarding" },
13803 { 0, NULL }
13807 static int
13808 dissect_gsm_map_ch_InterrogationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13809 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13810 NULL);
13812 return offset;
13817 static int
13818 dissect_gsm_map_ch_OR_Phase(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13819 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13820 NULL);
13822 return offset;
13828 dissect_gsm_map_ch_CallReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13829 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13830 NULL);
13832 return offset;
13836 static const value_string gsm_map_ch_ForwardingReason_vals[] = {
13837 { 0, "notReachable" },
13838 { 1, "busy" },
13839 { 2, "noReply" },
13840 { 0, NULL }
13844 static int
13845 dissect_gsm_map_ch_ForwardingReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13846 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13847 NULL);
13849 return offset;
13853 static const ber_sequence_t gsm_map_ch_CamelInfo_sequence[] = {
13854 { &hf_gsm_map_ch_supportedCamelPhases, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SupportedCamelPhases },
13855 { &hf_gsm_map_ch_suppress_T_CSI, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_NULL },
13856 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
13857 { &hf_gsm_map_ch_offeredCamel4CSIs, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
13858 { NULL, 0, 0, 0, NULL }
13861 static int
13862 dissect_gsm_map_ch_CamelInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13863 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13864 gsm_map_ch_CamelInfo_sequence, hf_index, ett_gsm_map_ch_CamelInfo);
13866 return offset;
13872 dissect_gsm_map_ch_SuppressionOfAnnouncement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13873 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
13875 return offset;
13880 static int
13881 dissect_gsm_map_ch_SupportedCCBS_Phase(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13882 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13883 NULL);
13885 return offset;
13890 static int
13891 dissect_gsm_map_ch_CallDiversionTreatmentIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13892 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13893 NULL);
13895 return offset;
13899 static const asn_namedbit gsm_map_ch_SuppressMTSS_bits[] = {
13900 { 0, &hf_gsm_map_ch_SuppressMTSS_suppressCUG, -1, -1, "suppressCUG", NULL },
13901 { 1, &hf_gsm_map_ch_SuppressMTSS_suppressCCBS, -1, -1, "suppressCCBS", NULL },
13902 { 0, NULL, 0, 0, NULL, NULL }
13905 static int
13906 dissect_gsm_map_ch_SuppressMTSS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13907 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
13908 gsm_map_ch_SuppressMTSS_bits, hf_index, ett_gsm_map_ch_SuppressMTSS,
13909 NULL);
13911 return offset;
13915 static const ber_sequence_t gsm_map_ch_SendRoutingInfoArg_sequence[] = {
13916 { &hf_gsm_map_ch_msisdn , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13917 { &hf_gsm_map_ch_cug_CheckInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CUG_CheckInfo },
13918 { &hf_gsm_map_ch_numberOfForwarding, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NumberOfForwarding },
13919 { &hf_gsm_map_ch_interrogationType, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_InterrogationType },
13920 { &hf_gsm_map_ch_or_Interrogation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
13921 { &hf_gsm_map_ch_or_Capability, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_OR_Phase },
13922 { &hf_gsm_map_ch_gmsc_OrGsmSCF_Address, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13923 { &hf_gsm_map_ch_callReferenceNumber, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallReferenceNumber },
13924 { &hf_gsm_map_ch_forwardingReason, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_ForwardingReason },
13925 { &hf_gsm_map_ch_basicServiceGroup, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
13926 { &hf_gsm_map_ch_networkSignalInfo, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
13927 { &hf_gsm_map_ch_camelInfo, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CamelInfo },
13928 { &hf_gsm_map_ch_suppressionOfAnnouncement, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_SuppressionOfAnnouncement },
13929 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13930 { &hf_gsm_map_ch_alertingPattern, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AlertingPattern },
13931 { &hf_gsm_map_ch_ccbs_Call, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
13932 { &hf_gsm_map_ch_supportedCCBS_Phase, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_SupportedCCBS_Phase },
13933 { &hf_gsm_map_ch_additionalSignalInfo, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_ExternalSignalInfo },
13934 { &hf_gsm_map_ch_istSupportIndicator, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_SupportIndicator },
13935 { &hf_gsm_map_ch_pre_pagingSupported, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
13936 { &hf_gsm_map_ch_callDiversionTreatmentIndicator, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallDiversionTreatmentIndicator },
13937 { &hf_gsm_map_ch_longFTN_Supported, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
13938 { &hf_gsm_map_ch_suppress_VT_CSI, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
13939 { &hf_gsm_map_ch_suppressIncomingCallBarring, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
13940 { &hf_gsm_map_ch_gsmSCF_InitiatedCall, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
13941 { &hf_gsm_map_ch_basicServiceGroup2, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
13942 { &hf_gsm_map_ch_networkSignalInfo2, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
13943 { &hf_gsm_map_ch_suppressMTSS, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_SuppressMTSS },
13944 { &hf_gsm_map_ch_mtRoamingRetrySupported, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
13945 { &hf_gsm_map_ch_callPriority, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority },
13946 { NULL, 0, 0, 0, NULL }
13949 static int
13950 dissect_gsm_map_ch_SendRoutingInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13951 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13952 gsm_map_ch_SendRoutingInfoArg_sequence, hf_index, ett_gsm_map_ch_SendRoutingInfoArg);
13954 return offset;
13958 static const ber_sequence_t gsm_map_ch_ForwardingData_sequence[] = {
13959 { &hf_gsm_map_ch_forwardedToNumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13960 { &hf_gsm_map_ch_forwardedToSubaddress, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
13961 { &hf_gsm_map_ch_forwardingOptions, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ForwardingOptions },
13962 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13963 { &hf_gsm_map_ch_longForwardedToNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_FTN_AddressString },
13964 { NULL, 0, 0, 0, NULL }
13967 static int
13968 dissect_gsm_map_ch_ForwardingData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13969 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13970 gsm_map_ch_ForwardingData_sequence, hf_index, ett_gsm_map_ch_ForwardingData);
13972 return offset;
13976 static const value_string gsm_map_ch_RoutingInfo_vals[] = {
13977 { 0, "roamingNumber" },
13978 { 1, "forwardingData" },
13979 { 0, NULL }
13982 static const ber_choice_t gsm_map_ch_RoutingInfo_choice[] = {
13983 { 0, &hf_gsm_map_ch_roamingNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
13984 { 1, &hf_gsm_map_ch_forwardingData, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_ForwardingData },
13985 { 0, NULL, 0, 0, 0, NULL }
13988 static int
13989 dissect_gsm_map_ch_RoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13990 offset = dissect_ber_choice(actx, tree, tvb, offset,
13991 gsm_map_ch_RoutingInfo_choice, hf_index, ett_gsm_map_ch_RoutingInfo,
13992 NULL);
13994 return offset;
13998 static const ber_sequence_t gsm_map_ch_GmscCamelSubscriptionInfo_sequence[] = {
13999 { &hf_gsm_map_ch_t_CSI , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI },
14000 { &hf_gsm_map_ch_o_CSI , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI },
14001 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14002 { &hf_gsm_map_ch_o_BcsmCamelTDP_CriteriaList, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList },
14003 { &hf_gsm_map_ch_t_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList },
14004 { &hf_gsm_map_ch_d_csi , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI },
14005 { NULL, 0, 0, 0, NULL }
14008 static int
14009 dissect_gsm_map_ch_GmscCamelSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14010 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14011 gsm_map_ch_GmscCamelSubscriptionInfo_sequence, hf_index, ett_gsm_map_ch_GmscCamelSubscriptionInfo);
14013 return offset;
14017 static const ber_sequence_t gsm_map_ch_CamelRoutingInfo_sequence[] = {
14018 { &hf_gsm_map_ch_forwardingData, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_ForwardingData },
14019 { &hf_gsm_map_ch_gmscCamelSubscriptionInfo, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_GmscCamelSubscriptionInfo },
14020 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14021 { NULL, 0, 0, 0, NULL }
14024 static int
14025 dissect_gsm_map_ch_CamelRoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14026 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14027 gsm_map_ch_CamelRoutingInfo_sequence, hf_index, ett_gsm_map_ch_CamelRoutingInfo);
14029 return offset;
14033 static const value_string gsm_map_ch_ExtendedRoutingInfo_vals[] = {
14034 { 0, "routingInfo" },
14035 { 1, "camelRoutingInfo" },
14036 { 0, NULL }
14039 static const ber_choice_t gsm_map_ch_ExtendedRoutingInfo_choice[] = {
14040 { 0, &hf_gsm_map_ch_routingInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_RoutingInfo },
14041 { 1, &hf_gsm_map_ch_camelRoutingInfo, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CamelRoutingInfo },
14042 { 0, NULL, 0, 0, 0, NULL }
14045 static int
14046 dissect_gsm_map_ch_ExtendedRoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14047 offset = dissect_ber_choice(actx, tree, tvb, offset,
14048 gsm_map_ch_ExtendedRoutingInfo_choice, hf_index, ett_gsm_map_ch_ExtendedRoutingInfo,
14049 NULL);
14051 return offset;
14055 static const ber_sequence_t gsm_map_ch_CCBS_Indicators_sequence[] = {
14056 { &hf_gsm_map_ch_ccbs_Possible, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14057 { &hf_gsm_map_ch_keepCCBS_CallIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14058 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14059 { NULL, 0, 0, 0, NULL }
14062 static int
14063 dissect_gsm_map_ch_CCBS_Indicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14064 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14065 gsm_map_ch_CCBS_Indicators_sequence, hf_index, ett_gsm_map_ch_CCBS_Indicators);
14067 return offset;
14071 static const asn_namedbit gsm_map_ch_AllowedServices_bits[] = {
14072 { 0, &hf_gsm_map_ch_AllowedServices_firstServiceAllowed, -1, -1, "firstServiceAllowed", NULL },
14073 { 1, &hf_gsm_map_ch_AllowedServices_secondServiceAllowed, -1, -1, "secondServiceAllowed", NULL },
14074 { 0, NULL, 0, 0, NULL, NULL }
14077 static int
14078 dissect_gsm_map_ch_AllowedServices(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14079 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
14080 gsm_map_ch_AllowedServices_bits, hf_index, ett_gsm_map_ch_AllowedServices,
14081 NULL);
14083 return offset;
14087 static const value_string gsm_map_ch_UnavailabilityCause_vals[] = {
14088 { 1, "bearerServiceNotProvisioned" },
14089 { 2, "teleserviceNotProvisioned" },
14090 { 3, "absentSubscriber" },
14091 { 4, "busySubscriber" },
14092 { 5, "callBarred" },
14093 { 6, "cug-Reject" },
14094 { 0, NULL }
14098 static int
14099 dissect_gsm_map_ch_UnavailabilityCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14100 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14101 NULL);
14103 return offset;
14107 static const ber_sequence_t gsm_map_ch_SendRoutingInfoRes_U_sequence[] = {
14108 { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14109 { &hf_gsm_map_ch_extendedRoutingInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ch_ExtendedRoutingInfo },
14110 { &hf_gsm_map_ch_cug_CheckInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CUG_CheckInfo },
14111 { &hf_gsm_map_ch_cugSubscriptionFlag, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14112 { &hf_gsm_map_ch_subscriberInfo, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscriberInfo },
14113 { &hf_gsm_map_ch_ss_List , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_List },
14114 { &hf_gsm_map_ch_basicService, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
14115 { &hf_gsm_map_ch_forwardingInterrogationRequired, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14116 { &hf_gsm_map_ch_vmsc_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
14117 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14118 { &hf_gsm_map_ch_naea_PreferredCI, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NAEA_PreferredCI },
14119 { &hf_gsm_map_ch_ccbs_Indicators, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CCBS_Indicators },
14120 { &hf_gsm_map_ch_msisdn , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
14121 { &hf_gsm_map_ch_numberPortabilityStatus, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NumberPortabilityStatus },
14122 { &hf_gsm_map_ch_istAlertTimer, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_AlertTimerValue },
14123 { &hf_gsm_map_ch_supportedCamelPhasesInVMSC, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
14124 { &hf_gsm_map_ch_offeredCamel4CSIsInVMSC, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
14125 { &hf_gsm_map_ch_routingInfo2, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ch_RoutingInfo },
14126 { &hf_gsm_map_ch_ss_List2 , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_List },
14127 { &hf_gsm_map_ch_basicService2, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
14128 { &hf_gsm_map_ch_allowedServices, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_AllowedServices },
14129 { &hf_gsm_map_ch_unavailabilityCause, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_UnavailabilityCause },
14130 { &hf_gsm_map_ch_releaseResourcesSupported, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14131 { &hf_gsm_map_ch_gsm_BearerCapability, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
14132 { NULL, 0, 0, 0, NULL }
14135 static int
14136 dissect_gsm_map_ch_SendRoutingInfoRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14137 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14138 gsm_map_ch_SendRoutingInfoRes_U_sequence, hf_index, ett_gsm_map_ch_SendRoutingInfoRes_U);
14140 return offset;
14145 static int
14146 dissect_gsm_map_ch_SendRoutingInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14147 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14148 hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ch_SendRoutingInfoRes_U);
14150 return offset;
14154 static const ber_sequence_t gsm_map_ch_ProvideRoamingNumberArg_sequence[] = {
14155 { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14156 { &hf_gsm_map_ch_msc_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
14157 { &hf_gsm_map_ch_msisdn , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
14158 { &hf_gsm_map_ch_lmsi , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
14159 { &hf_gsm_map_ch_gsm_BearerCapability, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
14160 { &hf_gsm_map_ch_networkSignalInfo, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
14161 { &hf_gsm_map_ch_suppressionOfAnnouncement, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_SuppressionOfAnnouncement },
14162 { &hf_gsm_map_ch_gmsc_Address, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
14163 { &hf_gsm_map_ch_callReferenceNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallReferenceNumber },
14164 { &hf_gsm_map_ch_or_Interrogation, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14165 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14166 { &hf_gsm_map_ch_alertingPattern, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AlertingPattern },
14167 { &hf_gsm_map_ch_ccbs_Call, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14168 { &hf_gsm_map_ch_supportedCamelPhasesInInterrogatingNode, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
14169 { &hf_gsm_map_ch_additionalSignalInfo, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_ExternalSignalInfo },
14170 { &hf_gsm_map_ch_orNotSupportedInGMSC, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14171 { &hf_gsm_map_ch_pre_pagingSupported, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14172 { &hf_gsm_map_ch_longFTN_Supported, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14173 { &hf_gsm_map_ch_suppress_VT_CSI, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14174 { &hf_gsm_map_ch_offeredCamel4CSIsInInterrogatingNode, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
14175 { &hf_gsm_map_ch_mtRoamingRetrySupported, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14176 { &hf_gsm_map_ch_pagingArea, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PagingArea },
14177 { &hf_gsm_map_ch_callPriority, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority },
14178 { &hf_gsm_map_ch_mtrf_Indicator, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14179 { &hf_gsm_map_ch_oldMSC_Number, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
14180 { NULL, 0, 0, 0, NULL }
14183 static int
14184 dissect_gsm_map_ch_ProvideRoamingNumberArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14185 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14186 gsm_map_ch_ProvideRoamingNumberArg_sequence, hf_index, ett_gsm_map_ch_ProvideRoamingNumberArg);
14188 return offset;
14192 static const ber_sequence_t gsm_map_ch_ProvideRoamingNumberRes_sequence[] = {
14193 { &hf_gsm_map_ch_roamingNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
14194 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
14195 { &hf_gsm_map_ch_releaseResourcesSupported, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_NULL },
14196 { &hf_gsm_map_ch_vmsc_Address, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
14197 { NULL, 0, 0, 0, NULL }
14200 static int
14201 dissect_gsm_map_ch_ProvideRoamingNumberRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14202 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14203 gsm_map_ch_ProvideRoamingNumberRes_sequence, hf_index, ett_gsm_map_ch_ProvideRoamingNumberRes);
14205 return offset;
14210 static int
14211 dissect_gsm_map_ch_UUIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14212 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14213 NULL);
14215 return offset;
14220 static int
14221 dissect_gsm_map_ch_UUI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14222 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14223 NULL);
14225 return offset;
14229 static const ber_sequence_t gsm_map_ch_UU_Data_sequence[] = {
14230 { &hf_gsm_map_ch_uuIndicator, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_UUIndicator },
14231 { &hf_gsm_map_ch_uui , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_UUI },
14232 { &hf_gsm_map_ch_uusCFInteraction, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14233 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14234 { NULL, 0, 0, 0, NULL }
14238 dissect_gsm_map_ch_UU_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14239 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14240 gsm_map_ch_UU_Data_sequence, hf_index, ett_gsm_map_ch_UU_Data);
14242 return offset;
14246 static const ber_sequence_t gsm_map_ch_ResumeCallHandlingArg_sequence[] = {
14247 { &hf_gsm_map_ch_callReferenceNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallReferenceNumber },
14248 { &hf_gsm_map_ch_basicServiceGroup, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
14249 { &hf_gsm_map_ch_forwardingData, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_ForwardingData },
14250 { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14251 { &hf_gsm_map_ch_cug_CheckInfo, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CUG_CheckInfo },
14252 { &hf_gsm_map_ch_o_CSI , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI },
14253 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14254 { &hf_gsm_map_ch_ccbs_Possible, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14255 { &hf_gsm_map_ch_msisdn , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
14256 { &hf_gsm_map_ch_uu_Data , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_UU_Data },
14257 { &hf_gsm_map_ch_allInformationSent, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14258 { &hf_gsm_map_ch_d_csi , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI },
14259 { &hf_gsm_map_ch_o_BcsmCamelTDPCriteriaList, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList },
14260 { &hf_gsm_map_ch_basicServiceGroup2, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
14261 { &hf_gsm_map_ch_mtRoamingRetry, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14262 { NULL, 0, 0, 0, NULL }
14265 static int
14266 dissect_gsm_map_ch_ResumeCallHandlingArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14267 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14268 gsm_map_ch_ResumeCallHandlingArg_sequence, hf_index, ett_gsm_map_ch_ResumeCallHandlingArg);
14270 return offset;
14274 static const ber_sequence_t gsm_map_ch_ResumeCallHandlingRes_sequence[] = {
14275 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
14276 { NULL, 0, 0, 0, NULL }
14279 static int
14280 dissect_gsm_map_ch_ResumeCallHandlingRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14281 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14282 gsm_map_ch_ResumeCallHandlingRes_sequence, hf_index, ett_gsm_map_ch_ResumeCallHandlingRes);
14284 return offset;
14288 static const value_string gsm_map_ch_ReportingState_vals[] = {
14289 { 0, "stopMonitoring" },
14290 { 1, "startMonitoring" },
14291 { 0, NULL }
14295 static int
14296 dissect_gsm_map_ch_ReportingState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14297 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14298 NULL);
14300 return offset;
14304 static const ber_sequence_t gsm_map_ch_SetReportingStateArg_sequence[] = {
14305 { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14306 { &hf_gsm_map_ch_lmsi , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
14307 { &hf_gsm_map_ch_ccbs_Monitoring, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_ReportingState },
14308 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14309 { NULL, 0, 0, 0, NULL }
14312 static int
14313 dissect_gsm_map_ch_SetReportingStateArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14314 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14315 gsm_map_ch_SetReportingStateArg_sequence, hf_index, ett_gsm_map_ch_SetReportingStateArg);
14317 return offset;
14321 static const value_string gsm_map_ch_CCBS_SubscriberStatus_vals[] = {
14322 { 0, "ccbsNotIdle" },
14323 { 1, "ccbsIdle" },
14324 { 2, "ccbsNotReachable" },
14325 { 0, NULL }
14329 static int
14330 dissect_gsm_map_ch_CCBS_SubscriberStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14331 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14332 NULL);
14334 return offset;
14338 static const ber_sequence_t gsm_map_ch_SetReportingStateRes_sequence[] = {
14339 { &hf_gsm_map_ch_ccbs_SubscriberStatus, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CCBS_SubscriberStatus },
14340 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14341 { NULL, 0, 0, 0, NULL }
14344 static int
14345 dissect_gsm_map_ch_SetReportingStateRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14346 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14347 gsm_map_ch_SetReportingStateRes_sequence, hf_index, ett_gsm_map_ch_SetReportingStateRes);
14349 return offset;
14353 static const ber_sequence_t gsm_map_ch_EventReportData_sequence[] = {
14354 { &hf_gsm_map_ch_ccbs_SubscriberStatus, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CCBS_SubscriberStatus },
14355 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14356 { NULL, 0, 0, 0, NULL }
14359 static int
14360 dissect_gsm_map_ch_EventReportData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14361 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14362 gsm_map_ch_EventReportData_sequence, hf_index, ett_gsm_map_ch_EventReportData);
14364 return offset;
14368 static const value_string gsm_map_ch_MonitoringMode_vals[] = {
14369 { 0, "a-side" },
14370 { 1, "b-side" },
14371 { 0, NULL }
14375 static int
14376 dissect_gsm_map_ch_MonitoringMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14377 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14378 NULL);
14380 return offset;
14384 static const value_string gsm_map_ch_CallOutcome_vals[] = {
14385 { 0, "success" },
14386 { 1, "failure" },
14387 { 2, "busy" },
14388 { 0, NULL }
14392 static int
14393 dissect_gsm_map_ch_CallOutcome(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14394 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14395 NULL);
14397 return offset;
14401 static const ber_sequence_t gsm_map_ch_CallReportData_sequence[] = {
14402 { &hf_gsm_map_ch_monitoringMode, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_MonitoringMode },
14403 { &hf_gsm_map_ch_callOutcome, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallOutcome },
14404 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14405 { NULL, 0, 0, 0, NULL }
14408 static int
14409 dissect_gsm_map_ch_CallReportData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14410 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14411 gsm_map_ch_CallReportData_sequence, hf_index, ett_gsm_map_ch_CallReportData);
14413 return offset;
14417 static const ber_sequence_t gsm_map_ch_StatusReportArg_sequence[] = {
14418 { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14419 { &hf_gsm_map_ch_eventReportData, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_EventReportData },
14420 { &hf_gsm_map_ch_callReportdata, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallReportData },
14421 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14422 { NULL, 0, 0, 0, NULL }
14425 static int
14426 dissect_gsm_map_ch_StatusReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14427 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14428 gsm_map_ch_StatusReportArg_sequence, hf_index, ett_gsm_map_ch_StatusReportArg);
14430 return offset;
14434 static const ber_sequence_t gsm_map_ch_StatusReportRes_sequence[] = {
14435 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14436 { NULL, 0, 0, 0, NULL }
14439 static int
14440 dissect_gsm_map_ch_StatusReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14441 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14442 gsm_map_ch_StatusReportRes_sequence, hf_index, ett_gsm_map_ch_StatusReportRes);
14444 return offset;
14448 static const ber_sequence_t gsm_map_ch_RemoteUserFreeArg_sequence[] = {
14449 { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14450 { &hf_gsm_map_ch_callInfo , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
14451 { &hf_gsm_map_ch_ccbs_Feature, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Feature },
14452 { &hf_gsm_map_ch_translatedB_Number, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
14453 { &hf_gsm_map_ch_replaceB_Number, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14454 { &hf_gsm_map_ch_alertingPattern, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AlertingPattern },
14455 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14456 { NULL, 0, 0, 0, NULL }
14459 static int
14460 dissect_gsm_map_ch_RemoteUserFreeArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14461 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14462 gsm_map_ch_RemoteUserFreeArg_sequence, hf_index, ett_gsm_map_ch_RemoteUserFreeArg);
14464 return offset;
14468 static const value_string gsm_map_ch_RUF_Outcome_vals[] = {
14469 { 0, "accepted" },
14470 { 1, "rejected" },
14471 { 2, "noResponseFromFreeMS" },
14472 { 3, "noResponseFromBusyMS" },
14473 { 4, "udubFromFreeMS" },
14474 { 5, "udubFromBusyMS" },
14475 { 0, NULL }
14479 static int
14480 dissect_gsm_map_ch_RUF_Outcome(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14481 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14482 NULL);
14484 return offset;
14488 static const ber_sequence_t gsm_map_ch_RemoteUserFreeRes_sequence[] = {
14489 { &hf_gsm_map_ch_ruf_Outcome, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_RUF_Outcome },
14490 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14491 { NULL, 0, 0, 0, NULL }
14494 static int
14495 dissect_gsm_map_ch_RemoteUserFreeRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14496 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14497 gsm_map_ch_RemoteUserFreeRes_sequence, hf_index, ett_gsm_map_ch_RemoteUserFreeRes);
14499 return offset;
14503 static const ber_sequence_t gsm_map_ch_IST_AlertArg_sequence[] = {
14504 { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14505 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14506 { NULL, 0, 0, 0, NULL }
14509 static int
14510 dissect_gsm_map_ch_IST_AlertArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14511 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14512 gsm_map_ch_IST_AlertArg_sequence, hf_index, ett_gsm_map_ch_IST_AlertArg);
14514 return offset;
14518 static const value_string gsm_map_ch_CallTerminationIndicator_vals[] = {
14519 { 0, "terminateCallActivityReferred" },
14520 { 1, "terminateAllCallActivities" },
14521 { 0, NULL }
14525 static int
14526 dissect_gsm_map_ch_CallTerminationIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14527 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14528 NULL);
14530 return offset;
14534 static const ber_sequence_t gsm_map_ch_IST_AlertRes_sequence[] = {
14535 { &hf_gsm_map_ch_istAlertTimer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_AlertTimerValue },
14536 { &hf_gsm_map_ch_istInformationWithdraw, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
14537 { &hf_gsm_map_ch_callTerminationIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallTerminationIndicator },
14538 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14539 { NULL, 0, 0, 0, NULL }
14542 static int
14543 dissect_gsm_map_ch_IST_AlertRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14544 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14545 gsm_map_ch_IST_AlertRes_sequence, hf_index, ett_gsm_map_ch_IST_AlertRes);
14547 return offset;
14551 static const ber_sequence_t gsm_map_ch_IST_CommandArg_sequence[] = {
14552 { &hf_gsm_map_ch_imsi , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14553 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14554 { NULL, 0, 0, 0, NULL }
14557 static int
14558 dissect_gsm_map_ch_IST_CommandArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14559 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14560 gsm_map_ch_IST_CommandArg_sequence, hf_index, ett_gsm_map_ch_IST_CommandArg);
14562 return offset;
14566 static const ber_sequence_t gsm_map_ch_IST_CommandRes_sequence[] = {
14567 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
14568 { NULL, 0, 0, 0, NULL }
14571 static int
14572 dissect_gsm_map_ch_IST_CommandRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14573 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14574 gsm_map_ch_IST_CommandRes_sequence, hf_index, ett_gsm_map_ch_IST_CommandRes);
14576 return offset;
14580 static const ber_sequence_t gsm_map_ch_ReleaseResourcesArg_sequence[] = {
14581 { &hf_gsm_map_ch_msrn , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
14582 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
14583 { NULL, 0, 0, 0, NULL }
14586 static int
14587 dissect_gsm_map_ch_ReleaseResourcesArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14588 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14589 gsm_map_ch_ReleaseResourcesArg_sequence, hf_index, ett_gsm_map_ch_ReleaseResourcesArg);
14591 return offset;
14595 static const ber_sequence_t gsm_map_ch_ReleaseResourcesRes_sequence[] = {
14596 { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
14597 { NULL, 0, 0, 0, NULL }
14600 static int
14601 dissect_gsm_map_ch_ReleaseResourcesRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14602 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14603 gsm_map_ch_ReleaseResourcesRes_sequence, hf_index, ett_gsm_map_ch_ReleaseResourcesRes);
14605 return offset;
14609 /* --- Module MAP-LCS-DataTypes --- --- --- */
14612 static const ber_sequence_t gsm_map_lcs_RoutingInfoForLCS_Arg_sequence[] = {
14613 { &hf_gsm_map_lcs_mlcNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
14614 { &hf_gsm_map_lcs_targetMS, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity },
14615 { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14616 { NULL, 0, 0, 0, NULL }
14619 static int
14620 dissect_gsm_map_lcs_RoutingInfoForLCS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14621 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14622 gsm_map_lcs_RoutingInfoForLCS_Arg_sequence, hf_index, ett_gsm_map_lcs_RoutingInfoForLCS_Arg);
14624 return offset;
14629 static int
14630 dissect_gsm_map_lcs_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14631 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
14633 return offset;
14637 static const ber_sequence_t gsm_map_lcs_LCSLocationInfo_sequence[] = {
14638 { &hf_gsm_map_lcs_networkNode_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
14639 { &hf_gsm_map_lcs_lmsi , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
14640 { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14641 { &hf_gsm_map_lcs_gprsNodeIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
14642 { &hf_gsm_map_lcs_additional_Number, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_Additional_Number },
14643 { &hf_gsm_map_lcs_supportedLCS_CapabilitySets, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedLCS_CapabilitySets },
14644 { &hf_gsm_map_lcs_additional_LCS_CapabilitySets, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedLCS_CapabilitySets },
14645 { &hf_gsm_map_lcs_mme_Name, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
14646 { &hf_gsm_map_lcs_aaa_Server_Name, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
14647 { NULL, 0, 0, 0, NULL }
14650 static int
14651 dissect_gsm_map_lcs_LCSLocationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14652 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14653 gsm_map_lcs_LCSLocationInfo_sequence, hf_index, ett_gsm_map_lcs_LCSLocationInfo);
14655 return offset;
14659 static const ber_sequence_t gsm_map_lcs_RoutingInfoForLCS_Res_sequence[] = {
14660 { &hf_gsm_map_lcs_targetMS, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity },
14661 { &hf_gsm_map_lcs_lcsLocationInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSLocationInfo },
14662 { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14663 { &hf_gsm_map_lcs_v_gmlc_Address, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
14664 { &hf_gsm_map_lcs_h_gmlc_Address, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
14665 { &hf_gsm_map_lcs_ppr_Address, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
14666 { &hf_gsm_map_lcs_additional_v_gmlc_Address, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
14667 { NULL, 0, 0, 0, NULL }
14670 static int
14671 dissect_gsm_map_lcs_RoutingInfoForLCS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14672 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14673 gsm_map_lcs_RoutingInfoForLCS_Res_sequence, hf_index, ett_gsm_map_lcs_RoutingInfoForLCS_Res);
14675 return offset;
14679 static const value_string gsm_map_lcs_LocationEstimateType_vals[] = {
14680 { 0, "currentLocation" },
14681 { 1, "currentOrLastKnownLocation" },
14682 { 2, "initialLocation" },
14683 { 3, "activateDeferredLocation" },
14684 { 4, "cancelDeferredLocation" },
14685 { 5, "notificationVerificationOnly" },
14686 { 0, NULL }
14690 static int
14691 dissect_gsm_map_lcs_LocationEstimateType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14692 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14693 NULL);
14695 return offset;
14699 static const asn_namedbit gsm_map_lcs_DeferredLocationEventType_bits[] = {
14700 { 0, &hf_gsm_map_lcs_DeferredLocationEventType_msAvailable, -1, -1, "msAvailable", NULL },
14701 { 1, &hf_gsm_map_lcs_DeferredLocationEventType_enteringIntoArea, -1, -1, "enteringIntoArea", NULL },
14702 { 2, &hf_gsm_map_lcs_DeferredLocationEventType_leavingFromArea, -1, -1, "leavingFromArea", NULL },
14703 { 3, &hf_gsm_map_lcs_DeferredLocationEventType_beingInsideArea, -1, -1, "beingInsideArea", NULL },
14704 { 4, &hf_gsm_map_lcs_DeferredLocationEventType_periodicLDR, -1, -1, "periodicLDR", NULL },
14705 { 0, NULL, 0, 0, NULL, NULL }
14709 dissect_gsm_map_lcs_DeferredLocationEventType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14710 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
14711 gsm_map_lcs_DeferredLocationEventType_bits, hf_index, ett_gsm_map_lcs_DeferredLocationEventType,
14712 NULL);
14714 return offset;
14718 static const ber_sequence_t gsm_map_lcs_LocationType_sequence[] = {
14719 { &hf_gsm_map_lcs_locationEstimateType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LocationEstimateType },
14720 { &hf_gsm_map_lcs_deferredLocationEventType, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_DeferredLocationEventType },
14721 { NULL, 0, 0, 0, NULL }
14725 dissect_gsm_map_lcs_LocationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14726 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14727 gsm_map_lcs_LocationType_sequence, hf_index, ett_gsm_map_lcs_LocationType);
14729 return offset;
14733 const value_string gsm_map_lcs_LCSClientType_vals[] = {
14734 { 0, "emergencyServices" },
14735 { 1, "valueAddedServices" },
14736 { 2, "plmnOperatorServices" },
14737 { 3, "lawfulInterceptServices" },
14738 { 0, NULL }
14743 dissect_gsm_map_lcs_LCSClientType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14744 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14745 NULL);
14747 return offset;
14752 static int
14753 dissect_gsm_map_lcs_NameString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14754 offset = dissect_gsm_map_ss_USSD_String(implicit_tag, tvb, offset, actx, tree, hf_index);
14756 return offset;
14760 static const value_string gsm_map_lcs_LCS_FormatIndicator_vals[] = {
14761 { 0, "logicalName" },
14762 { 1, "e-mailAddress" },
14763 { 2, "msisdn" },
14764 { 3, "url" },
14765 { 4, "sipUrl" },
14766 { 0, NULL }
14770 static int
14771 dissect_gsm_map_lcs_LCS_FormatIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14772 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14773 NULL);
14775 return offset;
14779 static const ber_sequence_t gsm_map_lcs_LCSClientName_sequence[] = {
14780 { &hf_gsm_map_lcs_dataCodingScheme, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_DataCodingScheme },
14781 { &hf_gsm_map_lcs_nameString, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NameString },
14782 { &hf_gsm_map_lcs_lcs_FormatIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_FormatIndicator },
14783 { NULL, 0, 0, 0, NULL }
14787 dissect_gsm_map_lcs_LCSClientName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14788 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14789 gsm_map_lcs_LCSClientName_sequence, hf_index, ett_gsm_map_lcs_LCSClientName);
14791 return offset;
14796 static int
14797 dissect_gsm_map_lcs_RequestorIDString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14798 offset = dissect_gsm_map_ss_USSD_String(implicit_tag, tvb, offset, actx, tree, hf_index);
14800 return offset;
14804 static const ber_sequence_t gsm_map_lcs_LCSRequestorID_sequence[] = {
14805 { &hf_gsm_map_lcs_dataCodingScheme, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_DataCodingScheme },
14806 { &hf_gsm_map_lcs_requestorIDString, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_RequestorIDString },
14807 { &hf_gsm_map_lcs_lcs_FormatIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_FormatIndicator },
14808 { NULL, 0, 0, 0, NULL }
14812 dissect_gsm_map_lcs_LCSRequestorID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14813 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14814 gsm_map_lcs_LCSRequestorID_sequence, hf_index, ett_gsm_map_lcs_LCSRequestorID);
14816 return offset;
14820 static const ber_sequence_t gsm_map_lcs_LCS_ClientID_sequence[] = {
14821 { &hf_gsm_map_lcs_lcsClientType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientType },
14822 { &hf_gsm_map_lcs_lcsClientExternalID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID },
14823 { &hf_gsm_map_lcs_lcsClientDialedByMS, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
14824 { &hf_gsm_map_lcs_lcsClientInternalID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientInternalID },
14825 { &hf_gsm_map_lcs_lcsClientName, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientName },
14826 { &hf_gsm_map_lcs_lcsAPN , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN },
14827 { &hf_gsm_map_lcs_lcsRequestorID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSRequestorID },
14828 { NULL, 0, 0, 0, NULL }
14832 dissect_gsm_map_lcs_LCS_ClientID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14833 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14834 gsm_map_lcs_LCS_ClientID_sequence, hf_index, ett_gsm_map_lcs_LCS_ClientID);
14836 return offset;
14842 dissect_gsm_map_lcs_LCS_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14843 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14844 NULL);
14846 return offset;
14851 static int
14852 dissect_gsm_map_lcs_Horizontal_Accuracy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14853 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14854 NULL);
14856 return offset;
14861 static int
14862 dissect_gsm_map_lcs_Vertical_Accuracy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14863 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14864 NULL);
14866 return offset;
14870 static const value_string gsm_map_lcs_ResponseTimeCategory_vals[] = {
14871 { 0, "lowdelay" },
14872 { 1, "delaytolerant" },
14873 { 0, NULL }
14877 static int
14878 dissect_gsm_map_lcs_ResponseTimeCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14879 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14880 NULL);
14882 return offset;
14886 static const ber_sequence_t gsm_map_lcs_ResponseTime_sequence[] = {
14887 { &hf_gsm_map_lcs_responseTimeCategory, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_ResponseTimeCategory },
14888 { NULL, 0, 0, 0, NULL }
14891 static int
14892 dissect_gsm_map_lcs_ResponseTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14893 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14894 gsm_map_lcs_ResponseTime_sequence, hf_index, ett_gsm_map_lcs_ResponseTime);
14896 return offset;
14900 static const ber_sequence_t gsm_map_lcs_LCS_QoS_sequence[] = {
14901 { &hf_gsm_map_lcs_horizontal_accuracy, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Horizontal_Accuracy },
14902 { &hf_gsm_map_lcs_verticalCoordinateRequest, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
14903 { &hf_gsm_map_lcs_vertical_accuracy, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Vertical_Accuracy },
14904 { &hf_gsm_map_lcs_responseTime, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ResponseTime },
14905 { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14906 { &hf_gsm_map_lcs_velocityRequest, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
14907 { NULL, 0, 0, 0, NULL }
14911 dissect_gsm_map_lcs_LCS_QoS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14912 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14913 gsm_map_lcs_LCS_QoS_sequence, hf_index, ett_gsm_map_lcs_LCS_QoS);
14915 return offset;
14919 static const asn_namedbit gsm_map_lcs_SupportedGADShapes_bits[] = {
14920 { 0, &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPoint, -1, -1, "ellipsoidPoint", NULL },
14921 { 1, &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle, -1, -1, "ellipsoidPointWithUncertaintyCircle", NULL },
14922 { 2, &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse, -1, -1, "ellipsoidPointWithUncertaintyEllipse", NULL },
14923 { 3, &hf_gsm_map_lcs_SupportedGADShapes_polygon, -1, -1, "polygon", NULL },
14924 { 4, &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitude, -1, -1, "ellipsoidPointWithAltitude", NULL },
14925 { 5, &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid, -1, -1, "ellipsoidPointWithAltitudeAndUncertaintyElipsoid", NULL },
14926 { 6, &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidArc, -1, -1, "ellipsoidArc", NULL },
14927 { 0, NULL, 0, 0, NULL, NULL }
14931 dissect_gsm_map_lcs_SupportedGADShapes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14932 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
14933 gsm_map_lcs_SupportedGADShapes_bits, hf_index, ett_gsm_map_lcs_SupportedGADShapes,
14934 NULL);
14936 return offset;
14942 dissect_gsm_map_lcs_LCS_ReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14943 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14944 NULL);
14946 return offset;
14951 static int
14952 dissect_gsm_map_lcs_LCSCodewordString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14953 offset = dissect_gsm_map_ss_USSD_String(implicit_tag, tvb, offset, actx, tree, hf_index);
14955 return offset;
14959 static const ber_sequence_t gsm_map_lcs_LCSCodeword_sequence[] = {
14960 { &hf_gsm_map_lcs_dataCodingScheme, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_DataCodingScheme },
14961 { &hf_gsm_map_lcs_lcsCodewordString, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSCodewordString },
14962 { NULL, 0, 0, 0, NULL }
14966 dissect_gsm_map_lcs_LCSCodeword(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14967 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14968 gsm_map_lcs_LCSCodeword_sequence, hf_index, ett_gsm_map_lcs_LCSCodeword);
14970 return offset;
14974 static const value_string gsm_map_lcs_PrivacyCheckRelatedAction_vals[] = {
14975 { 0, "allowedWithoutNotification" },
14976 { 1, "allowedWithNotification" },
14977 { 2, "allowedIfNoResponse" },
14978 { 3, "restrictedIfNoResponse" },
14979 { 4, "notAllowed" },
14980 { 0, NULL }
14984 static int
14985 dissect_gsm_map_lcs_PrivacyCheckRelatedAction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14986 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14987 NULL);
14989 return offset;
14993 static const ber_sequence_t gsm_map_lcs_LCS_PrivacyCheck_sequence[] = {
14994 { &hf_gsm_map_lcs_callSessionUnrelated, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PrivacyCheckRelatedAction },
14995 { &hf_gsm_map_lcs_callSessionRelated, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PrivacyCheckRelatedAction },
14996 { NULL, 0, 0, 0, NULL }
14999 static int
15000 dissect_gsm_map_lcs_LCS_PrivacyCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15001 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15002 gsm_map_lcs_LCS_PrivacyCheck_sequence, hf_index, ett_gsm_map_lcs_LCS_PrivacyCheck);
15004 return offset;
15008 static const value_string gsm_map_lcs_AreaType_vals[] = {
15009 { 0, "countryCode" },
15010 { 1, "plmnId" },
15011 { 2, "locationAreaId" },
15012 { 3, "routingAreaId" },
15013 { 4, "cellGlobalId" },
15014 { 5, "utranCellId" },
15015 { 0, NULL }
15019 static int
15020 dissect_gsm_map_lcs_AreaType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15021 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15022 NULL);
15024 return offset;
15029 static int
15030 dissect_gsm_map_lcs_AreaIdentification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15031 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15032 NULL);
15034 return offset;
15038 static const ber_sequence_t gsm_map_lcs_Area_sequence[] = {
15039 { &hf_gsm_map_lcs_areaType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaType },
15040 { &hf_gsm_map_lcs_areaIdentification, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaIdentification },
15041 { NULL, 0, 0, 0, NULL }
15044 static int
15045 dissect_gsm_map_lcs_Area(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15046 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15047 gsm_map_lcs_Area_sequence, hf_index, ett_gsm_map_lcs_Area);
15049 return offset;
15053 static const ber_sequence_t gsm_map_lcs_AreaList_sequence_of[1] = {
15054 { &hf_gsm_map_lcs_AreaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_Area },
15057 static int
15058 dissect_gsm_map_lcs_AreaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15059 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
15060 gsm_map_lcs_AreaList_sequence_of, hf_index, ett_gsm_map_lcs_AreaList);
15062 return offset;
15066 static const ber_sequence_t gsm_map_lcs_AreaDefinition_sequence[] = {
15067 { &hf_gsm_map_lcs_areaList, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaList },
15068 { NULL, 0, 0, 0, NULL }
15071 static int
15072 dissect_gsm_map_lcs_AreaDefinition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15073 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15074 gsm_map_lcs_AreaDefinition_sequence, hf_index, ett_gsm_map_lcs_AreaDefinition);
15076 return offset;
15080 static const value_string gsm_map_lcs_OccurrenceInfo_vals[] = {
15081 { 0, "oneTimeEvent" },
15082 { 1, "multipleTimeEvent" },
15083 { 0, NULL }
15087 static int
15088 dissect_gsm_map_lcs_OccurrenceInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15089 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15090 NULL);
15092 return offset;
15097 static int
15098 dissect_gsm_map_lcs_IntervalTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15099 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15100 NULL);
15102 return offset;
15106 static const ber_sequence_t gsm_map_lcs_AreaEventInfo_sequence[] = {
15107 { &hf_gsm_map_lcs_areaDefinition, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaDefinition },
15108 { &hf_gsm_map_lcs_occurrenceInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_OccurrenceInfo },
15109 { &hf_gsm_map_lcs_intervalTime, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_IntervalTime },
15110 { NULL, 0, 0, 0, NULL }
15114 dissect_gsm_map_lcs_AreaEventInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15115 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15116 gsm_map_lcs_AreaEventInfo_sequence, hf_index, ett_gsm_map_lcs_AreaEventInfo);
15118 return offset;
15123 static int
15124 dissect_gsm_map_lcs_ReportingAmount(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15125 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15126 NULL);
15128 return offset;
15133 static int
15134 dissect_gsm_map_lcs_ReportingInterval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15135 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15136 NULL);
15138 return offset;
15142 static const ber_sequence_t gsm_map_lcs_PeriodicLDRInfo_sequence[] = {
15143 { &hf_gsm_map_lcs_reportingAmount, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_ReportingAmount },
15144 { &hf_gsm_map_lcs_reportingInterval, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_ReportingInterval },
15145 { NULL, 0, 0, 0, NULL }
15148 static int
15149 dissect_gsm_map_lcs_PeriodicLDRInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15150 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15151 gsm_map_lcs_PeriodicLDRInfo_sequence, hf_index, ett_gsm_map_lcs_PeriodicLDRInfo);
15153 return offset;
15157 static const value_string gsm_map_lcs_RAN_Technology_vals[] = {
15158 { 0, "gsm" },
15159 { 1, "umts" },
15160 { 0, NULL }
15164 static int
15165 dissect_gsm_map_lcs_RAN_Technology(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15166 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15167 NULL);
15169 return offset;
15173 static const ber_sequence_t gsm_map_lcs_ReportingPLMN_sequence[] = {
15174 { &hf_gsm_map_lcs_plmn_Id , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_PLMN_Id },
15175 { &hf_gsm_map_lcs_ran_Technology, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_RAN_Technology },
15176 { &hf_gsm_map_lcs_ran_PeriodicLocationSupport, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
15177 { NULL, 0, 0, 0, NULL }
15180 static int
15181 dissect_gsm_map_lcs_ReportingPLMN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15182 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15183 gsm_map_lcs_ReportingPLMN_sequence, hf_index, ett_gsm_map_lcs_ReportingPLMN);
15185 return offset;
15189 static const ber_sequence_t gsm_map_lcs_PLMNList_sequence_of[1] = {
15190 { &hf_gsm_map_lcs_PLMNList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_ReportingPLMN },
15193 static int
15194 dissect_gsm_map_lcs_PLMNList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15195 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
15196 gsm_map_lcs_PLMNList_sequence_of, hf_index, ett_gsm_map_lcs_PLMNList);
15198 return offset;
15202 static const ber_sequence_t gsm_map_lcs_ReportingPLMNList_sequence[] = {
15203 { &hf_gsm_map_lcs_plmn_ListPrioritized, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
15204 { &hf_gsm_map_lcs_plmn_List, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PLMNList },
15205 { NULL, 0, 0, 0, NULL }
15208 static int
15209 dissect_gsm_map_lcs_ReportingPLMNList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15210 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15211 gsm_map_lcs_ReportingPLMNList_sequence, hf_index, ett_gsm_map_lcs_ReportingPLMNList);
15213 return offset;
15217 static const ber_sequence_t gsm_map_lcs_ProvideSubscriberLocation_Arg_sequence[] = {
15218 { &hf_gsm_map_lcs_locationType, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_LocationType },
15219 { &hf_gsm_map_lcs_mlc_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
15220 { &hf_gsm_map_lcs_lcs_ClientID, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ClientID },
15221 { &hf_gsm_map_lcs_privacyOverride, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
15222 { &hf_gsm_map_lcs_imsi , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15223 { &hf_gsm_map_lcs_msisdn , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15224 { &hf_gsm_map_lcs_lmsi , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
15225 { &hf_gsm_map_lcs_imei , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
15226 { &hf_gsm_map_lcs_lcs_Priority, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_Priority },
15227 { &hf_gsm_map_lcs_lcs_QoS , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_QoS },
15228 { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15229 { &hf_gsm_map_lcs_supportedGADShapes, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SupportedGADShapes },
15230 { &hf_gsm_map_lcs_lcs_ReferenceNumber, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
15231 { &hf_gsm_map_lcs_lcsServiceTypeID, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSServiceTypeID },
15232 { &hf_gsm_map_lcs_lcsCodeword, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSCodeword },
15233 { &hf_gsm_map_lcs_lcs_PrivacyCheck, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_PrivacyCheck },
15234 { &hf_gsm_map_lcs_areaEventInfo, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaEventInfo },
15235 { &hf_gsm_map_lcs_h_gmlc_Address, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
15236 { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
15237 { &hf_gsm_map_lcs_periodicLDRInfo, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PeriodicLDRInfo },
15238 { &hf_gsm_map_lcs_reportingPLMNList, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ReportingPLMNList },
15239 { NULL, 0, 0, 0, NULL }
15242 static int
15243 dissect_gsm_map_lcs_ProvideSubscriberLocation_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15244 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15245 gsm_map_lcs_ProvideSubscriberLocation_Arg_sequence, hf_index, ett_gsm_map_lcs_ProvideSubscriberLocation_Arg);
15247 return offset;
15253 dissect_gsm_map_lcs_Ext_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15254 #line 850 "../../asn1/gsm_map/gsm_map.cnf"
15255 tvbuff_t *parameter_tvb;
15256 proto_tree *subtree;
15258 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15259 &parameter_tvb);
15262 if (!parameter_tvb)
15263 return offset;
15265 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GeographicalInformation);
15266 dissect_geographical_description(parameter_tvb, actx->pinfo, subtree);
15271 return offset;
15277 dissect_gsm_map_lcs_Add_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15278 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15279 NULL);
15281 return offset;
15286 static int
15287 dissect_gsm_map_lcs_PositioningDataInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15288 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15289 NULL);
15291 return offset;
15296 static int
15297 dissect_gsm_map_lcs_UtranPositioningDataInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15298 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15299 NULL);
15301 return offset;
15305 static const value_string gsm_map_lcs_AccuracyFulfilmentIndicator_vals[] = {
15306 { 0, "requestedAccuracyFulfilled" },
15307 { 1, "requestedAccuracyNotFulfilled" },
15308 { 0, NULL }
15312 static int
15313 dissect_gsm_map_lcs_AccuracyFulfilmentIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15314 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15315 NULL);
15317 return offset;
15323 dissect_gsm_map_lcs_VelocityEstimate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15324 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15325 NULL);
15327 return offset;
15332 static int
15333 dissect_gsm_map_lcs_GeranGANSSpositioningData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15334 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15335 NULL);
15337 return offset;
15342 static int
15343 dissect_gsm_map_lcs_UtranGANSSpositioningData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15344 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15345 NULL);
15347 return offset;
15351 static const value_string gsm_map_lcs_ServingNodeAddress_vals[] = {
15352 { 0, "msc-Number" },
15353 { 1, "sgsn-Number" },
15354 { 2, "mme-Number" },
15355 { 0, NULL }
15358 static const ber_choice_t gsm_map_lcs_ServingNodeAddress_choice[] = {
15359 { 0, &hf_gsm_map_lcs_msc_Number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15360 { 1, &hf_gsm_map_lcs_sgsn_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15361 { 2, &hf_gsm_map_lcs_mme_Number, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
15362 { 0, NULL, 0, 0, 0, NULL }
15365 static int
15366 dissect_gsm_map_lcs_ServingNodeAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15367 offset = dissect_ber_choice(actx, tree, tvb, offset,
15368 gsm_map_lcs_ServingNodeAddress_choice, hf_index, ett_gsm_map_lcs_ServingNodeAddress,
15369 NULL);
15371 return offset;
15375 static const ber_sequence_t gsm_map_lcs_ProvideSubscriberLocation_Res_sequence[] = {
15376 { &hf_gsm_map_lcs_locationEstimate, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
15377 { &hf_gsm_map_lcs_ageOfLocationEstimate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation },
15378 { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15379 { &hf_gsm_map_lcs_add_LocationEstimate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Add_GeographicalInformation },
15380 { &hf_gsm_map_lcs_deferredmt_lrResponseIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
15381 { &hf_gsm_map_lcs_geranPositioningData, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PositioningDataInformation },
15382 { &hf_gsm_map_lcs_utranPositioningData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranPositioningDataInfo },
15383 { &hf_gsm_map_lcs_cellIdOrSai, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI },
15384 { &hf_gsm_map_lcs_sai_Present, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
15385 { &hf_gsm_map_lcs_accuracyFulfilmentIndicator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AccuracyFulfilmentIndicator },
15386 { &hf_gsm_map_lcs_velocityEstimate, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate },
15387 { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
15388 { &hf_gsm_map_lcs_geranGANSSpositioningData, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_GeranGANSSpositioningData },
15389 { &hf_gsm_map_lcs_utranGANSSpositioningData, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranGANSSpositioningData },
15390 { &hf_gsm_map_lcs_targetServingNodeForHandover, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_lcs_ServingNodeAddress },
15391 { NULL, 0, 0, 0, NULL }
15394 static int
15395 dissect_gsm_map_lcs_ProvideSubscriberLocation_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15396 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15397 gsm_map_lcs_ProvideSubscriberLocation_Res_sequence, hf_index, ett_gsm_map_lcs_ProvideSubscriberLocation_Res);
15399 return offset;
15403 static const value_string gsm_map_lcs_LCS_Event_vals[] = {
15404 { 0, "emergencyCallOrigination" },
15405 { 1, "emergencyCallRelease" },
15406 { 2, "mo-lr" },
15407 { 3, "deferredmt-lrResponse" },
15408 { 4, "deferredmo-lrTTTPInitiation" },
15409 { 5, "emergencyCallHandover" },
15410 { 0, NULL }
15414 static int
15415 dissect_gsm_map_lcs_LCS_Event(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15416 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15417 NULL);
15419 return offset;
15423 static const value_string gsm_map_lcs_TerminationCause_vals[] = {
15424 { 0, "normal" },
15425 { 1, "errorundefined" },
15426 { 2, "internalTimeout" },
15427 { 3, "congestion" },
15428 { 4, "mt-lrRestart" },
15429 { 5, "privacyViolation" },
15430 { 6, "shapeOfLocationEstimateNotSupported" },
15431 { 7, "subscriberTermination" },
15432 { 8, "uETermination" },
15433 { 9, "networkTermination" },
15434 { 0, NULL }
15438 static int
15439 dissect_gsm_map_lcs_TerminationCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15440 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15441 NULL);
15443 return offset;
15447 static const ber_sequence_t gsm_map_lcs_Deferredmt_lrData_sequence[] = {
15448 { &hf_gsm_map_lcs_deferredLocationEventType, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_DeferredLocationEventType },
15449 { &hf_gsm_map_lcs_terminationCause, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_TerminationCause },
15450 { &hf_gsm_map_lcs_lcsLocationInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSLocationInfo },
15451 { NULL, 0, 0, 0, NULL }
15454 static int
15455 dissect_gsm_map_lcs_Deferredmt_lrData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15456 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15457 gsm_map_lcs_Deferredmt_lrData_sequence, hf_index, ett_gsm_map_lcs_Deferredmt_lrData);
15459 return offset;
15464 static int
15465 dissect_gsm_map_lcs_SequenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15466 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15467 NULL);
15469 return offset;
15473 static const ber_sequence_t gsm_map_lcs_SubscriberLocationReport_Arg_sequence[] = {
15474 { &hf_gsm_map_lcs_lcs_Event, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_LCS_Event },
15475 { &hf_gsm_map_lcs_lcs_ClientID, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_LCS_ClientID },
15476 { &hf_gsm_map_lcs_lcsLocationInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_LCSLocationInfo },
15477 { &hf_gsm_map_lcs_msisdn , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15478 { &hf_gsm_map_lcs_imsi , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15479 { &hf_gsm_map_lcs_imei , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
15480 { &hf_gsm_map_lcs_na_ESRD , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15481 { &hf_gsm_map_lcs_na_ESRK , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15482 { &hf_gsm_map_lcs_locationEstimate, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
15483 { &hf_gsm_map_lcs_ageOfLocationEstimate, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation },
15484 { &hf_gsm_map_lcs_slr_ArgExtensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SLR_ArgExtensionContainer },
15485 { &hf_gsm_map_lcs_add_LocationEstimate, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Add_GeographicalInformation },
15486 { &hf_gsm_map_lcs_deferredmt_lrData, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Deferredmt_lrData },
15487 { &hf_gsm_map_lcs_lcs_ReferenceNumber, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
15488 { &hf_gsm_map_lcs_geranPositioningData, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PositioningDataInformation },
15489 { &hf_gsm_map_lcs_utranPositioningData, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranPositioningDataInfo },
15490 { &hf_gsm_map_lcs_cellIdOrSai, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI },
15491 { &hf_gsm_map_lcs_h_gmlc_Address, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
15492 { &hf_gsm_map_lcs_lcsServiceTypeID, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSServiceTypeID },
15493 { &hf_gsm_map_lcs_sai_Present, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
15494 { &hf_gsm_map_lcs_pseudonymIndicator, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
15495 { &hf_gsm_map_lcs_accuracyFulfilmentIndicator, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AccuracyFulfilmentIndicator },
15496 { &hf_gsm_map_lcs_velocityEstimate, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate },
15497 { &hf_gsm_map_lcs_sequenceNumber, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SequenceNumber },
15498 { &hf_gsm_map_lcs_periodicLDRInfo, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PeriodicLDRInfo },
15499 { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
15500 { &hf_gsm_map_lcs_geranGANSSpositioningData, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_GeranGANSSpositioningData },
15501 { &hf_gsm_map_lcs_utranGANSSpositioningData, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranGANSSpositioningData },
15502 { &hf_gsm_map_lcs_targetServingNodeForHandover, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_lcs_ServingNodeAddress },
15503 { NULL, 0, 0, 0, NULL }
15506 static int
15507 dissect_gsm_map_lcs_SubscriberLocationReport_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15508 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15509 gsm_map_lcs_SubscriberLocationReport_Arg_sequence, hf_index, ett_gsm_map_lcs_SubscriberLocationReport_Arg);
15511 return offset;
15515 static const ber_sequence_t gsm_map_lcs_SubscriberLocationReport_Res_sequence[] = {
15516 { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15517 { &hf_gsm_map_lcs_na_ESRK , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15518 { &hf_gsm_map_lcs_na_ESRD , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15519 { &hf_gsm_map_lcs_h_gmlc_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
15520 { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
15521 { &hf_gsm_map_lcs_reportingPLMNList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ReportingPLMNList },
15522 { &hf_gsm_map_lcs_lcs_ReferenceNumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
15523 { NULL, 0, 0, 0, NULL }
15526 static int
15527 dissect_gsm_map_lcs_SubscriberLocationReport_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15528 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15529 gsm_map_lcs_SubscriberLocationReport_Res_sequence, hf_index, ett_gsm_map_lcs_SubscriberLocationReport_Res);
15531 return offset;
15534 /*--- PDUs ---*/
15536 int dissect_gsm_map_lcs_LCS_ClientID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15537 int offset = 0;
15538 asn1_ctx_t asn1_ctx;
15539 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
15540 offset = dissect_gsm_map_lcs_LCS_ClientID(FALSE, tvb, offset, &asn1_ctx, tree, hf_gsm_map_lcs_gsm_map_lcs_LCS_ClientID_PDU);
15541 return offset;
15545 /* --- Module MAP-GR-DataTypes --- --- --- */
15549 static int
15550 dissect_gsm_map_gr_CODEC_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15551 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15552 NULL);
15554 return offset;
15559 static int
15560 dissect_gsm_map_gr_CipheringAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15561 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15562 NULL);
15564 return offset;
15569 static int
15570 dissect_gsm_map_gr_GroupKeyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15571 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15572 NULL);
15574 return offset;
15579 static int
15580 dissect_gsm_map_gr_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15581 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
15583 return offset;
15588 static int
15589 dissect_gsm_map_gr_VSTK(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15590 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15591 NULL);
15593 return offset;
15598 static int
15599 dissect_gsm_map_gr_VSTK_RAND(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15600 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15601 NULL);
15603 return offset;
15607 static const ber_sequence_t gsm_map_gr_PrepareGroupCallArg_sequence[] = {
15608 { &hf_gsm_map_gr_teleservice, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_TeleserviceCode },
15609 { &hf_gsm_map_gr_asciCallReference, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ASCI_CallReference },
15610 { &hf_gsm_map_gr_codec_Info, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_gr_CODEC_Info },
15611 { &hf_gsm_map_gr_cipheringAlgorithm, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_gr_CipheringAlgorithm },
15612 { &hf_gsm_map_gr_groupKeyNumber_Vk_Id, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_GroupKeyNumber },
15613 { &hf_gsm_map_gr_groupKey , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Kc },
15614 { &hf_gsm_map_gr_priority , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority },
15615 { &hf_gsm_map_gr_uplinkFree, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15616 { &hf_gsm_map_gr_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15617 { &hf_gsm_map_gr_vstk , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_VSTK },
15618 { &hf_gsm_map_gr_vstk_rand, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_VSTK_RAND },
15619 { &hf_gsm_map_gr_talkerChannelParameter, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15620 { &hf_gsm_map_gr_uplinkReplyIndicator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15621 { NULL, 0, 0, 0, NULL }
15624 static int
15625 dissect_gsm_map_gr_PrepareGroupCallArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15626 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15627 gsm_map_gr_PrepareGroupCallArg_sequence, hf_index, ett_gsm_map_gr_PrepareGroupCallArg);
15629 return offset;
15633 static const ber_sequence_t gsm_map_gr_PrepareGroupCallRes_sequence[] = {
15634 { &hf_gsm_map_gr_groupCallNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
15635 { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15636 { NULL, 0, 0, 0, NULL }
15639 static int
15640 dissect_gsm_map_gr_PrepareGroupCallRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15641 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15642 gsm_map_gr_PrepareGroupCallRes_sequence, hf_index, ett_gsm_map_gr_PrepareGroupCallRes);
15644 return offset;
15648 static const value_string gsm_map_gr_TalkerPriority_vals[] = {
15649 { 0, "normal" },
15650 { 1, "privileged" },
15651 { 2, "emergency" },
15652 { 0, NULL }
15656 static int
15657 dissect_gsm_map_gr_TalkerPriority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15658 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15659 NULL);
15661 return offset;
15665 static const ber_sequence_t gsm_map_gr_SendGroupCallEndSignalArg_sequence[] = {
15666 { &hf_gsm_map_gr_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
15667 { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15668 { &hf_gsm_map_gr_talkerPriority, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_TalkerPriority },
15669 { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo },
15670 { NULL, 0, 0, 0, NULL }
15673 static int
15674 dissect_gsm_map_gr_SendGroupCallEndSignalArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15675 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15676 gsm_map_gr_SendGroupCallEndSignalArg_sequence, hf_index, ett_gsm_map_gr_SendGroupCallEndSignalArg);
15678 return offset;
15682 static const ber_sequence_t gsm_map_gr_SendGroupCallEndSignalRes_sequence[] = {
15683 { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15684 { NULL, 0, 0, 0, NULL }
15687 static int
15688 dissect_gsm_map_gr_SendGroupCallEndSignalRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15689 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15690 gsm_map_gr_SendGroupCallEndSignalRes_sequence, hf_index, ett_gsm_map_gr_SendGroupCallEndSignalRes);
15692 return offset;
15696 static const ber_sequence_t gsm_map_gr_StateAttributes_sequence[] = {
15697 { &hf_gsm_map_gr_downlinkAttached, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15698 { &hf_gsm_map_gr_uplinkAttached, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15699 { &hf_gsm_map_gr_dualCommunication, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15700 { &hf_gsm_map_gr_callOriginator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15701 { NULL, 0, 0, 0, NULL }
15704 static int
15705 dissect_gsm_map_gr_StateAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15706 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15707 gsm_map_gr_StateAttributes_sequence, hf_index, ett_gsm_map_gr_StateAttributes);
15709 return offset;
15713 static const ber_sequence_t gsm_map_gr_ForwardGroupCallSignallingArg_sequence[] = {
15714 { &hf_gsm_map_gr_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
15715 { &hf_gsm_map_gr_uplinkRequestAck, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15716 { &hf_gsm_map_gr_uplinkReleaseIndication, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15717 { &hf_gsm_map_gr_uplinkRejectCommand, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15718 { &hf_gsm_map_gr_uplinkSeizedCommand, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15719 { &hf_gsm_map_gr_uplinkReleaseCommand, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15720 { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15721 { &hf_gsm_map_gr_stateAttributes, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_StateAttributes },
15722 { &hf_gsm_map_gr_talkerPriority, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_TalkerPriority },
15723 { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo },
15724 { &hf_gsm_map_gr_emergencyModeResetCommandFlag, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15725 { &hf_gsm_map_gr_sm_RP_UI , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SignalInfo },
15726 { &hf_gsm_map_gr_an_APDU , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo },
15727 { NULL, 0, 0, 0, NULL }
15730 static int
15731 dissect_gsm_map_gr_ForwardGroupCallSignallingArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15732 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15733 gsm_map_gr_ForwardGroupCallSignallingArg_sequence, hf_index, ett_gsm_map_gr_ForwardGroupCallSignallingArg);
15735 return offset;
15739 static const ber_sequence_t gsm_map_gr_ProcessGroupCallSignallingArg_sequence[] = {
15740 { &hf_gsm_map_gr_uplinkRequest, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15741 { &hf_gsm_map_gr_uplinkReleaseIndication, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15742 { &hf_gsm_map_gr_releaseGroupCall, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15743 { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15744 { &hf_gsm_map_gr_talkerPriority, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_TalkerPriority },
15745 { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo },
15746 { &hf_gsm_map_gr_emergencyModeResetCommandFlag, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
15747 { &hf_gsm_map_gr_an_APDU , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo },
15748 { NULL, 0, 0, 0, NULL }
15751 static int
15752 dissect_gsm_map_gr_ProcessGroupCallSignallingArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15753 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15754 gsm_map_gr_ProcessGroupCallSignallingArg_sequence, hf_index, ett_gsm_map_gr_ProcessGroupCallSignallingArg);
15756 return offset;
15760 static const value_string gsm_map_gr_RequestedInfo_vals[] = {
15761 { 0, "anchorMSC-AddressAndASCI-CallReference" },
15762 { 1, "imsiAndAdditionalInfoAndAdditionalSubscription" },
15763 { 0, NULL }
15767 static int
15768 dissect_gsm_map_gr_RequestedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15769 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15770 NULL);
15772 return offset;
15776 static const ber_sequence_t gsm_map_gr_SendGroupCallInfoArg_sequence[] = {
15777 { &hf_gsm_map_gr_requestedInfo, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_gr_RequestedInfo },
15778 { &hf_gsm_map_gr_groupId , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Long_GroupId },
15779 { &hf_gsm_map_gr_teleservice, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_TeleserviceCode },
15780 { &hf_gsm_map_gr_cellId , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GlobalCellId },
15781 { &hf_gsm_map_gr_imsi , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15782 { &hf_gsm_map_gr_tmsi , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_TMSI },
15783 { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo },
15784 { &hf_gsm_map_gr_talkerPriority, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_TalkerPriority },
15785 { &hf_gsm_map_gr_cksn , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Cksn },
15786 { &hf_gsm_map_gr_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15787 { NULL, 0, 0, 0, NULL }
15790 static int
15791 dissect_gsm_map_gr_SendGroupCallInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15792 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15793 gsm_map_gr_SendGroupCallInfoArg_sequence, hf_index, ett_gsm_map_gr_SendGroupCallInfoArg);
15795 return offset;
15799 static const ber_sequence_t gsm_map_gr_SendGroupCallInfoRes_sequence[] = {
15800 { &hf_gsm_map_gr_anchorMSC_Address, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15801 { &hf_gsm_map_gr_asciCallReference, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ASCI_CallReference },
15802 { &hf_gsm_map_gr_imsi , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15803 { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo },
15804 { &hf_gsm_map_gr_additionalSubscriptions, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalSubscriptions },
15805 { &hf_gsm_map_gr_kc , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Kc },
15806 { &hf_gsm_map_gr_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15807 { NULL, 0, 0, 0, NULL }
15810 static int
15811 dissect_gsm_map_gr_SendGroupCallInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15812 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15813 gsm_map_gr_SendGroupCallInfoRes_sequence, hf_index, ett_gsm_map_gr_SendGroupCallInfoRes);
15815 return offset;
15819 /* --- Module MAP-DialogueInformation --- --- --- */
15822 static const ber_sequence_t gsm_map_dialogue_MAP_OpenInfo_sequence[] = {
15823 { &hf_gsm_map_dialogue_destinationReference, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
15824 { &hf_gsm_map_dialogue_originationReference, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
15825 { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15826 { NULL, 0, 0, 0, NULL }
15829 static int
15830 dissect_gsm_map_dialogue_MAP_OpenInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15831 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15832 gsm_map_dialogue_MAP_OpenInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_OpenInfo);
15834 return offset;
15838 static const ber_sequence_t gsm_map_dialogue_MAP_AcceptInfo_sequence[] = {
15839 { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15840 { NULL, 0, 0, 0, NULL }
15843 static int
15844 dissect_gsm_map_dialogue_MAP_AcceptInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15845 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15846 gsm_map_dialogue_MAP_AcceptInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_AcceptInfo);
15848 return offset;
15852 static const ber_sequence_t gsm_map_dialogue_MAP_CloseInfo_sequence[] = {
15853 { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15854 { NULL, 0, 0, 0, NULL }
15857 static int
15858 dissect_gsm_map_dialogue_MAP_CloseInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15859 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15860 gsm_map_dialogue_MAP_CloseInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_CloseInfo);
15862 return offset;
15866 static const value_string gsm_map_dialogue_Reason_vals[] = {
15867 { 0, "noReasonGiven" },
15868 { 1, "invalidDestinationReference" },
15869 { 2, "invalidOriginatingReference" },
15870 { 0, NULL }
15874 static int
15875 dissect_gsm_map_dialogue_Reason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15876 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15877 NULL);
15879 return offset;
15884 static int
15885 dissect_gsm_map_dialogue_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15886 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
15888 return offset;
15892 static const ber_sequence_t gsm_map_dialogue_MAP_RefuseInfo_sequence[] = {
15893 { &hf_gsm_map_dialogue_reason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_dialogue_Reason },
15894 { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15895 { &hf_gsm_map_dialogue_alternativeApplicationContext, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_dialogue_OBJECT_IDENTIFIER },
15896 { NULL, 0, 0, 0, NULL }
15899 static int
15900 dissect_gsm_map_dialogue_MAP_RefuseInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15901 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15902 gsm_map_dialogue_MAP_RefuseInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_RefuseInfo);
15904 return offset;
15909 static int
15910 dissect_gsm_map_dialogue_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15911 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
15913 return offset;
15917 static const value_string gsm_map_dialogue_ResourceUnavailableReason_vals[] = {
15918 { 0, "shortTermResourceLimitation" },
15919 { 1, "longTermResourceLimitation" },
15920 { 0, NULL }
15924 static int
15925 dissect_gsm_map_dialogue_ResourceUnavailableReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15926 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15927 NULL);
15929 return offset;
15933 static const value_string gsm_map_dialogue_ProcedureCancellationReason_vals[] = {
15934 { 0, "handoverCancellation" },
15935 { 1, "radioChannelRelease" },
15936 { 2, "networkPathRelease" },
15937 { 3, "callRelease" },
15938 { 4, "associatedProcedureFailure" },
15939 { 5, "tandemDialogueRelease" },
15940 { 6, "remoteOperationsFailure" },
15941 { 0, NULL }
15945 static int
15946 dissect_gsm_map_dialogue_ProcedureCancellationReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15947 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15948 NULL);
15950 return offset;
15954 static const value_string gsm_map_dialogue_MAP_UserAbortChoice_vals[] = {
15955 { 0, "userSpecificReason" },
15956 { 1, "userResourceLimitation" },
15957 { 2, "resourceUnavailable" },
15958 { 3, "applicationProcedureCancellation" },
15959 { 0, NULL }
15962 static const ber_choice_t gsm_map_dialogue_MAP_UserAbortChoice_choice[] = {
15963 { 0, &hf_gsm_map_dialogue_userSpecificReason, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_NULL },
15964 { 1, &hf_gsm_map_dialogue_userResourceLimitation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_NULL },
15965 { 2, &hf_gsm_map_dialogue_resourceUnavailable, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_ResourceUnavailableReason },
15966 { 3, &hf_gsm_map_dialogue_applicationProcedureCancellation, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_ProcedureCancellationReason },
15967 { 0, NULL, 0, 0, 0, NULL }
15970 static int
15971 dissect_gsm_map_dialogue_MAP_UserAbortChoice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15972 offset = dissect_ber_choice(actx, tree, tvb, offset,
15973 gsm_map_dialogue_MAP_UserAbortChoice_choice, hf_index, ett_gsm_map_dialogue_MAP_UserAbortChoice,
15974 NULL);
15976 return offset;
15980 static const ber_sequence_t gsm_map_dialogue_MAP_UserAbortInfo_sequence[] = {
15981 { &hf_gsm_map_dialogue_map_UserAbortChoice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_dialogue_MAP_UserAbortChoice },
15982 { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15983 { NULL, 0, 0, 0, NULL }
15986 static int
15987 dissect_gsm_map_dialogue_MAP_UserAbortInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15988 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15989 gsm_map_dialogue_MAP_UserAbortInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_UserAbortInfo);
15991 return offset;
15995 static const value_string gsm_map_dialogue_MAP_ProviderAbortReason_vals[] = {
15996 { 0, "abnormalDialogue" },
15997 { 1, "invalidPDU" },
15998 { 0, NULL }
16002 static int
16003 dissect_gsm_map_dialogue_MAP_ProviderAbortReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16004 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16005 NULL);
16007 return offset;
16011 static const ber_sequence_t gsm_map_dialogue_MAP_ProviderAbortInfo_sequence[] = {
16012 { &hf_gsm_map_dialogue_map_ProviderAbortReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_dialogue_MAP_ProviderAbortReason },
16013 { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
16014 { NULL, 0, 0, 0, NULL }
16017 static int
16018 dissect_gsm_map_dialogue_MAP_ProviderAbortInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16019 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16020 gsm_map_dialogue_MAP_ProviderAbortInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_ProviderAbortInfo);
16022 return offset;
16026 static const value_string gsm_map_dialogue_MAP_DialoguePDU_vals[] = {
16027 { 0, "map-open" },
16028 { 1, "map-accept" },
16029 { 2, "map-close" },
16030 { 3, "map-refuse" },
16031 { 4, "map-userAbort" },
16032 { 5, "map-providerAbort" },
16033 { 0, NULL }
16036 static const ber_choice_t gsm_map_dialogue_MAP_DialoguePDU_choice[] = {
16037 { 0, &hf_gsm_map_dialogue_map_open, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_OpenInfo },
16038 { 1, &hf_gsm_map_dialogue_map_accept, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_AcceptInfo },
16039 { 2, &hf_gsm_map_dialogue_map_close, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_CloseInfo },
16040 { 3, &hf_gsm_map_dialogue_map_refuse, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_RefuseInfo },
16041 { 4, &hf_gsm_map_dialogue_map_userAbort, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_UserAbortInfo },
16042 { 5, &hf_gsm_map_dialogue_map_providerAbort, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_ProviderAbortInfo },
16043 { 0, NULL, 0, 0, 0, NULL }
16046 static int
16047 dissect_gsm_map_dialogue_MAP_DialoguePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16048 offset = dissect_ber_choice(actx, tree, tvb, offset,
16049 gsm_map_dialogue_MAP_DialoguePDU_choice, hf_index, ett_gsm_map_dialogue_MAP_DialoguePDU,
16050 NULL);
16052 return offset;
16055 /*--- PDUs ---*/
16057 static void dissect_gsm_map_dialogue_MAP_DialoguePDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
16058 asn1_ctx_t asn1_ctx;
16059 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
16060 dissect_gsm_map_dialogue_MAP_DialoguePDU(FALSE, tvb, 0, &asn1_ctx, tree, hf_gsm_map_dialogue_gsm_map_dialogue_MAP_DialoguePDU_PDU);
16064 /* --- Module MAP-LocationServiceOperations --- --- --- */
16067 /* --- Module MAP-Group-Call-Operations --- --- --- */
16070 /* --- Module MAP-ShortMessageServiceOperations --- --- --- */
16073 /* --- Module MAP-SupplementaryServiceOperations --- --- --- */
16076 /* --- Module MAP-CallHandlingOperations --- --- --- */
16079 /* --- Module MAP-OperationAndMaintenanceOperations --- --- --- */
16082 /* --- Module MAP-MobileServiceOperations --- --- --- */
16085 /* --- Module MAP-Errors --- --- --- */
16088 /* --- Module MAP-Protocol --- --- --- */
16091 /* --- Module DummyMAP --- --- --- */
16095 static int
16096 dissect_gsm_old_InvokeIdType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16097 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16098 NULL);
16100 return offset;
16104 static const value_string gsm_old_GSMMAPOperationLocalvalue_vals[] = {
16105 { 2, "updateLocation" },
16106 { 3, "cancelLocation" },
16107 { 4, "provideRoamingNumber" },
16108 { 5, "noteSubscriberDataModified" },
16109 { 6, "resumeCallHandling" },
16110 { 7, "insertSubscriberData" },
16111 { 8, "deleteSubscriberData" },
16112 { 9, "sendParameters" },
16113 { 10, "registerSS" },
16114 { 11, "eraseSS" },
16115 { 12, "activateSS" },
16116 { 13, "deactivateSS" },
16117 { 14, "interrogateSS" },
16118 { 15, "authenticationFailureReport" },
16119 { 16, "notifySS" },
16120 { 17, "registerPassword" },
16121 { 18, "getPassword" },
16122 { 19, "processUnstructuredSS-Data" },
16123 { 20, "releaseResources" },
16124 { 21, "mt-ForwardSM-VGCS" },
16125 { 22, "sendRoutingInfo" },
16126 { 23, "updateGprsLocation" },
16127 { 24, "sendRoutingInfoForGprs" },
16128 { 25, "failureReport" },
16129 { 26, "noteMsPresentForGprs" },
16130 { 27, "unAllocated" },
16131 { 28, "performHandover" },
16132 { 29, "sendEndSignal" },
16133 { 30, "performSubsequentHandover" },
16134 { 31, "provideSIWFSNumber" },
16135 { 32, "sIWFSSignallingModify" },
16136 { 33, "processAccessSignalling" },
16137 { 34, "forwardAccessSignalling" },
16138 { 35, "noteInternalHandover" },
16139 { 36, "unAllocated" },
16140 { 37, "reset" },
16141 { 38, "forwardCheckSS" },
16142 { 39, "prepareGroupCall" },
16143 { 40, "sendGroupCallEndSignal" },
16144 { 41, "processGroupCallSignalling" },
16145 { 42, "forwardGroupCallSignalling" },
16146 { 43, "checkIMEI" },
16147 { 44, "mt-forwardSM" },
16148 { 45, "sendRoutingInfoForSM" },
16149 { 46, "mo-forwardSM" },
16150 { 47, "reportSM-DeliveryStatus" },
16151 { 48, "noteSubscriberPresent" },
16152 { 49, "alertServiceCentreWithoutResult" },
16153 { 50, "activateTraceMode" },
16154 { 51, "deactivateTraceMode" },
16155 { 52, "traceSubscriberActivity" },
16156 { 53, "unAllocated" },
16157 { 54, "beginSubscriberActivity" },
16158 { 55, "sendIdentification" },
16159 { 56, "sendAuthenticationInfo" },
16160 { 57, "restoreData" },
16161 { 58, "sendIMSI" },
16162 { 59, "processUnstructuredSS-Request" },
16163 { 60, "unstructuredSS-Request" },
16164 { 61, "unstructuredSS-Notify" },
16165 { 62, "anyTimeSubscriptionInterrogation" },
16166 { 63, "informServiceCentre" },
16167 { 64, "alertServiceCentre" },
16168 { 65, "anyTimeModification" },
16169 { 66, "readyForSM" },
16170 { 67, "purgeMS" },
16171 { 68, "prepareHandover" },
16172 { 69, "prepareSubsequentHandover" },
16173 { 70, "provideSubscriberInfo" },
16174 { 71, "anyTimeInterrogation" },
16175 { 72, "ss-InvocationNotification" },
16176 { 73, "setReportingState" },
16177 { 74, "statusReport" },
16178 { 75, "remoteUserFree" },
16179 { 76, "registerCC-Entry" },
16180 { 77, "eraseCC-Entry" },
16181 { 78, "secureTransportClass1" },
16182 { 79, "secureTransportClass2" },
16183 { 80, "secureTransportClass3" },
16184 { 81, "secureTransportClass4" },
16185 { 82, "unAllocated" },
16186 { 83, "provideSubscriberLocation" },
16187 { 84, "sendGroupCallInfo" },
16188 { 85, "sendRoutingInfoForLCS" },
16189 { 86, "subscriberLocationReport" },
16190 { 87, "ist-Alert" },
16191 { 88, "ist-Command" },
16192 { 89, "noteMM-Event" },
16193 { 90, "unAllocated" },
16194 { 91, "unAllocated" },
16195 { 92, "unAllocated" },
16196 { 93, "unAllocated" },
16197 { 94, "unAllocated" },
16198 { 95, "unAllocated" },
16199 { 96, "unAllocated" },
16200 { 97, "unAllocated" },
16201 { 98, "unAllocated" },
16202 { 99, "unAllocated" },
16203 { 100, "unAllocated" },
16204 { 101, "unAllocated" },
16205 { 102, "unAllocated" },
16206 { 103, "unAllocated" },
16207 { 104, "unAllocated" },
16208 { 105, "unAllocated" },
16209 { 106, "unAllocated" },
16210 { 107, "unAllocated" },
16211 { 108, "unAllocated" },
16212 { 109, "lcs-PeriodicLocationCancellation" },
16213 { 110, "lcs-LocationUpdate" },
16214 { 111, "lcs-PeriodicLocationRequest" },
16215 { 112, "lcs-AreaEventCancellation" },
16216 { 113, "lcs-AreaEventReport" },
16217 { 114, "lcs-AreaEventRequest" },
16218 { 115, "lcs-MOLR" },
16219 { 116, "lcs-LocationNotification" },
16220 { 117, "callDeflection" },
16221 { 118, "userUserService" },
16222 { 119, "accessRegisterCCEntry" },
16223 { 120, "forwardCUG-Info" },
16224 { 121, "splitMPTY" },
16225 { 122, "retrieveMPTY" },
16226 { 123, "holdMPTY" },
16227 { 124, "buildMPTY" },
16228 { 125, "forwardChargeAdvice" },
16229 { 126, "explicitCT" },
16230 { 0, NULL }
16233 static value_string_ext gsm_old_GSMMAPOperationLocalvalue_vals_ext = VALUE_STRING_EXT_INIT(gsm_old_GSMMAPOperationLocalvalue_vals);
16236 static int
16237 dissect_gsm_old_GSMMAPOperationLocalvalue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16238 #line 189 "../../asn1/gsm_map/gsm_map.cnf"
16240 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16241 &opcode);
16243 col_append_str(actx->pinfo->cinfo, COL_INFO, gsm_map_opr_code(opcode));
16244 col_append_str(actx->pinfo->cinfo, COL_INFO, " ");
16248 return offset;
16253 static int
16254 dissect_gsm_old_OperationLocalvalue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16255 offset = dissect_gsm_old_GSMMAPOperationLocalvalue(implicit_tag, tvb, offset, actx, tree, hf_index);
16257 return offset;
16262 static int
16263 dissect_gsm_old_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16264 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
16266 return offset;
16270 static const value_string gsm_old_MAP_OPERATION_vals[] = {
16271 { 0, "localValue" },
16272 { 1, "globalValue" },
16273 { 0, NULL }
16276 static const ber_choice_t gsm_old_MAP_OPERATION_choice[] = {
16277 { 0, &hf_gsm_old_localValue , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OperationLocalvalue },
16278 { 1, &hf_gsm_old_globalValue , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OBJECT_IDENTIFIER },
16279 { 0, NULL, 0, 0, 0, NULL }
16282 static int
16283 dissect_gsm_old_MAP_OPERATION(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16284 offset = dissect_ber_choice(actx, tree, tvb, offset,
16285 gsm_old_MAP_OPERATION_choice, hf_index, ett_gsm_old_MAP_OPERATION,
16286 NULL);
16288 return offset;
16293 static int
16294 dissect_gsm_old_InvokeParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16295 #line 176 "../../asn1/gsm_map/gsm_map.cnf"
16296 offset = dissect_invokeData(tree, tvb, offset, actx);
16300 return offset;
16304 static const ber_sequence_t gsm_old_Invoke_sequence[] = {
16305 { &hf_gsm_old_invokeID , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeIdType },
16306 { &hf_gsm_old_linkedID , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_old_InvokeIdType },
16307 { &hf_gsm_old_opCode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_MAP_OPERATION },
16308 { &hf_gsm_old_invokeparameter, BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeParameter },
16309 { NULL, 0, 0, 0, NULL }
16312 static int
16313 dissect_gsm_old_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16314 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16315 gsm_old_Invoke_sequence, hf_index, ett_gsm_old_Invoke);
16317 return offset;
16322 static int
16323 dissect_gsm_old_ReturnResultParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16324 #line 179 "../../asn1/gsm_map/gsm_map.cnf"
16325 offset = dissect_returnResultData(tree, tvb, offset, actx);
16329 return offset;
16333 static const ber_sequence_t gsm_old_T_resultretres_sequence[] = {
16334 { &hf_gsm_old_opCode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_MAP_OPERATION },
16335 { &hf_gsm_old_returnparameter, BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ReturnResultParameter },
16336 { NULL, 0, 0, 0, NULL }
16339 static int
16340 dissect_gsm_old_T_resultretres(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16341 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16342 gsm_old_T_resultretres_sequence, hf_index, ett_gsm_old_T_resultretres);
16344 return offset;
16348 static const ber_sequence_t gsm_old_ReturnResult_sequence[] = {
16349 { &hf_gsm_old_invokeID , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeIdType },
16350 { &hf_gsm_old_resultretres, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_T_resultretres },
16351 { NULL, 0, 0, 0, NULL }
16354 static int
16355 dissect_gsm_old_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16356 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16357 gsm_old_ReturnResult_sequence, hf_index, ett_gsm_old_ReturnResult);
16359 return offset;
16363 const value_string gsm_old_GSMMAPLocalErrorcode_vals[] = {
16364 { 1, "unknownSubscriber" },
16365 { 2, "unknownBaseStation" },
16366 { 3, "unknownMSC" },
16367 { 4, "secureTransportError" },
16368 { 5, "unidentifiedSubscriber" },
16369 { 6, "absentSubscriberSM" },
16370 { 7, "unknownEquipment" },
16371 { 8, "roamingNotAllowed" },
16372 { 9, "illegalSubscriber" },
16373 { 10, "bearerServiceNotProvisioned" },
16374 { 11, "teleserviceNotProvisioned" },
16375 { 12, "illegalEquipment" },
16376 { 13, "callBarred" },
16377 { 14, "forwardingViolation" },
16378 { 15, "cug-Reject" },
16379 { 16, "illegalSS-Operation" },
16380 { 17, "ss-ErrorStatus" },
16381 { 18, "ss-NotAvailable" },
16382 { 19, "ss-SubscriptionViolatio" },
16383 { 20, "ss-Incompatibility" },
16384 { 21, "facilityNotSupported" },
16385 { 22, "ongoingGroupCall" },
16386 { 23, "invalidTargetBaseStation" },
16387 { 24, "noRadioResourceAvailable" },
16388 { 25, "noHandoverNumberAvailable" },
16389 { 26, "subsequentHandoverFailure" },
16390 { 27, "absentSubscriber" },
16391 { 28, "incompatibleTerminal" },
16392 { 29, "shortTermDenial" },
16393 { 30, "longTermDenial" },
16394 { 31, "subscriberBusyForMT-SMS" },
16395 { 32, "sm-DeliveryFailure" },
16396 { 33, "messageWaitingListFull" },
16397 { 34, "systemFailure" },
16398 { 35, "dataMissing" },
16399 { 36, "unexpectedDataValue" },
16400 { 37, "pw-RegistrationFailur" },
16401 { 38, "negativePW-Check" },
16402 { 39, "noRoamingNumberAvailable" },
16403 { 40, "tracingBufferFull" },
16404 { 42, "targetCellOutsideGroupCallArea" },
16405 { 43, "numberOfPW-AttemptsViolation" },
16406 { 44, "numberChanged" },
16407 { 45, "busySubscriber" },
16408 { 46, "noSubscriberReply" },
16409 { 47, "forwardingFailed" },
16410 { 48, "or-NotAllowed" },
16411 { 49, "ati-NotAllowed" },
16412 { 50, "noGroupCallNumberAvailable" },
16413 { 51, "resourceLimitation" },
16414 { 52, "unauthorizedRequestingNetwork" },
16415 { 53, "unauthorizedLCSClient" },
16416 { 54, "positionMethodFailure" },
16417 { 58, "unknownOrUnreachableLCSClient" },
16418 { 59, "mm-EventNotSupported" },
16419 { 60, "atsi-NotAllowed" },
16420 { 61, "atm-NotAllowed" },
16421 { 62, "informationNotAvailabl" },
16422 { 71, "unknownAlphabe" },
16423 { 72, "ussd-Busy" },
16424 { 0, NULL }
16429 dissect_gsm_old_GSMMAPLocalErrorcode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16430 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16431 &errorCode);
16433 return offset;
16438 static int
16439 dissect_gsm_old_LocalErrorcode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16440 offset = dissect_gsm_old_GSMMAPLocalErrorcode(implicit_tag, tvb, offset, actx, tree, hf_index);
16442 return offset;
16446 static const value_string gsm_old_MAP_ERROR_vals[] = {
16447 { 0, "localValue" },
16448 { 1, "globalValue" },
16449 { 0, NULL }
16452 static const ber_choice_t gsm_old_MAP_ERROR_choice[] = {
16453 { 0, &hf_gsm_old_localValue_01, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_LocalErrorcode },
16454 { 1, &hf_gsm_old_globalValue , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OBJECT_IDENTIFIER },
16455 { 0, NULL, 0, 0, 0, NULL }
16458 static int
16459 dissect_gsm_old_MAP_ERROR(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16460 offset = dissect_ber_choice(actx, tree, tvb, offset,
16461 gsm_old_MAP_ERROR_choice, hf_index, ett_gsm_old_MAP_ERROR,
16462 NULL);
16464 return offset;
16469 static int
16470 dissect_gsm_old_ReturnErrorParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16471 #line 182 "../../asn1/gsm_map/gsm_map.cnf"
16472 offset = dissect_returnErrorData(tree, tvb, offset, actx);
16476 return offset;
16480 static const ber_sequence_t gsm_old_ReturnError_sequence[] = {
16481 { &hf_gsm_old_invokeID , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeIdType },
16482 { &hf_gsm_old_errorCode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_MAP_ERROR },
16483 { &hf_gsm_old_parameter , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ReturnErrorParameter },
16484 { NULL, 0, 0, 0, NULL }
16487 static int
16488 dissect_gsm_old_ReturnError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16489 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16490 gsm_old_ReturnError_sequence, hf_index, ett_gsm_old_ReturnError);
16492 return offset;
16497 static int
16498 dissect_gsm_old_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16499 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
16501 return offset;
16505 static const value_string gsm_old_T_invokeIDRej_vals[] = {
16506 { 0, "derivable" },
16507 { 1, "not-derivable" },
16508 { 0, NULL }
16511 static const ber_choice_t gsm_old_T_invokeIDRej_choice[] = {
16512 { 0, &hf_gsm_old_derivable , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeIdType },
16513 { 1, &hf_gsm_old_not_derivable, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_gsm_old_NULL },
16514 { 0, NULL, 0, 0, 0, NULL }
16517 static int
16518 dissect_gsm_old_T_invokeIDRej(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16519 offset = dissect_ber_choice(actx, tree, tvb, offset,
16520 gsm_old_T_invokeIDRej_choice, hf_index, ett_gsm_old_T_invokeIDRej,
16521 NULL);
16523 return offset;
16527 static const value_string gsm_old_GeneralProblem_vals[] = {
16528 { 0, "unrecognizedComponent" },
16529 { 1, "mistypedComponent" },
16530 { 2, "badlyStructuredComponent" },
16531 { 0, NULL }
16535 static int
16536 dissect_gsm_old_GeneralProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16537 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16538 NULL);
16540 return offset;
16544 static const value_string gsm_old_InvokeProblem_vals[] = {
16545 { 0, "duplicateInvokeID" },
16546 { 1, "unrecognizedOperation" },
16547 { 2, "mistypedParameter" },
16548 { 3, "resourceLimitation" },
16549 { 4, "initiatingRelease" },
16550 { 5, "unrecognizedLinkedID" },
16551 { 6, "linkedResponseUnexpected" },
16552 { 7, "unexpectedLinkedOperation" },
16553 { 0, NULL }
16557 static int
16558 dissect_gsm_old_InvokeProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16559 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16560 NULL);
16562 return offset;
16566 static const value_string gsm_old_ReturnResultProblem_vals[] = {
16567 { 0, "unrecognizedInvokeID" },
16568 { 1, "returnResultUnexpected" },
16569 { 2, "mistypedParameter" },
16570 { 0, NULL }
16574 static int
16575 dissect_gsm_old_ReturnResultProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16576 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16577 NULL);
16579 return offset;
16583 static const value_string gsm_old_ReturnErrorProblem_vals[] = {
16584 { 0, "unrecognizedInvokeID" },
16585 { 1, "returnErrorUnexpected" },
16586 { 2, "unrecognizedError" },
16587 { 3, "unexpectedError" },
16588 { 4, "mistypedParameter" },
16589 { 0, NULL }
16593 static int
16594 dissect_gsm_old_ReturnErrorProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16595 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16596 NULL);
16598 return offset;
16602 static const value_string gsm_old_T_problem_vals[] = {
16603 { 0, "generalProblem" },
16604 { 1, "invokeProblem" },
16605 { 2, "returnResultProblem" },
16606 { 3, "returnErrorProblem" },
16607 { 0, NULL }
16610 static const ber_choice_t gsm_old_T_problem_choice[] = {
16611 { 0, &hf_gsm_old_generalProblem, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_old_GeneralProblem },
16612 { 1, &hf_gsm_old_invokeProblem, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_old_InvokeProblem },
16613 { 2, &hf_gsm_old_returnResultProblem, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnResultProblem },
16614 { 3, &hf_gsm_old_returnErrorProblem, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnErrorProblem },
16615 { 0, NULL, 0, 0, 0, NULL }
16618 static int
16619 dissect_gsm_old_T_problem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16620 offset = dissect_ber_choice(actx, tree, tvb, offset,
16621 gsm_old_T_problem_choice, hf_index, ett_gsm_old_T_problem,
16622 NULL);
16624 return offset;
16628 static const ber_sequence_t gsm_old_Reject_sequence[] = {
16629 { &hf_gsm_old_invokeIDRej , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_T_invokeIDRej },
16630 { &hf_gsm_old_problem , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_T_problem },
16631 { NULL, 0, 0, 0, NULL }
16634 static int
16635 dissect_gsm_old_Reject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16636 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16637 gsm_old_Reject_sequence, hf_index, ett_gsm_old_Reject);
16639 return offset;
16643 static const value_string gsm_old_Component_vals[] = {
16644 { 1, "invoke" },
16645 { 2, "returnResultLast" },
16646 { 3, "returnError" },
16647 { 4, "reject" },
16648 { 7, "returnResultNotLast" },
16649 { 0, NULL }
16652 static const ber_choice_t gsm_old_Component_choice[] = {
16653 { 1, &hf_gsm_old_invoke , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_old_Invoke },
16654 { 2, &hf_gsm_old_returnResultLast, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnResult },
16655 { 3, &hf_gsm_old_returnError , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnError },
16656 { 4, &hf_gsm_old_reject , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_old_Reject },
16657 { 7, &hf_gsm_old_returnResultNotLast, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnResult },
16658 { 0, NULL, 0, 0, 0, NULL }
16661 static int
16662 dissect_gsm_old_Component(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16663 offset = dissect_ber_choice(actx, tree, tvb, offset,
16664 gsm_old_Component_choice, hf_index, ett_gsm_old_Component,
16665 NULL);
16667 return offset;
16671 static const ber_sequence_t gsm_old_Bss_APDU_sequence[] = {
16672 { &hf_gsm_old_protocolId , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ProtocolId },
16673 { &hf_gsm_old_signalInfo , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
16674 { &hf_gsm_old_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
16675 { NULL, 0, 0, 0, NULL }
16678 static int
16679 dissect_gsm_old_Bss_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16680 #line 680 "../../asn1/gsm_map/gsm_map.cnf"
16681 guint8 octet;
16682 guint8 length;
16683 tvbuff_t *next_tvb;
16684 proto_tree *subtree;
16686 ETS 300 599: December 2000 (GSM 09.02 version 4.19.1)
16687 5.6.9.1 BSS-apdu
16688 This parameter includes one or two concatenated complete 08.06 messages, as described in GSM 03.09
16689 and GSM 09.10. The Protocol ID indicates that the message or messages are according to GSM 08.06.
16690 For the coding of the messages see GSM 08.06 and GSM 08.08.
16692 ProtocolId = 0xffffffff;
16693 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16694 gsm_old_Bss_APDU_sequence, hf_index, ett_gsm_old_Bss_APDU);
16696 if (!actx->value_ptr)
16697 return offset;
16698 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_externalsignalinfo);
16699 switch (ProtocolId){
16700 case 1:
16701 /* gsm-0408 */
16702 /* As per comment abowe Individual IE:(s) will be found here in TLV format
16703 * Unfortunatly a branch for each IE must be made to call the apropriate
16704 * function
16706 /* Get tag */
16707 octet = tvb_get_guint8((tvbuff_t*)actx->value_ptr,0);
16708 proto_tree_add_item(subtree, hf_gsm_map_ie_tag, (tvbuff_t*)actx->value_ptr, 0,1,ENC_BIG_ENDIAN);
16709 /* get length */
16710 length = tvb_get_guint8((tvbuff_t*)actx->value_ptr,1);
16711 proto_tree_add_item(subtree, hf_gsm_map_len, (tvbuff_t*)actx->value_ptr, 1,1,ENC_BIG_ENDIAN);
16712 /* Branch on tag */
16713 switch(octet){
16714 case 4:
16715 /* Dissect the data part */
16716 de_bearer_cap((tvbuff_t*)actx->value_ptr, subtree, actx->pinfo, 2, length, NULL, 0);
16717 /* TODO: There may be more than one IE */
16718 break;
16719 default:
16720 proto_tree_add_text(subtree, (tvbuff_t*)actx->value_ptr, 0, length, "If you want this decoded send the packet to Wireshark-dev");
16721 break;
16722 }/* switch(octet) */
16723 break;
16724 case 2:
16725 /* gsm-0806 */
16726 octet = tvb_get_guint8((tvbuff_t*)actx->value_ptr,0);
16727 /* Discrimination parameter */
16728 proto_tree_add_item(subtree, hf_gsm_map_disc_par, (tvbuff_t*)actx->value_ptr, 0,1,ENC_BIG_ENDIAN);
16729 if ( octet == 0) {/* DISCRIMINATION TS 48 006(GSM 08.06 version 5.3.0) */
16730 /* Strip off discrimination and length */
16731 proto_tree_add_item(subtree, hf_gsm_map_len, (tvbuff_t*)actx->value_ptr, 1,1,ENC_BIG_ENDIAN);
16732 next_tvb = tvb_new_subset_remaining((tvbuff_t*)actx->value_ptr, 2);
16733 dissect_bssmap(next_tvb, actx->pinfo, subtree);
16734 }else if(octet==1){
16735 proto_tree_add_item(subtree, hf_gsm_map_dlci, (tvbuff_t*)actx->value_ptr, 1,1,ENC_BIG_ENDIAN);
16736 proto_tree_add_item(subtree, hf_gsm_map_len, (tvbuff_t*)actx->value_ptr, 2,1,ENC_BIG_ENDIAN);
16737 next_tvb = tvb_new_subset_remaining((tvbuff_t*)actx->value_ptr, 3);
16738 call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree);
16740 break;
16741 case 3:
16742 /* gsm-BSSMAP -- Value 3 is reserved and must not be used*/
16743 octet = tvb_get_guint8((tvbuff_t*)actx->value_ptr,0);
16744 if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
16745 next_tvb = tvb_new_subset_remaining((tvbuff_t*)actx->value_ptr, 2);
16746 dissect_bssmap(next_tvb, actx->pinfo, subtree);
16748 break;
16749 /* ets-300102-1 (~Q.931 ) */
16750 case 4:
16751 octet = tvb_get_guint8((tvbuff_t*)actx->value_ptr,0);
16752 length = tvb_get_guint8((tvbuff_t*)actx->value_ptr,1);
16753 if ( octet == 4 )
16754 dissect_q931_bearer_capability_ie((tvbuff_t*)actx->value_ptr, 2, length, subtree);
16755 break;
16756 default:
16757 break;
16758 }/*switch (ProtocolId)*/
16762 return offset;
16767 static int
16768 dissect_gsm_old_CallDirection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16769 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16770 NULL);
16772 return offset;
16776 static const ber_sequence_t gsm_old_ProvideSIWFSNumberArg_sequence[] = {
16777 { &hf_gsm_old_gsm_BearerCapability, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
16778 { &hf_gsm_old_isdn_BearerCapability, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
16779 { &hf_gsm_old_call_Direction, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_CallDirection },
16780 { &hf_gsm_old_b_Subscriber_Address, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
16781 { &hf_gsm_old_chosenChannel, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
16782 { &hf_gsm_old_lowerLayerCompatibility, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
16783 { &hf_gsm_old_highLayerCompatibility, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
16784 { &hf_gsm_old_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
16785 { NULL, 0, 0, 0, NULL }
16788 static int
16789 dissect_gsm_old_ProvideSIWFSNumberArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16790 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16791 gsm_old_ProvideSIWFSNumberArg_sequence, hf_index, ett_gsm_old_ProvideSIWFSNumberArg);
16793 return offset;
16797 static const ber_sequence_t gsm_old_ProvideSIWFSNumberRes_sequence[] = {
16798 { &hf_gsm_old_sIWFSNumber , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
16799 { &hf_gsm_old_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
16800 { NULL, 0, 0, 0, NULL }
16803 static int
16804 dissect_gsm_old_ProvideSIWFSNumberRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16805 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16806 gsm_old_ProvideSIWFSNumberRes_sequence, hf_index, ett_gsm_old_ProvideSIWFSNumberRes);
16808 return offset;
16812 static const ber_sequence_t gsm_old_PurgeMSArgV2_sequence[] = {
16813 { &hf_gsm_old_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
16814 { &hf_gsm_old_vlr_Number , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
16815 { NULL, 0, 0, 0, NULL }
16818 static int
16819 dissect_gsm_old_PurgeMSArgV2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16820 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16821 gsm_old_PurgeMSArgV2_sequence, hf_index, ett_gsm_old_PurgeMSArgV2);
16823 return offset;
16827 static const ber_sequence_t gsm_old_PrepareHO_ArgOld_sequence[] = {
16828 { &hf_gsm_old_targetCellId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_GlobalCellId },
16829 { &hf_gsm_old_ho_NumberNotRequired, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_NULL },
16830 { &hf_gsm_old_bss_APDU , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_Bss_APDU },
16831 { NULL, 0, 0, 0, NULL }
16834 static int
16835 dissect_gsm_old_PrepareHO_ArgOld(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16836 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16837 gsm_old_PrepareHO_ArgOld_sequence, hf_index, ett_gsm_old_PrepareHO_ArgOld);
16839 return offset;
16843 static const ber_sequence_t gsm_old_PrepareHO_ResOld_sequence[] = {
16844 { &hf_gsm_old_handoverNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
16845 { &hf_gsm_old_bss_APDU , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_Bss_APDU },
16846 { NULL, 0, 0, 0, NULL }
16849 static int
16850 dissect_gsm_old_PrepareHO_ResOld(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16851 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16852 gsm_old_PrepareHO_ResOld_sequence, hf_index, ett_gsm_old_PrepareHO_ResOld);
16854 return offset;
16859 static int
16860 dissect_gsm_old_RAND(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16861 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16862 NULL);
16864 return offset;
16869 static int
16870 dissect_gsm_old_SRES(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16871 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16872 NULL);
16874 return offset;
16879 static int
16880 dissect_gsm_old_Kc(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16881 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16882 NULL);
16884 return offset;
16888 static const ber_sequence_t gsm_old_SendAuthenticationInfoResOld_item_sequence[] = {
16889 { &hf_gsm_old_rand , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_RAND },
16890 { &hf_gsm_old_sres , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SRES },
16891 { &hf_gsm_old_kc , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_Kc },
16892 { NULL, 0, 0, 0, NULL }
16895 static int
16896 dissect_gsm_old_SendAuthenticationInfoResOld_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16897 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16898 gsm_old_SendAuthenticationInfoResOld_item_sequence, hf_index, ett_gsm_old_SendAuthenticationInfoResOld_item);
16900 return offset;
16904 static const ber_sequence_t gsm_old_SendAuthenticationInfoResOld_sequence_of[1] = {
16905 { &hf_gsm_old_SendAuthenticationInfoResOld_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SendAuthenticationInfoResOld_item },
16908 static int
16909 dissect_gsm_old_SendAuthenticationInfoResOld(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16910 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
16911 gsm_old_SendAuthenticationInfoResOld_sequence_of, hf_index, ett_gsm_old_SendAuthenticationInfoResOld);
16913 return offset;
16917 static const ber_sequence_t gsm_old_AuthenticationTriplet_v2_sequence[] = {
16918 { &hf_gsm_old_rand , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_RAND },
16919 { &hf_gsm_old_sres , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SRES },
16920 { &hf_gsm_old_kc , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_Kc },
16921 { NULL, 0, 0, 0, NULL }
16924 static int
16925 dissect_gsm_old_AuthenticationTriplet_v2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16926 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16927 gsm_old_AuthenticationTriplet_v2_sequence, hf_index, ett_gsm_old_AuthenticationTriplet_v2);
16929 return offset;
16933 static const ber_sequence_t gsm_old_TripletListold_sequence_of[1] = {
16934 { &hf_gsm_old_TripletListold_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_AuthenticationTriplet_v2 },
16937 static int
16938 dissect_gsm_old_TripletListold(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16939 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
16940 gsm_old_TripletListold_sequence_of, hf_index, ett_gsm_old_TripletListold);
16942 return offset;
16946 static const ber_sequence_t gsm_old_SendIdentificationResV2_sequence[] = {
16947 { &hf_gsm_old_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
16948 { &hf_gsm_old_tripletList , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_TripletListold },
16949 { NULL, 0, 0, 0, NULL }
16952 static int
16953 dissect_gsm_old_SendIdentificationResV2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16954 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16955 gsm_old_SendIdentificationResV2_sequence, hf_index, ett_gsm_old_SendIdentificationResV2);
16957 return offset;
16961 static const ber_sequence_t gsm_old_SIWFSSignallingModifyArg_sequence[] = {
16962 { &hf_gsm_old_channelType , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
16963 { &hf_gsm_old_chosenChannel, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
16964 { &hf_gsm_old_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
16965 { NULL, 0, 0, 0, NULL }
16968 static int
16969 dissect_gsm_old_SIWFSSignallingModifyArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16970 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16971 gsm_old_SIWFSSignallingModifyArg_sequence, hf_index, ett_gsm_old_SIWFSSignallingModifyArg);
16973 return offset;
16977 static const ber_sequence_t gsm_old_SIWFSSignallingModifyRes_sequence[] = {
16978 { &hf_gsm_old_channelType , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
16979 { &hf_gsm_old_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
16980 { NULL, 0, 0, 0, NULL }
16983 static int
16984 dissect_gsm_old_SIWFSSignallingModifyRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16985 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16986 gsm_old_SIWFSSignallingModifyRes_sequence, hf_index, ett_gsm_old_SIWFSSignallingModifyRes);
16988 return offset;
16994 dissect_gsm_old_NewPassword(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16995 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
16996 actx, tree, tvb, offset, hf_index,
16997 NULL);
16999 return offset;
17003 const value_string gsm_old_GetPasswordArg_vals[] = {
17004 { 0, "enterPW" },
17005 { 1, "enterNewPW" },
17006 { 2, "enterNewPW-Again" },
17007 { 0, NULL }
17012 dissect_gsm_old_GetPasswordArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17013 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17014 NULL);
17016 return offset;
17022 dissect_gsm_old_CurrentPassword(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17023 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
17024 actx, tree, tvb, offset, hf_index,
17025 NULL);
17027 return offset;
17032 static int
17033 dissect_gsm_old_SecurityParametersIndex(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17034 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
17035 NULL);
17037 return offset;
17042 static int
17043 dissect_gsm_old_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17044 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17045 NULL);
17047 return offset;
17051 static const value_string gsm_old_OperationCode_vals[] = {
17052 { 0, "localValue" },
17053 { 1, "globalValue" },
17054 { 0, NULL }
17057 static const ber_choice_t gsm_old_OperationCode_choice[] = {
17058 { 0, &hf_gsm_old_localValue_02, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_INTEGER },
17059 { 1, &hf_gsm_old_globalValue , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OBJECT_IDENTIFIER },
17060 { 0, NULL, 0, 0, 0, NULL }
17063 static int
17064 dissect_gsm_old_OperationCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17065 offset = dissect_ber_choice(actx, tree, tvb, offset,
17066 gsm_old_OperationCode_choice, hf_index, ett_gsm_old_OperationCode,
17067 NULL);
17069 return offset;
17073 static const value_string gsm_old_ErrorCode_vals[] = {
17074 { 0, "localValue" },
17075 { 1, "globalValue" },
17076 { 0, NULL }
17079 static const ber_choice_t gsm_old_ErrorCode_choice[] = {
17080 { 0, &hf_gsm_old_localValue_02, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_INTEGER },
17081 { 1, &hf_gsm_old_globalValue , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OBJECT_IDENTIFIER },
17082 { 0, NULL, 0, 0, 0, NULL }
17085 static int
17086 dissect_gsm_old_ErrorCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17087 offset = dissect_ber_choice(actx, tree, tvb, offset,
17088 gsm_old_ErrorCode_choice, hf_index, ett_gsm_old_ErrorCode,
17089 NULL);
17091 return offset;
17095 static const value_string gsm_old_OriginalComponentIdentifier_vals[] = {
17096 { 0, "operationCode" },
17097 { 1, "errorCode" },
17098 { 2, "userInfo" },
17099 { 0, NULL }
17102 static const ber_choice_t gsm_old_OriginalComponentIdentifier_choice[] = {
17103 { 0, &hf_gsm_old_operationCode, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_old_OperationCode },
17104 { 1, &hf_gsm_old_errorCode_01, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_old_ErrorCode },
17105 { 2, &hf_gsm_old_userInfo , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_NULL },
17106 { 0, NULL, 0, 0, 0, NULL }
17109 static int
17110 dissect_gsm_old_OriginalComponentIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17111 offset = dissect_ber_choice(actx, tree, tvb, offset,
17112 gsm_old_OriginalComponentIdentifier_choice, hf_index, ett_gsm_old_OriginalComponentIdentifier,
17113 NULL);
17115 return offset;
17120 static int
17121 dissect_gsm_old_InitialisationVector(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17122 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
17123 NULL);
17125 return offset;
17129 static const ber_sequence_t gsm_old_SecurityHeader_sequence[] = {
17130 { &hf_gsm_old_securityParametersIndex, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SecurityParametersIndex },
17131 { &hf_gsm_old_originalComponentIdentifier, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_OriginalComponentIdentifier },
17132 { &hf_gsm_old_initialisationVector, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_InitialisationVector },
17133 { NULL, 0, 0, 0, NULL }
17137 dissect_gsm_old_SecurityHeader(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17138 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17139 gsm_old_SecurityHeader_sequence, hf_index, ett_gsm_old_SecurityHeader);
17141 return offset;
17147 dissect_gsm_old_ProtectedPayload(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17148 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
17149 NULL);
17151 return offset;
17155 static const ber_sequence_t gsm_old_SecureTransportArg_sequence[] = {
17156 { &hf_gsm_old_securityHeader, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SecurityHeader },
17157 { &hf_gsm_old_protectedPayload, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ProtectedPayload },
17158 { NULL, 0, 0, 0, NULL }
17161 static int
17162 dissect_gsm_old_SecureTransportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17163 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17164 gsm_old_SecureTransportArg_sequence, hf_index, ett_gsm_old_SecureTransportArg);
17166 return offset;
17170 static const ber_sequence_t gsm_old_SecureTransportErrorParam_sequence[] = {
17171 { &hf_gsm_old_securityHeader, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SecurityHeader },
17172 { &hf_gsm_old_protectedPayload, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ProtectedPayload },
17173 { NULL, 0, 0, 0, NULL }
17176 static int
17177 dissect_gsm_old_SecureTransportErrorParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17178 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17179 gsm_old_SecureTransportErrorParam_sequence, hf_index, ett_gsm_old_SecureTransportErrorParam);
17181 return offset;
17185 static const ber_sequence_t gsm_old_SecureTransportRes_sequence[] = {
17186 { &hf_gsm_old_securityHeader, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SecurityHeader },
17187 { &hf_gsm_old_protectedPayload, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ProtectedPayload },
17188 { NULL, 0, 0, 0, NULL }
17191 static int
17192 dissect_gsm_old_SecureTransportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17193 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17194 gsm_old_SecureTransportRes_sequence, hf_index, ett_gsm_old_SecureTransportRes);
17196 return offset;
17201 static int
17202 dissect_gsm_old_Category(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17203 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
17204 NULL);
17206 return offset;
17211 static int
17212 dissect_gsm_old_OCTET_STRING_SIZE_1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17213 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
17214 NULL);
17216 return offset;
17220 static const ber_sequence_t gsm_old_T_operatorSS_Code_sequence_of[1] = {
17221 { &hf_gsm_old_operatorSS_Code_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OCTET_STRING_SIZE_1 },
17224 static int
17225 dissect_gsm_old_T_operatorSS_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17226 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
17227 gsm_old_T_operatorSS_Code_sequence_of, hf_index, ett_gsm_old_T_operatorSS_Code);
17229 return offset;
17233 static const ber_sequence_t gsm_old_PlmnContainer_U_sequence[] = {
17234 { &hf_gsm_old_msisdn , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
17235 { &hf_gsm_old_category , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_old_Category },
17236 { &hf_gsm_old_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode },
17237 { &hf_gsm_old_operatorSS_Code, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_old_T_operatorSS_Code },
17238 { NULL, 0, 0, 0, NULL }
17241 static int
17242 dissect_gsm_old_PlmnContainer_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17243 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17244 gsm_old_PlmnContainer_U_sequence, hf_index, ett_gsm_old_PlmnContainer_U);
17246 return offset;
17251 static int
17252 dissect_gsm_old_PlmnContainer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17253 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
17254 hf_index, BER_CLASS_PRI, 2, TRUE, dissect_gsm_old_PlmnContainer_U);
17256 return offset;
17261 static int
17262 dissect_gsm_old_T_imsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17263 #line 301 "../../asn1/gsm_map/gsm_map.cnf"
17264 actx->pinfo->p2p_dir = P2P_DIR_SENT;
17265 offset = dissect_gsm_map_IMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
17270 return offset;
17275 static int
17276 dissect_gsm_old_T_lmsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17277 #line 305 "../../asn1/gsm_map/gsm_map.cnf"
17278 actx->pinfo->p2p_dir = P2P_DIR_SENT;
17279 offset = dissect_gsm_map_LMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
17284 return offset;
17289 static int
17290 dissect_gsm_old_T_serviceCentreAddressDA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17291 #line 325 "../../asn1/gsm_map/gsm_map.cnf"
17292 actx->pinfo->p2p_dir = P2P_DIR_RECV;
17293 offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
17298 return offset;
17302 static const value_string gsm_old_SM_RP_DAold_vals[] = {
17303 { 0, "imsi" },
17304 { 1, "lmsi" },
17305 { 4, "serviceCentreAddressDA" },
17306 { 5, "noSM-RP-DA" },
17307 { 0, NULL }
17310 static const ber_choice_t gsm_old_SM_RP_DAold_choice[] = {
17311 { 0, &hf_gsm_old_imsi_01 , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_old_T_imsi },
17312 { 1, &hf_gsm_old_lmsi , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_old_T_lmsi },
17313 { 4, &hf_gsm_old_serviceCentreAddressDA, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_old_T_serviceCentreAddressDA },
17314 { 5, &hf_gsm_old_noSM_RP_DA , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_old_NULL },
17315 { 0, NULL, 0, 0, 0, NULL }
17318 static int
17319 dissect_gsm_old_SM_RP_DAold(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17320 offset = dissect_ber_choice(actx, tree, tvb, offset,
17321 gsm_old_SM_RP_DAold_choice, hf_index, ett_gsm_old_SM_RP_DAold,
17322 NULL);
17324 return offset;
17329 static int
17330 dissect_gsm_old_T_msisdn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17331 #line 317 "../../asn1/gsm_map/gsm_map.cnf"
17332 actx->pinfo->p2p_dir = P2P_DIR_RECV;
17333 offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
17338 return offset;
17343 static int
17344 dissect_gsm_old_T_serviceCentreAddressOA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17345 #line 293 "../../asn1/gsm_map/gsm_map.cnf"
17346 actx->pinfo->p2p_dir = P2P_DIR_SENT;
17347 offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
17352 return offset;
17356 static const value_string gsm_old_SM_RP_OAold_vals[] = {
17357 { 2, "msisdn" },
17358 { 4, "serviceCentreAddressOA" },
17359 { 5, "noSM-RP-OA" },
17360 { 0, NULL }
17363 static const ber_choice_t gsm_old_SM_RP_OAold_choice[] = {
17364 { 2, &hf_gsm_old_msisdn_01 , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_T_msisdn },
17365 { 4, &hf_gsm_old_serviceCentreAddressOA, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_old_T_serviceCentreAddressOA },
17366 { 5, &hf_gsm_old_noSM_RP_OA , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_old_NULL },
17367 { 0, NULL, 0, 0, 0, NULL }
17370 static int
17371 dissect_gsm_old_SM_RP_OAold(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17372 offset = dissect_ber_choice(actx, tree, tvb, offset,
17373 gsm_old_SM_RP_OAold_choice, hf_index, ett_gsm_old_SM_RP_OAold,
17374 NULL);
17376 return offset;
17380 static const ber_sequence_t gsm_old_ForwardSM_Arg_sequence[] = {
17381 { &hf_gsm_old_sm_RP_DA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_SM_RP_DAold },
17382 { &hf_gsm_old_sm_RP_OA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_SM_RP_OAold },
17383 { &hf_gsm_old_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
17384 { &hf_gsm_old_moreMessagesToSend, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_NULL },
17385 { NULL, 0, 0, 0, NULL }
17388 static int
17389 dissect_gsm_old_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17390 #line 352 "../../asn1/gsm_map/gsm_map.cnf"
17392 /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
17393 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17394 gsm_old_ForwardSM_Arg_sequence, hf_index, ett_gsm_old_ForwardSM_Arg);
17397 if (!actx->value_ptr)
17398 return offset;
17399 call_dissector_only(gsm_sms_handle, (tvbuff_t*)actx->value_ptr, actx->pinfo, top_tree, NULL);
17403 return offset;
17407 static const ber_sequence_t gsm_old_SendRoutingInfoArgV2_sequence[] = {
17408 { &hf_gsm_old_msisdn , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
17409 { &hf_gsm_old_cug_CheckInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CUG_CheckInfo },
17410 { &hf_gsm_old_numberOfForwarding, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NumberOfForwarding },
17411 { &hf_gsm_old_networkSignalInfo, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
17412 { NULL, 0, 0, 0, NULL }
17415 static int
17416 dissect_gsm_old_SendRoutingInfoArgV2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17417 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17418 gsm_old_SendRoutingInfoArgV2_sequence, hf_index, ett_gsm_old_SendRoutingInfoArgV2);
17420 return offset;
17424 static const ber_sequence_t gsm_old_SendRoutingInfoResV2_sequence[] = {
17425 { &hf_gsm_old_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
17426 { &hf_gsm_old_routingInfo , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_RoutingInfo },
17427 { &hf_gsm_old_cug_CheckInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_CUG_CheckInfo },
17428 { NULL, 0, 0, 0, NULL }
17431 static int
17432 dissect_gsm_old_SendRoutingInfoResV2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17433 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17434 gsm_old_SendRoutingInfoResV2_sequence, hf_index, ett_gsm_old_SendRoutingInfoResV2);
17436 return offset;
17440 static const ber_sequence_t gsm_old_BeginSubscriberActivityArg_sequence[] = {
17441 { &hf_gsm_old_imsi , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
17442 { &hf_gsm_old_originatingEntityNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
17443 { &hf_gsm_old_msisdn_02 , BER_CLASS_PRI, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
17444 { NULL, 0, 0, 0, NULL }
17447 static int
17448 dissect_gsm_old_BeginSubscriberActivityArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17449 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17450 gsm_old_BeginSubscriberActivityArg_sequence, hf_index, ett_gsm_old_BeginSubscriberActivityArg);
17452 return offset;
17456 /* --- Module SS-DataTypes --- --- --- */
17460 static int
17461 dissect_gsm_ss_SS_UserData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17462 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
17463 actx, tree, tvb, offset, hf_index,
17464 NULL);
17466 return offset;
17471 static int
17472 dissect_gsm_ss_SS_Notification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17473 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
17474 NULL);
17476 return offset;
17481 static int
17482 dissect_gsm_ss_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17483 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
17485 return offset;
17489 static const value_string gsm_ss_CallOnHold_Indicator_vals[] = {
17490 { 0, "callRetrieved" },
17491 { 1, "callOnHold" },
17492 { 0, NULL }
17496 static int
17497 dissect_gsm_ss_CallOnHold_Indicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17498 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17499 NULL);
17501 return offset;
17505 static const value_string gsm_ss_ECT_CallState_vals[] = {
17506 { 0, "alerting" },
17507 { 1, "active" },
17508 { 0, NULL }
17512 static int
17513 dissect_gsm_ss_ECT_CallState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17514 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17515 NULL);
17517 return offset;
17521 static const ber_sequence_t gsm_ss_RemotePartyNumber_sequence[] = {
17522 { &hf_gsm_ss_partyNumber , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
17523 { &hf_gsm_ss_partyNumberSubaddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
17524 { NULL, 0, 0, 0, NULL }
17527 static int
17528 dissect_gsm_ss_RemotePartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17529 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17530 gsm_ss_RemotePartyNumber_sequence, hf_index, ett_gsm_ss_RemotePartyNumber);
17532 return offset;
17536 static const value_string gsm_ss_RDN_vals[] = {
17537 { 0, "presentationAllowedAddress" },
17538 { 1, "presentationRestricted" },
17539 { 2, "numberNotAvailableDueToInterworking" },
17540 { 3, "presentationRestrictedAddress" },
17541 { 0, NULL }
17544 static const ber_choice_t gsm_ss_RDN_choice[] = {
17545 { 0, &hf_gsm_ss_presentationAllowedAddress, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_RemotePartyNumber },
17546 { 1, &hf_gsm_ss_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
17547 { 2, &hf_gsm_ss_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
17548 { 3, &hf_gsm_ss_presentationRestrictedAddress, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_ss_RemotePartyNumber },
17549 { 0, NULL, 0, 0, 0, NULL }
17552 static int
17553 dissect_gsm_ss_RDN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17554 offset = dissect_ber_choice(actx, tree, tvb, offset,
17555 gsm_ss_RDN_choice, hf_index, ett_gsm_ss_RDN,
17556 NULL);
17558 return offset;
17562 static const ber_sequence_t gsm_ss_ECT_Indicator_sequence[] = {
17563 { &hf_gsm_ss_ect_CallState, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_ECT_CallState },
17564 { &hf_gsm_ss_rdn , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_ss_RDN },
17565 { NULL, 0, 0, 0, NULL }
17568 static int
17569 dissect_gsm_ss_ECT_Indicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17570 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17571 gsm_ss_ECT_Indicator_sequence, hf_index, ett_gsm_ss_ECT_Indicator);
17573 return offset;
17578 static int
17579 dissect_gsm_ss_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17580 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17581 NULL);
17583 return offset;
17587 static const ber_sequence_t gsm_ss_NameSet_sequence[] = {
17588 { &hf_gsm_ss_dataCodingScheme, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_DataCodingScheme },
17589 { &hf_gsm_ss_lengthInCharacters, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_INTEGER },
17590 { &hf_gsm_ss_nameString , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_String },
17591 { NULL, 0, 0, 0, NULL }
17594 static int
17595 dissect_gsm_ss_NameSet(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17596 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17597 gsm_ss_NameSet_sequence, hf_index, ett_gsm_ss_NameSet);
17599 return offset;
17603 static const value_string gsm_ss_Name_vals[] = {
17604 { 0, "namePresentationAllowed" },
17605 { 1, "presentationRestricted" },
17606 { 2, "nameUnavailable" },
17607 { 3, "namePresentationRestricted" },
17608 { 0, NULL }
17611 static const ber_choice_t gsm_ss_Name_choice[] = {
17612 { 0, &hf_gsm_ss_namePresentationAllowed, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NameSet },
17613 { 1, &hf_gsm_ss_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
17614 { 2, &hf_gsm_ss_nameUnavailable, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
17615 { 3, &hf_gsm_ss_namePresentationRestricted, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NameSet },
17616 { 0, NULL, 0, 0, 0, NULL }
17619 static int
17620 dissect_gsm_ss_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17621 offset = dissect_ber_choice(actx, tree, tvb, offset,
17622 gsm_ss_Name_choice, hf_index, ett_gsm_ss_Name,
17623 NULL);
17625 return offset;
17629 static const ber_sequence_t gsm_ss_NameIndicator_sequence[] = {
17630 { &hf_gsm_ss_callingName , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_ss_Name },
17631 { NULL, 0, 0, 0, NULL }
17634 static int
17635 dissect_gsm_ss_NameIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17636 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17637 gsm_ss_NameIndicator_sequence, hf_index, ett_gsm_ss_NameIndicator);
17639 return offset;
17643 static const value_string gsm_ss_Multicall_Indicator_vals[] = {
17644 { 0, "nbr-SNexceeded" },
17645 { 1, "nbr-Userexceeded" },
17646 { 0, NULL }
17650 static int
17651 dissect_gsm_ss_Multicall_Indicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17652 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17653 NULL);
17655 return offset;
17659 static const ber_sequence_t gsm_ss_NotifySS_Arg_sequence[] = {
17660 { &hf_gsm_ss_ss_Code , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
17661 { &hf_gsm_ss_ss_Status , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status },
17662 { &hf_gsm_ss_ss_Notification, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_SS_Notification },
17663 { &hf_gsm_ss_callIsWaiting_Indicator, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
17664 { &hf_gsm_ss_callOnHold_Indicator, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_CallOnHold_Indicator },
17665 { &hf_gsm_ss_mpty_Indicator, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
17666 { &hf_gsm_ss_cug_Index , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CUG_Index },
17667 { &hf_gsm_ss_clirSuppressionRejected, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
17668 { &hf_gsm_ss_ect_Indicator, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_ECT_Indicator },
17669 { &hf_gsm_ss_nameIndicator, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NameIndicator },
17670 { &hf_gsm_ss_ccbs_Feature , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Feature },
17671 { &hf_gsm_ss_alertingPattern, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AlertingPattern },
17672 { &hf_gsm_ss_multicall_Indicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_Multicall_Indicator },
17673 { NULL, 0, 0, 0, NULL }
17676 static int
17677 dissect_gsm_ss_NotifySS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17678 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17679 gsm_ss_NotifySS_Arg_sequence, hf_index, ett_gsm_ss_NotifySS_Arg);
17681 return offset;
17686 static int
17687 dissect_gsm_ss_E1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17688 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17689 NULL);
17691 return offset;
17696 static int
17697 dissect_gsm_ss_E2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17698 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17699 NULL);
17701 return offset;
17706 static int
17707 dissect_gsm_ss_E3(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17708 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17709 NULL);
17711 return offset;
17716 static int
17717 dissect_gsm_ss_E4(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17718 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17719 NULL);
17721 return offset;
17726 static int
17727 dissect_gsm_ss_E5(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17728 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17729 NULL);
17731 return offset;
17736 static int
17737 dissect_gsm_ss_E6(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17738 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17739 NULL);
17741 return offset;
17746 static int
17747 dissect_gsm_ss_E7(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17748 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17749 NULL);
17751 return offset;
17755 static const ber_sequence_t gsm_ss_ChargingInformation_sequence[] = {
17756 { &hf_gsm_ss_e1 , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E1 },
17757 { &hf_gsm_ss_e2 , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E2 },
17758 { &hf_gsm_ss_e3 , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E3 },
17759 { &hf_gsm_ss_e4 , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E4 },
17760 { &hf_gsm_ss_e5 , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E5 },
17761 { &hf_gsm_ss_e6 , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E6 },
17762 { &hf_gsm_ss_e7 , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E7 },
17763 { NULL, 0, 0, 0, NULL }
17766 static int
17767 dissect_gsm_ss_ChargingInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17768 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17769 gsm_ss_ChargingInformation_sequence, hf_index, ett_gsm_ss_ChargingInformation);
17771 return offset;
17775 static const ber_sequence_t gsm_ss_ForwardChargeAdviceArg_sequence[] = {
17776 { &hf_gsm_ss_ss_Code , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
17777 { &hf_gsm_ss_chargingInformation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_ChargingInformation },
17778 { NULL, 0, 0, 0, NULL }
17781 static int
17782 dissect_gsm_ss_ForwardChargeAdviceArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17783 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17784 gsm_ss_ForwardChargeAdviceArg_sequence, hf_index, ett_gsm_ss_ForwardChargeAdviceArg);
17786 return offset;
17790 static const ber_sequence_t gsm_ss_ForwardCUG_InfoArg_sequence[] = {
17791 { &hf_gsm_ss_cug_Index , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CUG_Index },
17792 { &hf_gsm_ss_suppressPrefCUG, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
17793 { &hf_gsm_ss_suppressOA , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
17794 { NULL, 0, 0, 0, NULL }
17797 static int
17798 dissect_gsm_ss_ForwardCUG_InfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17799 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17800 gsm_ss_ForwardCUG_InfoArg_sequence, hf_index, ett_gsm_ss_ForwardCUG_InfoArg);
17802 return offset;
17806 static const ber_sequence_t gsm_ss_AccessRegisterCCEntryArg_sequence[] = {
17807 { NULL, 0, 0, 0, NULL }
17810 static int
17811 dissect_gsm_ss_AccessRegisterCCEntryArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17812 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17813 gsm_ss_AccessRegisterCCEntryArg_sequence, hf_index, ett_gsm_ss_AccessRegisterCCEntryArg);
17815 return offset;
17819 static const ber_sequence_t gsm_ss_CallDeflectionArg_sequence[] = {
17820 { &hf_gsm_ss_deflectedToNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
17821 { &hf_gsm_ss_deflectedToSubaddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
17822 { NULL, 0, 0, 0, NULL }
17825 static int
17826 dissect_gsm_ss_CallDeflectionArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17827 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17828 gsm_ss_CallDeflectionArg_sequence, hf_index, ett_gsm_ss_CallDeflectionArg);
17830 return offset;
17834 static const value_string gsm_ss_UUS_Service_vals[] = {
17835 { 1, "uUS1" },
17836 { 2, "uUS2" },
17837 { 3, "uUS3" },
17838 { 0, NULL }
17842 static int
17843 dissect_gsm_ss_UUS_Service(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17844 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17845 NULL);
17847 return offset;
17852 static int
17853 dissect_gsm_ss_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17854 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
17856 return offset;
17860 static const ber_sequence_t gsm_ss_UserUserServiceArg_sequence[] = {
17861 { &hf_gsm_ss_uUS_Service , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_UUS_Service },
17862 { &hf_gsm_ss_uUS_Required , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_BOOLEAN },
17863 { NULL, 0, 0, 0, NULL }
17866 static int
17867 dissect_gsm_ss_UserUserServiceArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17868 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17869 gsm_ss_UserUserServiceArg_sequence, hf_index, ett_gsm_ss_UserUserServiceArg);
17871 return offset;
17875 static const ber_sequence_t gsm_ss_LocationNotificationArg_sequence[] = {
17876 { &hf_gsm_ss_notificationType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser },
17877 { &hf_gsm_ss_locationType , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LocationType },
17878 { &hf_gsm_ss_lcsClientExternalID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID },
17879 { &hf_gsm_ss_lcsClientName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientName },
17880 { &hf_gsm_ss_lcsRequestorID, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSRequestorID },
17881 { &hf_gsm_ss_lcsCodeword , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSCodeword },
17882 { &hf_gsm_ss_lcsServiceTypeID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSServiceTypeID },
17883 { NULL, 0, 0, 0, NULL }
17886 static int
17887 dissect_gsm_ss_LocationNotificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17888 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17889 gsm_ss_LocationNotificationArg_sequence, hf_index, ett_gsm_ss_LocationNotificationArg);
17891 return offset;
17895 static const value_string gsm_ss_VerificationResponse_vals[] = {
17896 { 0, "permissionDenied" },
17897 { 1, "permissionGranted" },
17898 { 0, NULL }
17902 static int
17903 dissect_gsm_ss_VerificationResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17904 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17905 NULL);
17907 return offset;
17911 static const ber_sequence_t gsm_ss_LocationNotificationRes_sequence[] = {
17912 { &hf_gsm_ss_verificationResponse, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_VerificationResponse },
17913 { NULL, 0, 0, 0, NULL }
17916 static int
17917 dissect_gsm_ss_LocationNotificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17918 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17919 gsm_ss_LocationNotificationRes_sequence, hf_index, ett_gsm_ss_LocationNotificationRes);
17921 return offset;
17925 static const value_string gsm_ss_MOLR_Type_vals[] = {
17926 { 0, "locationEstimate" },
17927 { 1, "assistanceData" },
17928 { 2, "deCipheringKeys" },
17929 { 3, "deferredMo-lrTTTPInitiation" },
17930 { 4, "deferredMo-lrSelfLocationInitiation" },
17931 { 5, "deferredMt-lrOrmo-lrTTTPLocationEstimate" },
17932 { 6, "deferredMt-lrOrmo-lrCancellation" },
17933 { 0, NULL }
17937 static int
17938 dissect_gsm_ss_MOLR_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17939 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17940 NULL);
17942 return offset;
17946 const value_string gsm_ss_LocationMethod_vals[] = {
17947 { 0, "msBasedEOTD" },
17948 { 1, "msAssistedEOTD" },
17949 { 2, "assistedGPS" },
17950 { 3, "msBasedOTDOA" },
17951 { 4, "assistedGANSS" },
17952 { 5, "assistedGPSandGANSS" },
17953 { 0, NULL }
17958 dissect_gsm_ss_LocationMethod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17959 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17960 NULL);
17962 return offset;
17967 static int
17968 dissect_gsm_ss_GPSAssistanceData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17969 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
17970 NULL);
17972 return offset;
17976 static const value_string gsm_ss_TerminationCause_vals[] = {
17977 { 0, "subscriberTermination" },
17978 { 1, "uETermination" },
17979 { 0, NULL }
17983 static int
17984 dissect_gsm_ss_TerminationCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17985 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17986 NULL);
17988 return offset;
17993 static int
17994 dissect_gsm_ss_GANSSAssistanceData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17995 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
17996 NULL);
17998 return offset;
18003 static int
18004 dissect_gsm_ss_PositioningProtocolPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18005 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
18006 NULL);
18008 return offset;
18012 static const ber_sequence_t gsm_ss_MultiplePositioningProtocolPDUs_sequence_of[1] = {
18013 { &hf_gsm_ss_MultiplePositioningProtocolPDUs_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_ss_PositioningProtocolPDU },
18016 static int
18017 dissect_gsm_ss_MultiplePositioningProtocolPDUs(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18018 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
18019 gsm_ss_MultiplePositioningProtocolPDUs_sequence_of, hf_index, ett_gsm_ss_MultiplePositioningProtocolPDUs);
18021 return offset;
18025 static const ber_sequence_t gsm_ss_LCS_MOLRArg_sequence[] = {
18026 { &hf_gsm_ss_molr_Type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_MOLR_Type },
18027 { &hf_gsm_ss_locationMethod, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_LocationMethod },
18028 { &hf_gsm_ss_lcs_QoS , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_QoS },
18029 { &hf_gsm_ss_lcsClientExternalID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID },
18030 { &hf_gsm_ss_mlc_Number , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
18031 { &hf_gsm_ss_gpsAssistanceData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_GPSAssistanceData },
18032 { &hf_gsm_ss_supportedGADShapes, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SupportedGADShapes },
18033 { &hf_gsm_ss_lcsServiceTypeID, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSServiceTypeID },
18034 { &hf_gsm_ss_ageOfLocationInfo, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation },
18035 { &hf_gsm_ss_locationType , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LocationType },
18036 { &hf_gsm_ss_pseudonymIndicator, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
18037 { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
18038 { &hf_gsm_ss_locationEstimate, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
18039 { &hf_gsm_ss_velocityEstimate, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate },
18040 { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
18041 { &hf_gsm_ss_periodicLDRInfo, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PeriodicLDRInfo },
18042 { &hf_gsm_ss_locationUpdateRequest, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
18043 { &hf_gsm_ss_sequenceNumber, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SequenceNumber },
18044 { &hf_gsm_ss_terminationCause, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_TerminationCause },
18045 { &hf_gsm_ss_mo_lrShortCircuit, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
18046 { &hf_gsm_ss_ganssAssistanceData, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_GANSSAssistanceData },
18047 { &hf_gsm_ss_multiplePositioningProtocolPDUs, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_MultiplePositioningProtocolPDUs },
18048 { NULL, 0, 0, 0, NULL }
18051 static int
18052 dissect_gsm_ss_LCS_MOLRArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18053 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18054 gsm_ss_LCS_MOLRArg_sequence, hf_index, ett_gsm_ss_LCS_MOLRArg);
18056 return offset;
18061 static int
18062 dissect_gsm_ss_DecipheringKeys(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18063 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
18064 NULL);
18066 return offset;
18070 static const ber_sequence_t gsm_ss_LCS_MOLRRes_sequence[] = {
18071 { &hf_gsm_ss_locationEstimate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
18072 { &hf_gsm_ss_decipheringKeys, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_DecipheringKeys },
18073 { &hf_gsm_ss_add_LocationEstimate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Add_GeographicalInformation },
18074 { &hf_gsm_ss_velocityEstimate, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate },
18075 { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
18076 { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
18077 { &hf_gsm_ss_mo_lrShortCircuit, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
18078 { &hf_gsm_ss_reportingPLMNList, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ReportingPLMNList },
18079 { NULL, 0, 0, 0, NULL }
18082 static int
18083 dissect_gsm_ss_LCS_MOLRRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18084 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18085 gsm_ss_LCS_MOLRRes_sequence, hf_index, ett_gsm_ss_LCS_MOLRRes);
18087 return offset;
18091 static const ber_sequence_t gsm_ss_LCS_AreaEventRequestArg_sequence[] = {
18092 { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
18093 { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
18094 { &hf_gsm_ss_deferredLocationEventType, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_DeferredLocationEventType },
18095 { &hf_gsm_ss_areaEventInfo, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaEventInfo },
18096 { NULL, 0, 0, 0, NULL }
18099 static int
18100 dissect_gsm_ss_LCS_AreaEventRequestArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18101 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18102 gsm_ss_LCS_AreaEventRequestArg_sequence, hf_index, ett_gsm_ss_LCS_AreaEventRequestArg);
18104 return offset;
18108 static const ber_sequence_t gsm_ss_LCS_AreaEventReportArg_sequence[] = {
18109 { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
18110 { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
18111 { NULL, 0, 0, 0, NULL }
18114 static int
18115 dissect_gsm_ss_LCS_AreaEventReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18116 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18117 gsm_ss_LCS_AreaEventReportArg_sequence, hf_index, ett_gsm_ss_LCS_AreaEventReportArg);
18119 return offset;
18123 static const ber_sequence_t gsm_ss_LCS_AreaEventCancellationArg_sequence[] = {
18124 { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
18125 { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
18126 { NULL, 0, 0, 0, NULL }
18129 static int
18130 dissect_gsm_ss_LCS_AreaEventCancellationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18131 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18132 gsm_ss_LCS_AreaEventCancellationArg_sequence, hf_index, ett_gsm_ss_LCS_AreaEventCancellationArg);
18134 return offset;
18138 static const ber_sequence_t gsm_ss_LCS_PeriodicLocationRequestArg_sequence[] = {
18139 { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
18140 { &hf_gsm_ss_periodicLDRInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PeriodicLDRInfo },
18141 { &hf_gsm_ss_lcsClientExternalID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID },
18142 { &hf_gsm_ss_qoS , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_QoS },
18143 { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
18144 { &hf_gsm_ss_mo_lrShortCircuit, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
18145 { &hf_gsm_ss_reportingPLMNList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ReportingPLMNList },
18146 { NULL, 0, 0, 0, NULL }
18149 static int
18150 dissect_gsm_ss_LCS_PeriodicLocationRequestArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18151 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18152 gsm_ss_LCS_PeriodicLocationRequestArg_sequence, hf_index, ett_gsm_ss_LCS_PeriodicLocationRequestArg);
18154 return offset;
18158 static const ber_sequence_t gsm_ss_LCS_PeriodicLocationRequestRes_sequence[] = {
18159 { &hf_gsm_ss_mo_lrShortCircuit, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
18160 { NULL, 0, 0, 0, NULL }
18163 static int
18164 dissect_gsm_ss_LCS_PeriodicLocationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18165 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18166 gsm_ss_LCS_PeriodicLocationRequestRes_sequence, hf_index, ett_gsm_ss_LCS_PeriodicLocationRequestRes);
18168 return offset;
18172 static const ber_sequence_t gsm_ss_LCS_LocationUpdateArg_sequence[] = {
18173 { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
18174 { &hf_gsm_ss_add_LocationEstimate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Add_GeographicalInformation },
18175 { &hf_gsm_ss_velocityEstimate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate },
18176 { &hf_gsm_ss_sequenceNumber, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SequenceNumber },
18177 { NULL, 0, 0, 0, NULL }
18180 static int
18181 dissect_gsm_ss_LCS_LocationUpdateArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18182 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18183 gsm_ss_LCS_LocationUpdateArg_sequence, hf_index, ett_gsm_ss_LCS_LocationUpdateArg);
18185 return offset;
18189 static const ber_sequence_t gsm_ss_LCS_LocationUpdateRes_sequence[] = {
18190 { &hf_gsm_ss_terminationCause, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_TerminationCause },
18191 { NULL, 0, 0, 0, NULL }
18194 static int
18195 dissect_gsm_ss_LCS_LocationUpdateRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18196 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18197 gsm_ss_LCS_LocationUpdateRes_sequence, hf_index, ett_gsm_ss_LCS_LocationUpdateRes);
18199 return offset;
18203 static const ber_sequence_t gsm_ss_LCS_PeriodicLocationCancellationArg_sequence[] = {
18204 { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
18205 { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
18206 { NULL, 0, 0, 0, NULL }
18209 static int
18210 dissect_gsm_ss_LCS_PeriodicLocationCancellationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18211 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18212 gsm_ss_LCS_PeriodicLocationCancellationArg_sequence, hf_index, ett_gsm_ss_LCS_PeriodicLocationCancellationArg);
18214 return offset;
18218 /* --- Module SS-Operations --- --- --- */
18221 /* --- Module EricssonMAP --- --- --- */
18225 static int
18226 dissect_gsm_map_ericsson_T_locationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18227 #line 928 "../../asn1/gsm_map/gsm_map.cnf"
18228 tvbuff_t *parameter_tvb;
18229 proto_tree *subtree;
18230 guint8 rat;
18231 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
18232 &parameter_tvb);
18234 if (parameter_tvb) {
18235 subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ericsson_locationInformation);
18236 rat = tvb_get_guint8(parameter_tvb, 0);
18237 proto_tree_add_uint(subtree, hf_gsm_map_ericsson_locationInformation_rat, parameter_tvb, 0, 1, rat);
18238 switch (rat) {
18239 case 0:
18240 /* GSM */
18241 proto_tree_add_item(subtree, hf_gsm_map_ericsson_locationInformation_lac, parameter_tvb, 1, 2, ENC_BIG_ENDIAN);
18242 proto_tree_add_item(subtree, hf_gsm_map_ericsson_locationInformation_ci, parameter_tvb, 3, 2, ENC_BIG_ENDIAN);
18243 break;
18244 case 1:
18245 /* UMTS */
18246 proto_tree_add_item(subtree, hf_gsm_map_ericsson_locationInformation_lac, parameter_tvb, 1, 2, ENC_BIG_ENDIAN);
18247 proto_tree_add_item(subtree, hf_gsm_map_ericsson_locationInformation_sac, parameter_tvb, 3, 2, ENC_BIG_ENDIAN);
18248 break;
18249 default:
18250 break;
18256 return offset;
18260 static const ber_sequence_t gsm_map_ericsson_EnhancedCheckIMEI_Arg_sequence[] = {
18261 { &hf_gsm_map_ericsson_imei, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMEI },
18262 { &hf_gsm_map_ericsson_requestedEquipmentInfo, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RequestedEquipmentInfo },
18263 { &hf_gsm_map_ericsson_imsi, BER_CLASS_PRI, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
18264 { &hf_gsm_map_ericsson_locationInformation, BER_CLASS_PRI, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_T_locationInformation },
18265 { &hf_gsm_map_ericsson_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
18266 { NULL, 0, 0, 0, NULL }
18269 static int
18270 dissect_gsm_map_ericsson_EnhancedCheckIMEI_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18271 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18272 gsm_map_ericsson_EnhancedCheckIMEI_Arg_sequence, hf_index, ett_gsm_map_ericsson_EnhancedCheckIMEI_Arg);
18274 return offset;
18278 /*--- End of included file: packet-gsm_map-fn.c ---*/
18279 #line 846 "../../asn1/gsm_map/packet-gsm_map-template.c"
18281 /* Specific translation for MAP V3 */
18282 const value_string gsm_map_V1V2_opr_code_strings[] = {
18283 { 44, "forwardSM" },
18284 { 45, "sendRoutingInfoForSM" },
18285 { 46, "forwardSM" },
18286 { 0, NULL }
18288 /* Generic translation for MAP operation */
18289 const value_string gsm_map_opr_code_strings[] = {
18291 /*--- Included file: packet-gsm_map-table.c ---*/
18292 #line 1 "../../asn1/gsm_map/packet-gsm_map-table.c"
18294 /* --- Module Remote-Operations-Information-Objects --- --- --- */
18296 /* Unknown or empty loop list OPERATION */
18298 /* --- Module MobileDomainDefinitions --- --- --- */
18300 /* Unknown or empty loop list OPERATION */
18302 /* --- Module MAP-ApplicationContexts --- --- --- */
18304 /* Unknown or empty loop list OPERATION */
18306 /* --- Module MAP-SS-Code --- --- --- */
18308 /* Unknown or empty loop list OPERATION */
18310 /* --- Module MAP-BS-Code --- --- --- */
18312 /* Unknown or empty loop list OPERATION */
18314 /* --- Module MAP-TS-Code --- --- --- */
18316 /* Unknown or empty loop list OPERATION */
18318 /* --- Module MAP-ExtensionDataTypes --- --- --- */
18320 /* Unknown or empty loop list OPERATION */
18322 /* --- Module MAP-CommonDataTypes --- --- --- */
18324 /* Unknown or empty loop list OPERATION */
18326 /* --- Module MAP-SS-DataTypes --- --- --- */
18328 /* Unknown or empty loop list OPERATION */
18330 /* --- Module MAP-ER-DataTypes --- --- --- */
18332 /* Unknown or empty loop list OPERATION */
18334 /* --- Module MAP-SM-DataTypes --- --- --- */
18336 /* Unknown or empty loop list OPERATION */
18338 /* --- Module MAP-OM-DataTypes --- --- --- */
18340 /* Unknown or empty loop list OPERATION */
18342 /* --- Module MAP-MS-DataTypes --- --- --- */
18344 /* Unknown or empty loop list OPERATION */
18346 /* --- Module MAP-CH-DataTypes --- --- --- */
18348 /* Unknown or empty loop list OPERATION */
18350 /* --- Module MAP-LCS-DataTypes --- --- --- */
18352 /* Unknown or empty loop list OPERATION */
18354 /* --- Module MAP-GR-DataTypes --- --- --- */
18356 /* Unknown or empty loop list OPERATION */
18358 /* --- Module MAP-DialogueInformation --- --- --- */
18360 /* Unknown or empty loop list OPERATION */
18362 /* --- Module MAP-LocationServiceOperations --- --- --- */
18364 { 85, "sendRoutingInfoForLCS" },
18365 { 83, "provideSubscriberLocation" },
18366 { 86, "subscriberLocationReport" },
18368 /* --- Module MAP-Group-Call-Operations --- --- --- */
18370 { 39, "prepareGroupCall" },
18371 { 40, "sendGroupCallEndSignal" },
18372 { 41, "processGroupCallSignalling" },
18373 { 42, "forwardGroupCallSignalling" },
18374 { 84, "sendGroupCallInfo" },
18376 /* --- Module MAP-ShortMessageServiceOperations --- --- --- */
18378 { 45, "sendRoutingInfoForSM" },
18379 { 46, "mo_ForwardSM" },
18380 { 44, "mt_ForwardSM" },
18381 { 47, "reportSM_DeliveryStatus" },
18382 { 64, "alertServiceCentre" },
18383 { 63, "informServiceCentre" },
18384 { 66, "readyForSM" },
18385 { 21, "mt_ForwardSM_VGCS" },
18387 /* --- Module MAP-SupplementaryServiceOperations --- --- --- */
18389 { 10, "registerSS" },
18390 { 11, "eraseSS" },
18391 { 12, "activateSS" },
18392 { 13, "deactivateSS" },
18393 { 14, "interrogateSS" },
18394 { 59, "processUnstructuredSS_Request" },
18395 { 60, "unstructuredSS_Request" },
18396 { 61, "unstructuredSS_Notify" },
18397 { 17, "registerPassword" },
18398 { 18, "getPassword" },
18399 { 72, "ss_InvocationNotification" },
18400 { 76, "registerCC_Entry" },
18401 { 77, "eraseCC_Entry" },
18403 /* --- Module MAP-CallHandlingOperations --- --- --- */
18405 { 22, "sendRoutingInfo" },
18406 { 4, "provideRoamingNumber" },
18407 { 6, "resumeCallHandling" },
18408 { 73, "setReportingState" },
18409 { 74, "statusReport" },
18410 { 75, "remoteUserFree" },
18411 { 87, "ist_Alert" },
18412 { 88, "ist_Command" },
18413 { 20, "releaseResources" },
18415 /* --- Module MAP-OperationAndMaintenanceOperations --- --- --- */
18417 { 50, "activateTraceMode" },
18418 { 51, "deactivateTraceMode" },
18419 { 58, "sendIMSI" },
18421 /* --- Module MAP-MobileServiceOperations --- --- --- */
18423 { 2, "updateLocation" },
18424 { 3, "cancelLocation" },
18425 { 67, "purgeMS" },
18426 { 55, "sendIdentification" },
18427 { 23, "updateGprsLocation" },
18428 { 70, "provideSubscriberInfo" },
18429 { 71, "anyTimeInterrogation" },
18430 { 62, "anyTimeSubscriptionInterrogation" },
18431 { 65, "anyTimeModification" },
18432 { 5, "noteSubscriberDataModified" },
18433 { 68, "prepareHandover" },
18434 { 29, "sendEndSignal" },
18435 { 33, "processAccessSignalling" },
18436 { 34, "forwardAccessSignalling" },
18437 { 69, "prepareSubsequentHandover" },
18438 { 56, "sendAuthenticationInfo" },
18439 { 15, "authenticationFailureReport" },
18440 { 43, "checkIMEI" },
18441 { 7, "insertSubscriberData" },
18442 { 8, "deleteSubscriberData" },
18443 { 37, "reset" },
18444 { 38, "forwardCheckSS_Indication" },
18445 { 57, "restoreData" },
18446 { 24, "sendRoutingInfoForGprs" },
18447 { 25, "failureReport" },
18448 { 26, "noteMsPresentForGprs" },
18449 { 89, "noteMM_Event" },
18450 { 53, "updateVcsgLocation" },
18451 { 36, "cancelVcsgLocation" },
18453 /* --- Module MAP-Errors --- --- --- */
18455 /* Unknown or empty loop list OPERATION */
18457 /* --- Module MAP-Protocol --- --- --- */
18459 /* Unknown or empty loop list OPERATION */
18461 /* --- Module DummyMAP --- --- --- */
18463 /* Unknown or empty loop list OPERATION */
18465 /* --- Module SS-DataTypes --- --- --- */
18467 /* Unknown or empty loop list OPERATION */
18469 /* --- Module SS-Operations --- --- --- */
18471 { 19, "processUnstructuredSS_Data" },
18472 { 16, "notifySS" },
18473 { 125, "forwardChargeAdvice" },
18474 { 120, "forwardCUG_Info" },
18475 { 124, "buildMPTY" },
18476 { 123, "holdMPTY" },
18477 { 122, "retrieveMPTY" },
18478 { 121, "splitMPTY" },
18479 { 126, "explicitCT" },
18480 { 119, "accessRegisterCCEntry" },
18481 { 117, "callDeflection" },
18482 { 118, "userUserService" },
18483 { 116, "lcs_LocationNotification" },
18484 { 115, "lcs_MOLR" },
18485 { 114, "lcs_AreaEventRequest" },
18486 { 113, "lcs_AreaEventReport" },
18487 { 112, "lcs_AreaEventCancellation" },
18488 { 111, "lcs_PeriodicLocationRequest" },
18489 { 110, "lcs_LocationUpdate" },
18490 { 109, "lcs_PeriodicLocationCancellation" },
18492 /* --- Module EricssonMAP --- --- --- */
18494 /* Unknown or empty loop list OPERATION */
18496 /*--- End of included file: packet-gsm_map-table.c ---*/
18497 #line 857 "../../asn1/gsm_map/packet-gsm_map-template.c"
18498 { 0, NULL }
18500 static const value_string gsm_map_err_code_string_vals[] = {
18502 /*--- Included file: packet-gsm_map-table.c ---*/
18503 #line 1 "../../asn1/gsm_map/packet-gsm_map-table.c"
18505 /* --- Module Remote-Operations-Information-Objects --- --- --- */
18507 /* Unknown or empty loop list OPERATION */
18509 /* --- Module MobileDomainDefinitions --- --- --- */
18511 /* Unknown or empty loop list OPERATION */
18513 /* --- Module MAP-ApplicationContexts --- --- --- */
18515 /* Unknown or empty loop list OPERATION */
18517 /* --- Module MAP-SS-Code --- --- --- */
18519 /* Unknown or empty loop list OPERATION */
18521 /* --- Module MAP-BS-Code --- --- --- */
18523 /* Unknown or empty loop list OPERATION */
18525 /* --- Module MAP-TS-Code --- --- --- */
18527 /* Unknown or empty loop list OPERATION */
18529 /* --- Module MAP-ExtensionDataTypes --- --- --- */
18531 /* Unknown or empty loop list OPERATION */
18533 /* --- Module MAP-CommonDataTypes --- --- --- */
18535 /* Unknown or empty loop list OPERATION */
18537 /* --- Module MAP-SS-DataTypes --- --- --- */
18539 /* Unknown or empty loop list OPERATION */
18541 /* --- Module MAP-ER-DataTypes --- --- --- */
18543 /* Unknown or empty loop list OPERATION */
18545 /* --- Module MAP-SM-DataTypes --- --- --- */
18547 /* Unknown or empty loop list OPERATION */
18549 /* --- Module MAP-OM-DataTypes --- --- --- */
18551 /* Unknown or empty loop list OPERATION */
18553 /* --- Module MAP-MS-DataTypes --- --- --- */
18555 /* Unknown or empty loop list OPERATION */
18557 /* --- Module MAP-CH-DataTypes --- --- --- */
18559 /* Unknown or empty loop list OPERATION */
18561 /* --- Module MAP-LCS-DataTypes --- --- --- */
18563 /* Unknown or empty loop list OPERATION */
18565 /* --- Module MAP-GR-DataTypes --- --- --- */
18567 /* Unknown or empty loop list OPERATION */
18569 /* --- Module MAP-DialogueInformation --- --- --- */
18571 /* Unknown or empty loop list OPERATION */
18573 /* --- Module MAP-LocationServiceOperations --- --- --- */
18575 { 85, "sendRoutingInfoForLCS" },
18576 { 83, "provideSubscriberLocation" },
18577 { 86, "subscriberLocationReport" },
18579 /* --- Module MAP-Group-Call-Operations --- --- --- */
18581 { 39, "prepareGroupCall" },
18582 { 40, "sendGroupCallEndSignal" },
18583 { 41, "processGroupCallSignalling" },
18584 { 42, "forwardGroupCallSignalling" },
18585 { 84, "sendGroupCallInfo" },
18587 /* --- Module MAP-ShortMessageServiceOperations --- --- --- */
18589 { 45, "sendRoutingInfoForSM" },
18590 { 46, "mo_ForwardSM" },
18591 { 44, "mt_ForwardSM" },
18592 { 47, "reportSM_DeliveryStatus" },
18593 { 64, "alertServiceCentre" },
18594 { 63, "informServiceCentre" },
18595 { 66, "readyForSM" },
18596 { 21, "mt_ForwardSM_VGCS" },
18598 /* --- Module MAP-SupplementaryServiceOperations --- --- --- */
18600 { 10, "registerSS" },
18601 { 11, "eraseSS" },
18602 { 12, "activateSS" },
18603 { 13, "deactivateSS" },
18604 { 14, "interrogateSS" },
18605 { 59, "processUnstructuredSS_Request" },
18606 { 60, "unstructuredSS_Request" },
18607 { 61, "unstructuredSS_Notify" },
18608 { 17, "registerPassword" },
18609 { 18, "getPassword" },
18610 { 72, "ss_InvocationNotification" },
18611 { 76, "registerCC_Entry" },
18612 { 77, "eraseCC_Entry" },
18614 /* --- Module MAP-CallHandlingOperations --- --- --- */
18616 { 22, "sendRoutingInfo" },
18617 { 4, "provideRoamingNumber" },
18618 { 6, "resumeCallHandling" },
18619 { 73, "setReportingState" },
18620 { 74, "statusReport" },
18621 { 75, "remoteUserFree" },
18622 { 87, "ist_Alert" },
18623 { 88, "ist_Command" },
18624 { 20, "releaseResources" },
18626 /* --- Module MAP-OperationAndMaintenanceOperations --- --- --- */
18628 { 50, "activateTraceMode" },
18629 { 51, "deactivateTraceMode" },
18630 { 58, "sendIMSI" },
18632 /* --- Module MAP-MobileServiceOperations --- --- --- */
18634 { 2, "updateLocation" },
18635 { 3, "cancelLocation" },
18636 { 67, "purgeMS" },
18637 { 55, "sendIdentification" },
18638 { 23, "updateGprsLocation" },
18639 { 70, "provideSubscriberInfo" },
18640 { 71, "anyTimeInterrogation" },
18641 { 62, "anyTimeSubscriptionInterrogation" },
18642 { 65, "anyTimeModification" },
18643 { 5, "noteSubscriberDataModified" },
18644 { 68, "prepareHandover" },
18645 { 29, "sendEndSignal" },
18646 { 33, "processAccessSignalling" },
18647 { 34, "forwardAccessSignalling" },
18648 { 69, "prepareSubsequentHandover" },
18649 { 56, "sendAuthenticationInfo" },
18650 { 15, "authenticationFailureReport" },
18651 { 43, "checkIMEI" },
18652 { 7, "insertSubscriberData" },
18653 { 8, "deleteSubscriberData" },
18654 { 37, "reset" },
18655 { 38, "forwardCheckSS_Indication" },
18656 { 57, "restoreData" },
18657 { 24, "sendRoutingInfoForGprs" },
18658 { 25, "failureReport" },
18659 { 26, "noteMsPresentForGprs" },
18660 { 89, "noteMM_Event" },
18661 { 53, "updateVcsgLocation" },
18662 { 36, "cancelVcsgLocation" },
18664 /* --- Module MAP-Errors --- --- --- */
18666 /* Unknown or empty loop list OPERATION */
18668 /* --- Module MAP-Protocol --- --- --- */
18670 /* Unknown or empty loop list OPERATION */
18672 /* --- Module DummyMAP --- --- --- */
18674 /* Unknown or empty loop list OPERATION */
18676 /* --- Module SS-DataTypes --- --- --- */
18678 /* Unknown or empty loop list OPERATION */
18680 /* --- Module SS-Operations --- --- --- */
18682 { 19, "processUnstructuredSS_Data" },
18683 { 16, "notifySS" },
18684 { 125, "forwardChargeAdvice" },
18685 { 120, "forwardCUG_Info" },
18686 { 124, "buildMPTY" },
18687 { 123, "holdMPTY" },
18688 { 122, "retrieveMPTY" },
18689 { 121, "splitMPTY" },
18690 { 126, "explicitCT" },
18691 { 119, "accessRegisterCCEntry" },
18692 { 117, "callDeflection" },
18693 { 118, "userUserService" },
18694 { 116, "lcs_LocationNotification" },
18695 { 115, "lcs_MOLR" },
18696 { 114, "lcs_AreaEventRequest" },
18697 { 113, "lcs_AreaEventReport" },
18698 { 112, "lcs_AreaEventCancellation" },
18699 { 111, "lcs_PeriodicLocationRequest" },
18700 { 110, "lcs_LocationUpdate" },
18701 { 109, "lcs_PeriodicLocationCancellation" },
18703 /* --- Module EricssonMAP --- --- --- */
18705 /* Unknown or empty loop list OPERATION */
18707 /*--- End of included file: packet-gsm_map-table.c ---*/
18708 #line 861 "../../asn1/gsm_map/packet-gsm_map-template.c"
18709 { 0, NULL }
18711 static const true_false_string gsm_map_extension_value = {
18712 "No Extension",
18713 "Extension"
18715 static const value_string gsm_map_nature_of_number_values[] = {
18716 { 0x00, "unknown" },
18717 { 0x01, "International Number" },
18718 { 0x02, "National Significant Number" },
18719 { 0x03, "Network Specific Number" },
18720 { 0x04, "Subscriber Number" },
18721 { 0x05, "Reserved" },
18722 { 0x06, "Abbreviated Number" },
18723 { 0x07, "Reserved for extension" },
18724 { 0, NULL }
18726 static value_string_ext gsm_map_nature_of_number_values_ext = VALUE_STRING_EXT_INIT(gsm_map_nature_of_number_values);
18728 static const value_string gsm_map_number_plan_values[] = {
18729 { 0x00, "unknown" },
18730 { 0x01, "ISDN/Telephony Numbering (Rec ITU-T E.164)" },
18731 { 0x02, "spare" },
18732 { 0x03, "Data Numbering (ITU-T Rec. X.121)" },
18733 { 0x04, "Telex Numbering (ITU-T Rec. F.69)" },
18734 { 0x05, "spare" },
18735 { 0x06, "Land Mobile Numbering (ITU-T Rec. E.212)" },
18736 { 0x07, "spare" },
18737 { 0x08, "National Numbering" },
18738 { 0x09, "Private Numbering" },
18739 { 0x0a, "spare" },
18740 { 0x0b, "spare" },
18741 { 0x0c, "spare" },
18742 { 0x0d, "spare" },
18743 { 0x0e, "spare" },
18744 { 0x0f, "Reserved for extension" },
18745 { 0, NULL }
18747 static value_string_ext gsm_map_number_plan_values_ext = VALUE_STRING_EXT_INIT(gsm_map_number_plan_values);
18749 static const true_false_string gsm_map_Ss_Status_q_bit_values = {
18750 "Quiescent",
18751 "Operative"
18753 static const true_false_string gsm_map_Ss_Status_p_values = {
18754 "Provisioned",
18755 "Not Provisioned"
18757 static const true_false_string gsm_map_Ss_Status_r_values = {
18758 "Registered",
18759 "Not Registered"
18761 static const true_false_string gsm_map_Ss_Status_a_values = {
18762 "Active",
18763 "not Active"
18767 * Translate the MAP operation code value to a text string
18768 * Take into account the MAP version for ForwardSM
18770 const gchar* gsm_map_opr_code(guint32 val) {
18771 switch (val) {
18772 case 44: /*mt-forwardSM*/
18773 /* FALLTHRU */
18774 case 46: /*mo-forwardSM*/
18775 /* FALLTHRU */
18776 if (application_context_version < 3) {
18777 return val_to_str_const(val, gsm_map_V1V2_opr_code_strings, "Unknown GSM-MAP opcode");
18779 /* Else use the default map operation translation */
18780 default:
18781 return val_to_str_ext_const(val, &gsm_old_GSMMAPOperationLocalvalue_vals_ext, "Unknown GSM-MAP opcode");
18782 break;
18786 /* Prototype for a decoding function */
18787 typedef int (* dissect_function_t)( gboolean,
18788 tvbuff_t *,
18789 int ,
18790 asn1_ctx_t *,
18791 proto_tree *,
18792 int);
18795 * Dissect Multiple Choice Message
18796 * This function is used to decode a message, when several encoding may be used.
18797 * For exemple, in the last MAP version, the Cancel Location is defined like this:
18798 * CancelLocationArg ::= [3] IMPLICIT SEQUENCE
18799 * But in the previous MAP version, it was a CHOICE between a SEQUENCE and an IMSI
18800 * As ASN1 encoders (or software) still uses the old encoding, this function allows
18801 * the decoding of both versions.
18802 * Moreover, some optimizations (or bad practice ?) in ASN1 encoder, removes the
18803 * SEQUENCE tag, when only one parameter is present in the SEQUENCE.
18804 * This explain why the function expects 3 parameters:
18805 * - a [3] SEQUENCE corresponding the recent ASN1 MAP encoding
18806 * - a SEQUENCE for old style
18807 * - and a single parameter, for old version or optimizations
18809 * The analyze of the first ASN1 tag, indicate what kind of decoding should be used,
18810 * if the decoding function is provided (so not a NULL function)
18812 static int dissect_mc_message(tvbuff_t *tvb,
18813 int offset,
18814 asn1_ctx_t *actx,
18815 proto_tree *tree,
18816 gboolean implicit_param _U_, dissect_function_t parameter, int hf_index_param _U_,
18817 gboolean implicit_seq _U_, dissect_function_t sequence, int hf_index_seq _U_,
18818 gboolean implicit_seq3 _U_, dissect_function_t sequence3, int hf_index_seq3 _U_ )
18820 guint8 octet;
18821 gint8 bug_class;
18822 gboolean bug_pc, bug_ind_field;
18823 gint32 bug_tag;
18824 guint32 bug_len;
18826 octet = tvb_get_guint8(tvb,0);
18827 if ( (octet & 0xf) == 3) {
18828 /* XXX asn2wrs can not yet handle tagged assignment yes so this
18829 * XXX is some conformance file magic to work around that bug
18831 offset = get_ber_identifier(tvb, offset, &bug_class, &bug_pc, &bug_tag);
18832 offset = get_ber_length(tvb, offset, &bug_len, &bug_ind_field);
18833 if (sequence3 != NULL) {
18834 offset= (sequence3) (implicit_seq3, tvb, offset, actx, tree, hf_index_seq3);
18835 } else {
18836 proto_tree_add_expert(tree, actx->pinfo, &ei_gsm_map_unknown_sequence3, tvb, offset, -1);
18838 } else if (octet == 0x30) {
18839 if (sequence != NULL) {
18840 offset= (sequence) (implicit_seq, tvb, 0, actx, tree, hf_index_seq);
18841 } else {
18842 proto_tree_add_expert(tree, actx->pinfo, &ei_gsm_map_unknown_sequence, tvb, offset, -1);
18844 } else {
18845 if (parameter != NULL) {
18846 offset= (parameter) (implicit_param, tvb, offset, actx, tree, hf_index_param);
18847 } else {
18848 proto_tree_add_expert(tree, actx->pinfo, &ei_gsm_map_unknown_parameter, tvb, offset, -1);
18851 return offset;
18854 static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
18856 switch(opcode){
18857 case 2: /*updateLocation*/
18858 offset=dissect_gsm_map_ms_UpdateLocationArg(FALSE, tvb, offset, actx, tree, -1);
18859 break;
18860 case 3: /*cancelLocation*/
18861 offset=dissect_mc_message(tvb, offset, actx, tree,
18862 FALSE, dissect_gsm_map_Identity, hf_gsm_map_ms_identity,
18863 FALSE, dissect_gsm_map_Identity, hf_gsm_map_ms_identity,
18864 TRUE , dissect_gsm_map_ms_CancelLocationArg, -1);/*undefined*/
18865 break;
18866 case 4: /*provideRoamingNumber*/
18867 offset=dissect_gsm_map_ch_ProvideRoamingNumberArg(FALSE, tvb, offset, actx, tree, -1);
18868 break;
18869 case 5: /*noteSubscriberDataModified*/
18870 offset=dissect_gsm_map_ms_NoteSubscriberDataModifiedArg(FALSE, tvb, offset, actx, tree, -1);
18871 break;
18872 case 6: /*resumeCallHandling*/
18873 offset=dissect_gsm_map_ch_ResumeCallHandlingArg(FALSE, tvb, offset, actx, tree, -1);
18874 break;
18875 case 7: /*insertSubscriberData*/
18876 offset=dissect_gsm_map_ms_InsertSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1);
18877 break;
18878 case 8: /*deleteSubscriberData*/
18879 offset=dissect_gsm_map_ms_DeleteSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1);
18880 break;
18881 /* TODO find out why this isn't in the ASN1 file */
18882 /* reserved sendParameters (9) */
18883 case 10: /*registerSS*/
18884 offset=dissect_gsm_map_ss_RegisterSS_Arg(FALSE, tvb, offset, actx, tree, -1);
18885 break;
18886 case 11: /*eraseSS*/
18887 offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
18888 break;
18889 case 12: /*activateSS*/
18890 offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
18891 break;
18892 case 13: /*deactivateSS*/
18893 offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
18894 break;
18895 case 14: /*interrogateSS*/
18896 offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
18897 break;
18898 case 15: /*authenticationFailureReport*/
18899 offset=dissect_gsm_map_ms_AuthenticationFailureReportArg(FALSE, tvb, offset, actx, tree, -1);
18900 break;
18901 case 16: /*SS-protocol notifySS*/
18902 offset=dissect_gsm_ss_NotifySS_Arg(FALSE, tvb, offset, actx, tree, -1);
18903 break;
18904 case 17: /*registerPassword*/
18905 offset=dissect_gsm_map_SS_Code(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_Code);
18906 break;
18907 case 18: /*getPassword*/
18908 offset=dissect_gsm_old_GetPasswordArg(FALSE, tvb, offset, actx, tree, hf_gsm_map_getPassword);
18909 break;
18910 case 19: /* SS-Protocol processUnstructuredSS-Data (19) */
18911 offset=dissect_gsm_ss_SS_UserData(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_SS_UserData);
18912 break;
18913 case 20: /*releaseResources*/
18914 offset=dissect_gsm_map_ch_ReleaseResourcesArg(FALSE, tvb, offset, actx, tree, -1);
18915 break;
18916 case 21: /*mt-ForwardSM-VGCS*/
18917 offset=dissect_gsm_map_sm_MT_ForwardSM_VGCS_Arg(FALSE, tvb, offset, actx, tree, -1);
18918 break;
18919 case 22: /*sendRoutingInfo*/
18920 if (application_context_version == 3){
18921 offset=dissect_gsm_map_ch_SendRoutingInfoArg(FALSE, tvb, offset, actx, tree, -1);
18922 }else{
18923 offset=dissect_gsm_old_SendRoutingInfoArgV2(FALSE, tvb, offset, actx, tree, -1);
18925 break;
18926 case 23: /*updateGprsLocation*/
18927 offset=dissect_gsm_map_ms_UpdateGprsLocationArg(FALSE, tvb, offset, actx, tree, -1);
18928 break;
18929 case 24: /*sendRoutingInfoForGprs*/
18930 offset=dissect_gsm_map_ms_SendRoutingInfoForGprsArg(FALSE, tvb, offset, actx, tree, -1);
18931 break;
18932 case 25: /*failureReport*/
18933 offset=dissect_gsm_map_ms_FailureReportArg(FALSE, tvb, offset, actx, tree, -1);
18934 break;
18935 case 26: /*noteMsPresentForGprs*/
18936 offset=dissect_gsm_map_ms_NoteMsPresentForGprsArg(FALSE, tvb, offset, actx, tree, -1);
18937 break;
18938 /* undefined 27 */
18939 /* reserved performHandover (28) */
18940 case 29: /*sendEndSignal*/
18941 offset=dissect_mc_message(tvb, offset, actx, tree,
18942 FALSE, NULL, -1,
18943 FALSE, dissect_gsm_old_Bss_APDU, -1,
18944 TRUE , dissect_gsm_map_ms_SendEndSignal_Arg, -1);
18945 break;
18946 /* reserved performSubsequentHandover (30) */
18947 case 31: /*provideSIWFSNumber*/
18948 offset=dissect_gsm_old_ProvideSIWFSNumberArg(FALSE, tvb, offset, actx, tree, -1);
18949 break;
18950 case 32: /*sIWFSSignallingModify*/
18951 offset=dissect_gsm_old_SIWFSSignallingModifyArg(FALSE, tvb, offset, actx, tree, -1);
18952 break;
18953 case 33: /*processAccessSignalling*/
18954 offset=dissect_mc_message(tvb, offset, actx, tree,
18955 FALSE, NULL, -1,
18956 FALSE, dissect_gsm_old_Bss_APDU, -1,
18957 TRUE , dissect_gsm_map_ms_ProcessAccessSignalling_Arg, -1);
18958 break;
18959 case 34: /*forwardAccessSignalling*/
18960 offset=dissect_mc_message(tvb, offset, actx, tree,
18961 FALSE, NULL, -1,
18962 FALSE, dissect_gsm_old_Bss_APDU, -1,
18963 TRUE , dissect_gsm_map_ms_ForwardAccessSignalling_Arg, -1);
18964 break;
18965 /* reserved noteInternalHandover (35) */
18966 /* undefined 36 */
18967 case 37: /*reset*/
18968 offset=dissect_gsm_map_ms_ResetArg(FALSE, tvb, offset, actx, tree, -1);
18969 break;
18970 case 38: /*forwardCheckSS-Indication*/
18971 return offset;
18972 break;
18973 case 39: /*prepareGroupCall*/
18974 offset=dissect_gsm_map_gr_PrepareGroupCallArg(FALSE, tvb, offset, actx, tree, -1);
18975 break;
18976 case 40: /*sendGroupCallEndSignal*/
18977 offset = dissect_gsm_map_gr_SendGroupCallEndSignalArg(FALSE, tvb, offset, actx, tree, -1);
18978 break;
18979 case 41: /*processGroupCallSignalling*/
18980 offset = dissect_gsm_map_gr_ProcessGroupCallSignallingArg(FALSE, tvb, offset, actx, tree, -1);
18981 break;
18982 case 42: /*forwardGroupCallSignalling*/
18983 offset=dissect_gsm_map_gr_ForwardGroupCallSignallingArg(FALSE, tvb, offset, actx, tree, -1);
18984 break;
18985 case 43: /*checkIMEI*/
18986 if (pref_ericsson_proprietary_ext) {
18987 offset=dissect_mc_message(tvb, offset, actx, tree,
18988 FALSE, dissect_gsm_map_IMEI, hf_gsm_map_ms_imei,
18989 FALSE, dissect_gsm_map_ericsson_EnhancedCheckIMEI_Arg, -1,
18990 TRUE , NULL, -1); /* no [3] SEQUENCE */
18991 } else {
18992 offset=dissect_mc_message(tvb, offset, actx, tree,
18993 FALSE, dissect_gsm_map_IMEI, hf_gsm_map_ms_imei,
18994 FALSE, dissect_gsm_map_ms_CheckIMEI_Arg, -1,
18995 TRUE , NULL, -1); /* no [3] SEQUENCE */
18997 break;
18998 case 44: /*mt-forwardSM(v3) or ForwardSM(v1/v2)*/
18999 if (application_context_version == 3)
19000 offset=dissect_gsm_map_sm_MT_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
19001 else {
19002 offset=dissect_gsm_old_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
19004 break;
19005 case 45: /*sendRoutingInfoForSM*/
19006 offset=dissect_gsm_map_sm_RoutingInfoForSM_Arg(FALSE, tvb, offset, actx, tree, -1);
19007 break;
19008 case 46: /*mo-forwardSM(v3) or ForwardSM(v1/v2)*/
19009 if (application_context_version == 3)
19010 offset=dissect_gsm_map_sm_MO_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
19011 else {
19012 offset=dissect_gsm_old_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
19014 break;
19015 case 47: /*reportSM-DeliveryStatus*/
19016 offset=dissect_gsm_map_sm_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, actx, tree, -1);
19017 break;
19018 /* reserved noteSubscriberPresent (48) */
19019 /* reserved alertServiceCentreWithoutResult (49)
19020 * ETS 300 599: December 2000 (GSM 09.02 version 4.19.1)
19021 * -- alertServiceCentreWithoutResult must not be used in
19022 * -- version greater 1
19024 case 49:
19025 offset = dissect_gsm_map_sm_AlertServiceCentreArg(FALSE, tvb, offset, actx, tree, -1);
19026 break;
19027 case 50: /*activateTraceMode*/
19028 offset=dissect_gsm_map_om_ActivateTraceModeArg(FALSE, tvb, offset, actx, tree, -1);
19029 break;
19030 case 51: /*deactivateTraceMode*/
19031 offset=dissect_gsm_map_om_DeactivateTraceModeArg(FALSE, tvb, offset, actx, tree, -1);
19032 break;
19033 /* reserved traceSubscriberActivity (52) */
19034 /* undefined 53 */
19035 case 54: /*beginSubscriberActivity*/
19036 offset=dissect_gsm_old_BeginSubscriberActivityArg(FALSE, tvb, offset, actx, tree, -1);
19037 break;
19038 case 55: /*sendIdentification*/
19039 offset=dissect_mc_message(tvb, offset, actx, tree,
19040 FALSE, dissect_gsm_map_TMSI, hf_gsm_map_tmsi,
19041 FALSE, dissect_gsm_map_ms_SendIdentificationArg, -1,
19042 TRUE, NULL, -1);
19043 break;
19044 case 56: /*sendAuthenticationInfo*/
19045 offset=dissect_mc_message(tvb, offset, actx, tree,
19046 FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
19047 FALSE, dissect_gsm_map_ms_SendAuthenticationInfoArg, -1,
19048 TRUE, NULL, -1);
19049 break;
19050 case 57: /*restoreData*/
19051 offset=dissect_gsm_map_ms_RestoreDataArg(FALSE, tvb, offset, actx, tree, -1);
19052 break;
19053 case 58: /*sendIMSI*/
19054 offset = dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, actx, tree, hf_gsm_map_msisdn);
19055 break;
19056 case 59: /*processUnstructuredSS-Request*/
19057 offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1);
19058 break;
19059 case 60: /*unstructuredSS-Request*/
19060 offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1);
19061 break;
19062 case 61: /*unstructuredSS-Notify*/
19063 offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1);
19064 break;
19065 case 62: /*AnyTimeSubscriptionInterrogation*/
19066 offset=dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationArg(FALSE, tvb, offset, actx, tree, -1);
19067 break;
19068 case 63: /*informServiceCentre*/
19069 offset=dissect_gsm_map_sm_InformServiceCentreArg(FALSE, tvb, offset, actx, tree, -1);
19070 break;
19071 case 64: /*alertServiceCentre*/
19072 offset=dissect_gsm_map_sm_AlertServiceCentreArg(FALSE, tvb, offset, actx, tree, -1);
19073 break;
19074 case 65: /*AnyTimeModification*/
19075 offset=dissect_gsm_map_ms_AnyTimeModificationArg(FALSE, tvb, offset, actx, tree, -1);
19076 break;
19077 case 66: /*readyForSM*/
19078 offset=dissect_gsm_map_sm_ReadyForSM_Arg(FALSE, tvb, offset, actx, tree, -1);
19079 break;
19080 case 67: /*purgeMS*/
19081 offset=dissect_mc_message(tvb, offset, actx, tree,
19082 FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
19083 FALSE, dissect_gsm_old_PurgeMSArgV2, -1, /*undefined*/
19084 TRUE , dissect_gsm_map_ms_PurgeMS_Arg, -1);
19085 break;
19086 case 68: /*prepareHandover*/
19087 offset=dissect_mc_message(tvb, offset, actx, tree,
19088 FALSE, NULL, -1,
19089 FALSE, dissect_gsm_old_PrepareHO_ArgOld, -1,
19090 TRUE, dissect_gsm_map_ms_PrepareHO_Arg, -1);
19091 break;
19092 case 69: /*prepareSubsequentHandover*/
19093 offset=dissect_mc_message(tvb, offset, actx, tree,
19094 FALSE, NULL, -1,
19095 FALSE, NULL, -1,
19096 TRUE, dissect_gsm_map_ms_PrepareSubsequentHO_Arg, -1);
19097 break;
19098 case 70: /*provideSubscriberInfo*/
19099 offset=dissect_gsm_map_ms_ProvideSubscriberInfoArg(FALSE, tvb, offset, actx, tree, -1);
19100 break;
19101 case 71: /*anyTimeInterrogation*/
19102 offset=dissect_gsm_map_ms_AnyTimeInterrogationArg(FALSE, tvb, offset, actx, tree, -1);
19103 break;
19104 case 72: /*ss-InvocationNotificatio*/
19105 offset=dissect_gsm_map_ss_SS_InvocationNotificationArg(FALSE, tvb, offset, actx, tree, -1);
19106 break;
19107 case 73: /*setReportingState*/
19108 offset=dissect_gsm_map_ch_SetReportingStateArg(FALSE, tvb, offset, actx, tree, -1);
19109 break;
19110 case 74: /*statusReport*/
19111 offset=dissect_gsm_map_ch_StatusReportArg(FALSE, tvb, offset, actx, tree, -1);
19112 break;
19113 case 75: /*remoteUserFree*/
19114 offset=dissect_gsm_map_ch_RemoteUserFreeArg(FALSE, tvb, offset, actx, tree, -1);
19115 break;
19116 case 76: /*registerCC-Entry*/
19117 offset=dissect_gsm_map_ss_RegisterCC_EntryArg(FALSE, tvb, offset, actx, tree, -1);
19118 break;
19119 case 77: /*eraseCC-Entry*/
19120 offset=dissect_gsm_map_ss_EraseCC_EntryArg(FALSE, tvb, offset, actx, tree, -1);
19121 break;
19122 case 78: /*secureTransportClass1*/
19123 case 79: /*secureTransportClass1*/
19124 case 80: /*secureTransportClass1*/
19125 case 81: /*secureTransportClass1*/
19126 offset=dissect_gsm_old_SecureTransportArg(FALSE, tvb, offset, actx, tree, -1);
19127 break;
19128 /* undefined 82 */
19129 case 83: /*provideSubscriberLocation*/
19130 offset=dissect_gsm_map_lcs_ProvideSubscriberLocation_Arg(FALSE, tvb, offset, actx, tree, -1);
19131 break;
19132 case 84: /*sendGroupCallInfo*/
19133 offset=dissect_gsm_map_gr_SendGroupCallInfoArg(FALSE, tvb, offset, actx, tree, -1);
19134 break;
19135 case 85: /*sendRoutingInfoForLCS*/
19136 offset=dissect_gsm_map_lcs_RoutingInfoForLCS_Arg(FALSE, tvb, offset, actx, tree, -1);
19137 break;
19138 case 86: /*subscriberLocationReport*/
19139 offset=dissect_gsm_map_lcs_SubscriberLocationReport_Arg(FALSE, tvb, offset, actx, tree, -1);
19140 break;
19141 case 87: /*ist-Alert*/
19142 offset=dissect_gsm_map_ch_IST_AlertArg(FALSE, tvb, offset, actx, tree, -1);
19143 break;
19144 case 88: /*ist-Command*/
19145 offset=dissect_gsm_map_ch_IST_CommandArg(FALSE, tvb, offset, actx, tree, -1);
19146 break;
19147 case 89: /*noteMM-Event*/
19148 offset=dissect_gsm_map_ms_NoteMM_EventArg(FALSE, tvb, offset, actx, tree, -1);
19149 break;
19150 case 109: /*SS-protocol lcs-PeriodicLocationCancellation*/
19151 offset=dissect_gsm_ss_LCS_PeriodicLocationCancellationArg(FALSE, tvb, offset, actx, tree, -1);
19152 break;
19153 case 110: /*SS-protocol lcs-LocationUpdate*/
19154 offset=dissect_gsm_ss_LCS_LocationUpdateArg(FALSE, tvb, offset, actx, tree, -1);
19155 break;
19156 case 111: /*SS-protocol lcs-PeriodicLocationRequest*/
19157 offset=dissect_gsm_ss_LCS_PeriodicLocationRequestArg(FALSE, tvb, offset, actx, tree, -1);
19158 break;
19159 case 112: /*SS-protocol lcs-AreaEventCancellation*/
19160 offset=dissect_gsm_ss_LCS_AreaEventCancellationArg(FALSE, tvb, offset, actx, tree, -1);
19161 break;
19162 case 113: /*SS-protocol lcs-AreaEventReport*/
19163 offset=dissect_gsm_ss_LCS_AreaEventReportArg(FALSE, tvb, offset, actx, tree, -1);
19164 break;
19165 case 114: /*SS-protocol lcs-AreaEventRequest*/
19166 offset=dissect_gsm_ss_LCS_AreaEventRequestArg(FALSE, tvb, offset, actx, tree, -1);
19167 break;
19168 case 115: /*SS-protocol lcs-MOLR*/
19169 offset=dissect_gsm_ss_LCS_MOLRArg(FALSE, tvb, offset, actx, tree, -1);
19170 break;
19171 case 116: /*SS-protocol lcs-LocationNotification*/
19172 offset=dissect_gsm_ss_LocationNotificationArg(FALSE, tvb, offset, actx, tree, -1);
19173 break;
19174 case 117: /*SS-protocol callDeflection*/
19175 offset=dissect_gsm_ss_CallDeflectionArg(FALSE, tvb, offset, actx, tree, -1);
19176 break;
19177 case 118: /*SS-protocol userUserService*/
19178 offset=dissect_gsm_ss_UserUserServiceArg(FALSE, tvb, offset, actx, tree, -1);
19179 break;
19180 case 119: /*SS-protocol accessRegisterCCEntry*/
19181 offset=dissect_gsm_ss_AccessRegisterCCEntryArg(FALSE, tvb, offset, actx, tree, -1);
19182 break;
19183 case 120: /*SS-protocol forwardCUG-Info*/
19184 application_context_version = 3;
19185 offset=dissect_gsm_ss_ForwardCUG_InfoArg(FALSE, tvb, offset, actx, tree, -1);
19186 break;
19187 case 121: /*SS-protocol splitMPTY no Argument*/
19188 break;
19189 case 122: /*SS-protocol retrieveMPTY no Argument*/
19190 break;
19191 case 123: /*SS-protocol holdMPTY no Argument*/
19192 break;
19193 case 124: /*SS-protocol buildMPTY no Argument*/
19194 break;
19195 case 125: /*SS-protocol forwardChargeAdvice*/
19196 offset=dissect_gsm_ss_ForwardChargeAdviceArg(FALSE, tvb, offset, actx, tree, -1);
19197 break;
19198 case 126: /*SS-protocol explicitCT no Argument*/
19199 break;
19200 default:
19201 if(!dissector_try_uint(map_prop_arg_opcode_table, (guint8)opcode, tvb, actx->pinfo, tree)){
19202 proto_tree_add_expert_format(tree, actx->pinfo, &ei_gsm_map_unknown_invokeData,
19203 tvb, offset, -1, "Unknown invokeData %d", opcode);
19205 offset+= tvb_length_remaining(tvb,offset);
19206 break;
19208 return offset;
19212 static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
19214 switch(opcode){
19215 case 2: /*updateLocation*/
19216 offset=dissect_mc_message(tvb, offset, actx, tree,
19217 FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
19218 FALSE, dissect_gsm_map_ms_UpdateLocationRes, -1,
19219 TRUE , NULL, -1);
19220 break;
19221 case 3: /*cancelLocation*/
19222 offset=dissect_gsm_map_ms_CancelLocationRes(FALSE, tvb, offset, actx, tree, -1);
19223 break;
19224 case 4: /*provideRoamingNumber*/
19225 offset=dissect_mc_message(tvb, offset, actx, tree,
19226 FALSE, dissect_gsm_map_ISDN_AddressString, hf_gsm_map_msisdn,
19227 FALSE, dissect_gsm_map_ch_ProvideRoamingNumberRes, -1,
19228 TRUE , NULL, -1);/*undefined*/
19229 break;
19230 case 5: /*noteSubscriberDataModified*/
19231 offset=dissect_gsm_map_ms_NoteSubscriberDataModifiedRes(FALSE, tvb, offset, actx, tree, -1);
19232 break;
19233 case 6: /*resumeCallHandling*/
19234 offset=dissect_gsm_map_ch_ResumeCallHandlingRes(FALSE, tvb, offset, actx, tree, -1);
19235 break;
19236 case 7: /*insertSubscriberData*/
19237 offset=dissect_gsm_map_ms_InsertSubscriberDataRes(FALSE, tvb, offset, actx, tree, -1);
19238 break;
19239 case 8: /*deleteSubscriberData*/
19240 offset=dissect_gsm_map_ms_DeleteSubscriberDataRes(FALSE, tvb, offset, actx, tree, -1);
19241 break;
19242 /* TODO find out why this isn't in the ASN1 file
19243 case 9: sendParameters
19244 offset=dissect_gsm_map_DeleteSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1);
19245 break;
19247 case 10: /*registerSS*/
19248 offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1);
19249 break;
19250 case 11: /*eraseSS*/
19251 offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1);
19252 break;
19253 case 12: /*activateSS*/
19254 offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1);
19255 break;
19256 case 13: /*deactivateSS*/
19257 offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1);
19258 break;
19259 case 14: /*interrogateSS*/
19260 offset=dissect_gsm_map_ss_InterrogateSS_Res(FALSE, tvb, offset, actx, tree, -1);
19261 break;
19262 case 15: /*authenticationFailureReport*/
19263 offset=dissect_gsm_map_ms_AuthenticationFailureReportRes(FALSE, tvb, offset, actx, tree, -1);
19264 break;
19265 case 17: /*registerPassword*/
19266 /* change hf_gsm_map_ss_Code to something with password */
19267 offset=dissect_gsm_old_NewPassword(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_Code);
19268 break;
19269 case 18: /*getPassword*/
19270 offset=dissect_gsm_old_CurrentPassword(FALSE, tvb, offset, actx, tree, hf_gsm_map_currentPassword);
19271 break;
19272 case 19: /* SS-Protocol processUnstructuredSS-Data (19) */
19273 offset=dissect_gsm_ss_SS_UserData(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_SS_UserData);
19274 break;
19275 case 20: /*releaseResources*/
19276 offset=dissect_gsm_map_ch_ReleaseResourcesRes(FALSE, tvb, offset, actx, tree, -1);
19277 break;
19278 case 21: /*mt-ForwardSM-VGCS*/
19279 offset=dissect_gsm_map_sm_MT_ForwardSM_VGCS_Res(FALSE, tvb, offset, actx, tree, -1);
19280 break;
19281 case 22: /*sendRoutingInfo*/
19282 if (application_context_version == 3){
19283 /* If the tag is missing use SendRoutingInfoRes_U */
19284 offset=dissect_mc_message(tvb, offset, actx, tree,
19285 FALSE, NULL, -1,
19286 FALSE, dissect_gsm_map_ch_SendRoutingInfoRes_U, -1,
19287 TRUE , dissect_gsm_map_ch_SendRoutingInfoRes, -1);
19288 }else{
19289 offset=dissect_mc_message(tvb, offset, actx, tree,
19290 FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
19291 FALSE, dissect_gsm_old_SendRoutingInfoResV2, -1,
19292 TRUE , dissect_gsm_map_ch_SendRoutingInfoRes, -1);
19294 break;
19295 case 23: /*updateGprsLocation*/
19296 offset=dissect_gsm_map_ms_UpdateGprsLocationRes(FALSE, tvb, offset, actx, tree, -1);
19297 break;
19298 case 24: /*sendRoutingInfoForGprs*/
19299 offset=dissect_gsm_map_ms_SendRoutingInfoForGprsRes(FALSE, tvb, offset, actx, tree, -1);
19300 break;
19301 case 25: /*failureReport*/
19302 offset=dissect_gsm_map_ms_FailureReportRes(FALSE, tvb, offset, actx, tree, -1);
19303 break;
19304 case 26: /*noteMsPresentForGprs*/
19305 offset=dissect_gsm_map_ms_NoteMsPresentForGprsRes(FALSE, tvb, offset, actx, tree, -1);
19306 break;
19307 case 29: /*sendEndSignal*/
19308 /* Taken from MAP-MobileServiceOperations{ 0 identified-organization (4) etsi (0) mobileDomain
19309 * (0) gsm-Network (1) modules (3) map-MobileServiceOperations (5) version9 (9) }
19311 offset=dissect_gsm_map_ms_SendEndSignal_Res(FALSE, tvb, offset, actx, tree, -1);
19312 break;
19313 case 31: /*provideSIWFSNumber*/
19314 offset=dissect_gsm_old_ProvideSIWFSNumberRes(FALSE, tvb, offset, actx, tree, -1);
19315 break;
19316 case 32: /*provideSIWFSSignallingModify*/
19317 offset=dissect_gsm_old_SIWFSSignallingModifyRes(FALSE, tvb, offset, actx, tree, -1);
19318 break;
19319 case 39: /*prepareGroupCall*/
19320 offset=dissect_gsm_map_gr_PrepareGroupCallRes(FALSE, tvb, offset, actx, tree, -1);
19321 break;
19322 case 40: /*sendGroupCallEndSignal*/
19323 offset=dissect_gsm_map_gr_SendGroupCallEndSignalRes(FALSE, tvb, offset, actx, tree, -1);
19324 break;
19325 case 43: /*checkIMEI*/
19326 offset=dissect_mc_message(tvb, offset, actx, tree,
19327 FALSE, dissect_gsm_map_ms_EquipmentStatus, hf_gsm_map_ms_equipmentStatus,
19328 FALSE, dissect_gsm_map_ms_CheckIMEI_Res, -1,
19329 TRUE, NULL, -1);
19330 break;
19331 case 44: /*mt-forwardSM*/
19332 offset=dissect_gsm_map_sm_MT_ForwardSM_Res(FALSE, tvb, offset, actx, tree, -1);
19333 break;
19334 case 45: /*sendRoutingInfoForSM*/
19335 offset=dissect_gsm_map_sm_RoutingInfoForSM_Res(FALSE, tvb, offset, actx, tree, -1);
19336 break;
19337 case 46: /*mo-forwardSM*/
19338 offset=dissect_gsm_map_sm_MO_ForwardSM_Res(FALSE, tvb, offset, actx, tree, -1);
19339 break;
19340 case 47: /*reportSM-DeliveryStatus*/
19341 offset=dissect_mc_message(tvb, offset, actx, tree,
19342 FALSE, dissect_gsm_map_ISDN_AddressString, hf_gsm_map_sm_storedMSISDN,
19343 FALSE, dissect_gsm_map_sm_ReportSM_DeliveryStatusRes, -1,
19344 FALSE, NULL, -1);/*undefined*/
19346 break;
19347 case 48: /*noteSubscriberPresent*/
19348 break;
19349 case 50: /*activateTraceMode*/
19350 offset=dissect_gsm_map_om_ActivateTraceModeRes(FALSE, tvb, offset, actx, tree, -1);
19351 break;
19352 case 51: /*deactivateTraceMode*/
19353 offset=dissect_gsm_map_om_DeactivateTraceModeRes(FALSE, tvb, offset, actx, tree, -1);
19354 break;
19355 case 55: /*sendIdentification */
19356 offset=dissect_mc_message(tvb, offset, actx, tree,
19357 FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
19358 FALSE, dissect_gsm_old_SendIdentificationResV2, -1,/*undefined*/
19359 TRUE, dissect_gsm_map_ms_SendIdentificationRes, -1);
19360 break;
19361 case 56: /*sendAuthenticationInfo*/
19362 offset=dissect_mc_message(tvb, offset, actx, tree,
19363 FALSE, NULL, -1,
19364 FALSE, dissect_gsm_old_SendAuthenticationInfoResOld, -1,
19365 TRUE , dissect_gsm_map_ms_SendAuthenticationInfoRes, -1);
19366 break;
19367 case 57: /*restoreData*/
19368 offset=dissect_gsm_map_ms_RestoreDataRes(FALSE, tvb, offset, actx, tree, -1);
19369 break;
19370 case 58: /*sendIMSI*/
19371 offset=dissect_gsm_map_IMSI(FALSE, tvb, offset, actx, tree, hf_gsm_map_ms_imsi);
19372 break;
19373 case 59: /*unstructuredSS-Request*/
19374 offset=dissect_gsm_map_ss_USSD_Res(FALSE, tvb, offset, actx, tree, -1);
19375 break;
19376 case 60: /*unstructuredSS-Request*/
19377 offset=dissect_gsm_map_ss_USSD_Res(FALSE, tvb, offset, actx, tree, -1);
19378 break;
19379 case 61: /*unstructuredSS-Notify*/
19380 /* TRUE ? */
19381 proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
19382 break;
19383 case 62: /*AnyTimeSubscriptionInterrogation*/
19384 offset=dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationRes(FALSE, tvb, offset, actx, tree, -1);
19385 break;
19386 case 64: /*alertServiceCentre*/
19387 /* TRUE */
19388 break;
19389 case 65: /*AnyTimeModification*/
19390 offset=dissect_gsm_map_ms_AnyTimeModificationRes(FALSE, tvb, offset, actx, tree, -1);
19391 break;
19392 case 66: /*readyForSM*/
19393 offset=dissect_gsm_map_sm_ReadyForSM_Res(FALSE, tvb, offset, actx, tree, -1);
19394 break;
19395 case 67: /*purgeMS*/
19396 offset=dissect_gsm_map_ms_PurgeMS_Res(FALSE, tvb, offset, actx, tree, -1);
19397 break;
19398 case 68: /*prepareHandover*/
19399 offset=dissect_mc_message(tvb, offset, actx, tree,
19400 FALSE, NULL, -1,
19401 FALSE, dissect_gsm_old_PrepareHO_ResOld, -1,
19402 TRUE , dissect_gsm_map_ms_PrepareHO_Res, -1);
19403 break;
19404 case 69: /*prepareSubsequentHandover*/
19405 offset=dissect_mc_message(tvb, offset, actx, tree,
19406 FALSE, NULL, -1,
19407 FALSE, NULL, -1,
19408 TRUE , dissect_gsm_map_ms_PrepareSubsequentHO_Res, -1);
19409 break;
19410 case 70: /*provideSubscriberInfo*/
19411 offset=dissect_gsm_map_ms_ProvideSubscriberInfoRes(FALSE, tvb, offset, actx, tree, -1);
19412 break;
19413 case 71: /*anyTimeInterrogation*/
19414 offset=dissect_gsm_map_ms_AnyTimeInterrogationRes(FALSE, tvb, offset, actx, tree, -1);
19415 break;
19416 case 72: /*ss-InvocationNotificatio*/
19417 offset=dissect_gsm_map_ss_SS_InvocationNotificationRes(FALSE, tvb, offset, actx, tree, -1);
19418 break;
19419 case 73: /*setReportingState*/
19420 offset=dissect_gsm_map_ch_SetReportingStateRes(FALSE, tvb, offset, actx, tree, -1);
19421 break;
19422 case 74: /*statusReport*/
19423 offset=dissect_gsm_map_ch_StatusReportRes(FALSE, tvb, offset, actx, tree, -1);
19424 break;
19425 case 75: /*remoteUserFree*/
19426 offset=dissect_gsm_map_ch_RemoteUserFreeRes(FALSE, tvb, offset, actx, tree, -1);
19427 break;
19428 case 76: /*registerCC-Entry*/
19429 offset=dissect_gsm_map_ss_RegisterCC_EntryRes(FALSE, tvb, offset, actx, tree, -1);
19430 break;
19431 case 77: /*eraseCC-Entry*/
19432 offset=dissect_gsm_map_ss_EraseCC_EntryRes(FALSE, tvb, offset, actx, tree, -1);
19433 break;
19434 case 78: /*secureTransportClass1*/
19435 case 79: /*secureTransportClass2*/
19436 case 80: /*secureTransportClass3*/
19437 case 81: /*secureTransportClass4*/
19438 offset=dissect_gsm_old_SecureTransportRes(FALSE, tvb, offset, actx, tree, -1);
19439 break;
19440 case 83: /*provideSubscriberLocation*/
19441 offset=dissect_gsm_map_lcs_ProvideSubscriberLocation_Res(FALSE, tvb, offset, actx, tree, -1);
19442 break;
19443 case 84: /*sendGroupCallInfo*/
19444 offset=dissect_gsm_map_gr_SendGroupCallInfoRes(FALSE, tvb, offset, actx, tree, -1);
19445 break;
19446 case 85: /*sendRoutingInfoForLCS*/
19447 offset=dissect_gsm_map_lcs_RoutingInfoForLCS_Res(FALSE, tvb, offset, actx, tree, -1);
19448 break;
19449 case 86: /*subscriberLocationReport*/
19450 offset=dissect_gsm_map_lcs_SubscriberLocationReport_Res(FALSE, tvb, offset, actx, tree, -1);
19451 break;
19452 case 87: /*ist-Alert*/
19453 offset=dissect_gsm_map_ch_IST_AlertRes(FALSE, tvb, offset, actx, tree, -1);
19454 break;
19455 case 88: /*ist-Command*/
19456 offset=dissect_gsm_map_ch_IST_CommandRes(FALSE, tvb, offset, actx, tree, -1);
19457 break;
19458 case 89: /*noteMM-Event*/
19459 offset=dissect_gsm_map_ms_NoteMM_EventRes(FALSE, tvb, offset, actx, tree, -1);
19460 break;
19461 case 109: /*SS-protocol lcs-PeriodicLocationCancellation*/
19462 /* No parameter */
19463 break;
19464 case 110: /*SS-protocol lcs-LocationUpdate*/
19465 offset=dissect_gsm_ss_LCS_LocationUpdateRes(FALSE, tvb, offset, actx, tree, -1);
19466 break;
19467 case 111: /*SS-protocol lcs-PeriodicLocationRequest*/
19468 offset=dissect_gsm_ss_LCS_PeriodicLocationRequestRes(FALSE, tvb, offset, actx, tree, -1);
19469 break;
19470 case 112: /*SS-protocol lcs-AreaEventCancellation*/
19471 break;
19472 case 113: /*SS-protocol lcs-AreaEventReport*/
19473 break;
19474 case 114: /*SS-protocol lcs-AreaEventRequest No RESULT data*/
19475 break;
19476 case 115: /*SS-protocol lcs-MOLR*/
19477 offset=dissect_gsm_ss_LCS_MOLRRes(FALSE, tvb, offset, actx, tree, -1);
19478 break;
19479 case 116: /*SS-protocol lcs-LocationNotification*/
19480 offset=dissect_gsm_ss_LocationNotificationRes(FALSE, tvb, offset, actx, tree, -1);
19481 break;
19482 case 117: /*SS-protocol callDeflection no RESULT*/
19483 break;
19484 case 118: /*SS-protocol userUserService no RESULT*/
19485 break;
19486 case 119: /*SS-protocol accessRegisterCCEntry*/
19487 offset=dissect_gsm_map_ss_RegisterCC_EntryRes(FALSE, tvb, offset, actx, tree, -1);
19488 break;
19489 case 120: /*SS-protocol forwardCUG-Info*/
19490 /* No RETURN RESULT*/
19491 break;
19492 case 121: /*SS-protocol splitMPTY no RESULT*/
19493 break;
19494 case 122: /*SS-protocol retrieveMPTY no RESULT*/
19495 break;
19496 case 123: /*SS-protocol holdMPTY no RESULT*/
19497 break;
19498 case 124: /*SS-protocol buildMPTY no RESULT*/
19499 break;
19500 case 125: /*SS-protocol forwardChargeAdvice no RESULT*/
19501 break;
19502 case 126: /*SS-protocol explicitCT no RESULT*/
19503 break;
19505 default:
19506 if(!dissector_try_uint(map_prop_res_opcode_table, (guint8)opcode, tvb, actx->pinfo, tree)){
19507 proto_tree_add_expert_format(tree, actx->pinfo, &ei_gsm_map_unknown_invokeData,
19508 tvb, offset, -1, "Unknown returnResultData %d", opcode);
19510 offset+= tvb_length_remaining(tvb,offset);
19511 break;
19513 return offset;
19518 static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
19520 switch(errorCode){
19521 case 1: /* UnknownSubscriberParam */
19522 offset=dissect_gsm_map_er_UnknownSubscriberParam(FALSE, tvb, offset, actx, tree, -1);
19523 break;
19524 case 4: /* SecureTransportErrorParam */
19525 offset=dissect_gsm_old_SecureTransportErrorParam(FALSE, tvb, offset, actx, tree, -1);
19526 break;
19527 case 5: /* UnidentifiedSubParam */
19528 offset=dissect_gsm_map_er_UnidentifiedSubParam(FALSE, tvb, offset, actx, tree, -1);
19529 break;
19530 case 6: /* AbsentSubscriberSM-Param */
19531 offset=dissect_gsm_map_er_AbsentSubscriberSM_Param(FALSE, tvb, offset, actx, tree, -1);
19532 break;
19533 case 8: /* RoamingNotAllowedParam */
19534 offset=dissect_gsm_map_er_RoamingNotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
19535 break;
19536 case 9: /* IllegalSubscriberParam */
19537 offset=dissect_gsm_map_er_IllegalSubscriberParam(FALSE, tvb, offset, actx, tree, -1);
19538 break;
19539 case 10: /* BearerServNotProvParam */
19540 offset=dissect_gsm_map_er_BearerServNotProvParam(FALSE, tvb, offset, actx, tree, -1);
19541 break;
19542 case 11: /* TeleservNotProvParam */
19543 offset=dissect_gsm_map_er_TeleservNotProvParam(FALSE, tvb, offset, actx, tree, -1);
19544 break;
19545 case 12: /* IllegalEquipmentParam */
19546 offset=dissect_gsm_map_er_IllegalEquipmentParam(FALSE, tvb, offset, actx, tree, -1);
19547 break;
19548 case 13: /* CallBarredParam */
19549 offset=dissect_gsm_map_er_CallBarredParam(FALSE, tvb, offset, actx, tree, -1);
19550 break;
19551 case 14: /* ForwardingViolationParam */
19552 offset=dissect_gsm_map_er_ForwardingViolationParam(FALSE, tvb, offset, actx, tree, -1);
19553 break;
19554 case 15: /* CUG-RejectParam */
19555 offset=dissect_gsm_map_er_CUG_RejectParam(FALSE, tvb, offset, actx, tree, -1);
19556 break;
19557 case 16: /* IllegalSS-OperationParam */
19558 offset=dissect_gsm_map_er_IllegalSS_OperationParam(FALSE, tvb, offset, actx, tree, -1);
19559 break;
19560 case 17: /* SS-ErrorStatus */
19561 offset=dissect_gsm_map_ss_SS_Status(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_ss_Status);
19562 break;
19563 case 18: /* SS-NotAvailableParam */
19564 offset=dissect_gsm_map_er_SS_NotAvailableParam(FALSE, tvb, offset, actx, tree, -1);
19565 break;
19566 case 19: /* SS-SubscriptionViolationParam */
19567 offset=dissect_gsm_map_er_SS_SubscriptionViolationParam(FALSE, tvb, offset, actx, tree, -1);
19568 break;
19569 case 20: /* SS-IncompatibilityCause */
19570 offset=dissect_gsm_map_er_SS_IncompatibilityCause(FALSE, tvb, offset, actx, tree, -1);
19571 break;
19572 case 21: /* FacilityNotSupParam */
19573 offset=dissect_gsm_map_er_FacilityNotSupParam(FALSE, tvb, offset, actx, tree, -1);
19574 break;
19575 case 22: /* OngoingGroupCallParam */
19576 offset=dissect_gsm_map_er_OngoingGroupCallParam(FALSE, tvb, offset, actx, tree, -1);
19577 break;
19578 case 27: /* AbsentSubscriberParam */
19579 offset=dissect_gsm_map_er_AbsentSubscriberParam(FALSE, tvb, offset, actx, tree, -1);
19580 break;
19581 case 28: /* IncompatibleTerminalParam */
19582 offset=dissect_gsm_map_er_IncompatibleTerminalParam(FALSE, tvb, offset, actx, tree, -1);
19583 break;
19584 case 29: /* ShortTermDenialParam */
19585 offset=dissect_gsm_map_er_ShortTermDenialParam(FALSE, tvb, offset, actx, tree, -1);
19586 break;
19587 case 30: /* LongTermDenialParam */
19588 offset=dissect_gsm_map_er_LongTermDenialParam(FALSE, tvb, offset, actx, tree, -1);
19589 break;
19590 case 31: /* SubBusyForMT-SMS-Param */
19591 offset=dissect_gsm_map_er_SubBusyForMT_SMS_Param(FALSE, tvb, offset, actx, tree, -1);
19592 break;
19593 case 32: /* SM-DeliveryFailureCause */
19594 offset=dissect_gsm_map_er_SM_DeliveryFailureCause(FALSE, tvb, offset, actx, tree, -1);
19595 break;
19596 case 33: /* MessageWaitListFullParam */
19597 offset=dissect_gsm_map_er_MessageWaitListFullParam(FALSE, tvb, offset, actx, tree, -1);
19598 break;
19599 case 34: /* SystemFailureParam */
19600 offset=dissect_gsm_map_er_SystemFailureParam(FALSE, tvb, offset, actx, tree, -1);
19601 break;
19602 case 35: /* DataMissingParam */
19603 offset=dissect_gsm_map_er_DataMissingParam(FALSE, tvb, offset, actx, tree, -1);
19604 break;
19605 case 36: /* UnexpectedDataParam */
19606 offset=dissect_gsm_map_er_UnexpectedDataParam(FALSE, tvb, offset, actx, tree, -1);
19607 break;
19608 case 37: /* PW-RegistrationFailureCause */
19609 offset=dissect_gsm_map_er_PW_RegistrationFailureCause(FALSE, tvb, offset, actx, tree, -1);
19610 break;
19611 case 39: /* NoRoamingNbParam */
19612 offset=dissect_gsm_map_er_NoRoamingNbParam(FALSE, tvb, offset, actx, tree, -1);
19613 break;
19614 case 40: /* TracingBufferFullParam */
19615 offset=dissect_gsm_map_er_TracingBufferFullParam(FALSE, tvb, offset, actx, tree, -1);
19616 break;
19617 case 42: /* TargetCellOutsideGCA-Param */
19618 offset=dissect_gsm_map_er_TargetCellOutsideGCA_Param(FALSE, tvb, offset, actx, tree, -1);
19619 break;
19620 case 44: /* NumberChangedParam */
19621 offset=dissect_gsm_map_er_NumberChangedParam(FALSE, tvb, offset, actx, tree, -1);
19622 break;
19623 case 45: /* BusySubscriberParam */
19624 offset=dissect_gsm_map_er_BusySubscriberParam(FALSE, tvb, offset, actx, tree, -1);
19625 break;
19626 case 46: /* NoSubscriberReplyParam */
19627 offset=dissect_gsm_map_er_NoSubscriberReplyParam(FALSE, tvb, offset, actx, tree, -1);
19628 break;
19629 case 47: /* ForwardingFailedParam */
19630 offset=dissect_gsm_map_er_ForwardingFailedParam(FALSE, tvb, offset, actx, tree, -1);
19631 break;
19632 case 48: /* OR-NotAllowedParam */
19633 offset=dissect_gsm_map_er_OR_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
19634 break;
19635 case 49: /* ATI-NotAllowedParam */
19636 offset=dissect_gsm_map_er_ATI_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
19637 break;
19638 case 50: /* NoGroupCallNbParam */
19639 offset=dissect_gsm_map_er_NoGroupCallNbParam(FALSE, tvb, offset, actx, tree, -1);
19640 break;
19641 case 51: /* ResourceLimitationParam */
19642 offset=dissect_gsm_map_er_ResourceLimitationParam(FALSE, tvb, offset, actx, tree, -1);
19643 break;
19644 case 52: /* UnauthorizedRequestingNetwork-Param */
19645 offset=dissect_gsm_map_er_UnauthorizedRequestingNetwork_Param(FALSE, tvb, offset, actx, tree, -1);
19646 break;
19647 case 53: /* UnauthorizedLCSClient-Param */
19648 offset=dissect_gsm_map_er_UnauthorizedLCSClient_Param(FALSE, tvb, offset, actx, tree, -1);
19649 break;
19650 case 54: /* PositionMethodFailure-Param */
19651 offset=dissect_gsm_map_er_PositionMethodFailure_Param(FALSE, tvb, offset, actx, tree, -1);
19652 break;
19653 case 58: /* UnknownOrUnreachableLCSClient-Param */
19654 offset=dissect_gsm_map_er_UnknownOrUnreachableLCSClient_Param(FALSE, tvb, offset, actx, tree, -1);
19655 break;
19656 case 59: /* MM-EventNotSupported-Param */
19657 offset=dissect_gsm_map_er_MM_EventNotSupported_Param(FALSE, tvb, offset, actx, tree, -1);
19658 break;
19659 case 60: /* ATSI-NotAllowedParam */
19660 offset=dissect_gsm_map_er_ATSI_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
19661 break;
19662 case 61: /* ATM-NotAllowedParam */
19663 offset=dissect_gsm_map_er_ATM_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
19664 break;
19665 case 62: /* InformationNotAvailableParam */
19666 offset=dissect_gsm_map_er_InformationNotAvailableParam(FALSE, tvb, offset, actx, tree, -1);
19667 break;
19668 default:
19669 if(!dissector_try_uint(map_prop_err_opcode_table, (guint8)opcode, tvb, actx->pinfo, tree)){
19670 proto_tree_add_expert_format(tree, actx->pinfo, &ei_gsm_map_unknown_invokeData,
19671 tvb, offset, -1, "Unknown returnErrorData %d", opcode);
19673 offset+= tvb_length_remaining(tvb,offset);
19674 break;
19676 return offset;
19679 /* Private extension container for PLMN Data */
19680 static void dissect_gsm_mapext_PlmnContainer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree) {
19681 proto_item *item=NULL;
19682 proto_tree *tree=NULL;
19683 asn1_ctx_t asn1_ctx;
19684 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
19685 /* create display subtree for the protocol */
19686 if(parent_tree){
19687 item = proto_tree_add_text(parent_tree, tvb, 0, -1, "MAP Ext. Plmn Container");
19688 tree = proto_item_add_subtree(item, ett_gsm_old_PlmnContainer_U);
19690 dissect_gsm_old_PlmnContainer(FALSE, tvb, 0, &asn1_ctx, tree, -1);
19694 static guint8 gsmmap_pdu_type = 0;
19695 static guint8 gsm_map_pdu_size = 0;
19697 static int
19698 dissect_gsm_map_GSMMAPPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree,
19699 int hf_index _U_, struct tcap_private_t * p_private_tcap) {
19701 char *version_ptr;
19703 opcode = 0;
19704 if (pref_application_context_version == APPLICATON_CONTEXT_FROM_TRACE) {
19705 application_context_version = 0;
19706 if (p_private_tcap != NULL){
19707 if (p_private_tcap->acv==TRUE ){
19708 version_ptr = strrchr((const char*)p_private_tcap->oid,'.');
19709 if (version_ptr){
19710 application_context_version = atoi(version_ptr+1);
19714 }else{
19715 application_context_version = pref_application_context_version;
19718 gsmmap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
19719 /* Get the length and add 2 */
19720 gsm_map_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
19722 col_set_str(actx->pinfo->cinfo, COL_INFO, val_to_str_const(gsmmap_pdu_type, gsm_old_Component_vals, "Unknown GSM-MAP Component"));
19723 col_append_str(actx->pinfo->cinfo, COL_INFO, " ");
19724 offset = dissect_gsm_old_Component(FALSE, tvb, 0, actx, tree, hf_gsm_map_old_Component_PDU);
19726 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
19727 GSMMAPPDU_choice, hf_index, ett_gsm_map_GSMMAPPDU, NULL);
19730 return offset;
19733 static int
19734 dissect_gsm_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
19736 proto_item *item=NULL;
19737 proto_tree *tree=NULL;
19738 /* Used for gsm_map TAP */
19739 static gsm_map_tap_rec_t tap_rec;
19740 gint op_idx;
19741 struct tcap_private_t * p_private_tcap = (struct tcap_private_t *)data;
19742 asn1_ctx_t asn1_ctx;
19744 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
19746 col_set_str(pinfo->cinfo, COL_PROTOCOL, "GSM MAP");
19748 top_tree = parent_tree;
19750 /* create display subtree for the protocol */
19751 item = proto_tree_add_item(parent_tree, proto_gsm_map, tvb, 0, -1, ENC_NA);
19752 tree = proto_item_add_subtree(item, ett_gsm_map);
19754 dissect_gsm_map_GSMMAPPDU(FALSE, tvb, 0, &asn1_ctx, tree, -1, p_private_tcap);
19755 try_val_to_str_idx(opcode, gsm_map_opr_code_strings, &op_idx);
19757 if (op_idx != -1) {
19758 tap_rec.invoke = (gsmmap_pdu_type == 1) ? TRUE : FALSE;
19759 tap_rec.opr_code_idx = op_idx;
19760 tap_rec.size = gsm_map_pdu_size;
19762 tap_queue_packet(gsm_map_tap, pinfo, &tap_rec);
19765 return tvb_length(tvb);
19768 const value_string ssCode_vals[] = {
19769 { 0x00, "allSS - all SS" },
19770 { 0x10 ,"allLineIdentificationSS - all line identification SS" },
19771 { 0x11 ,"clip - calling line identification presentation" },
19772 { 0x12 ,"clir - calling line identification restriction" },
19773 { 0x13 ,"colp - connected line identification presentation" },
19774 { 0x14 ,"colr - connected line identification restriction" },
19775 { 0x15 ,"mci - malicious call identification" },
19776 { 0x18 ,"allNameIdentificationSS - all name identification SS" },
19777 { 0x19 ,"cnap - calling name presentation" },
19778 { 0x20 ,"allForwardingSS - all forwarding SS" },
19779 { 0x21 ,"cfu - call forwarding unconditional" },
19780 { 0x28 ,"allCondForwardingSS - all conditional forwarding SS" },
19781 { 0x29 ,"cfb - call forwarding busy" },
19782 { 0x2a ,"cfnry - call forwarding on no reply" },
19783 { 0x2b ,"cfnrc - call forwarding on mobile subscriber not reachable" },
19784 { 0x24 ,"cd - call deflection" },
19785 { 0x30 ,"allCallOfferingSS - all call offering SS includes also all forwarding SS" },
19786 { 0x31 ,"ect - explicit call transfer" },
19787 { 0x32 ,"mah - mobile access hunting" },
19788 { 0x40 ,"allCallCompletionSS - all Call completion SS" },
19789 { 0x41 ,"cw - call waiting" },
19790 { 0x42 ,"hold - call hold" },
19791 { 0x43 ,"ccbs-A - completion of call to busy subscribers, originating side" },
19792 { 0x44 ,"ccbs-B - completion of call to busy subscribers, destination side" },
19793 { 0x45 ,"mc - multicall" },
19794 { 0x50 ,"allMultiPartySS - all multiparty SS" },
19795 { 0x51 ,"multiPTY - multiparty" },
19796 { 0x60 ,"allCommunityOfInterestSS - all community of interest SS" },
19797 { 0x61 ,"cug - closed user group" },
19798 { 0x70 ,"allChargingSS - all charging SS" },
19799 { 0x71 ,"aoci - advice of charge information" },
19800 { 0x72 ,"aocc - advice of charge charging" },
19801 { 0x80 ,"allAdditionalInfoTransferSS - all additional information transfer SS" },
19802 { 0x81 ,"uus1 - UUS1 user-to-user signalling" },
19803 { 0x82 ,"uus2 - UUS2 user-to-user signalling" },
19804 { 0x83 ,"uus3 - UUS3 user-to-user signalling" },
19805 { 0x90 ,"allCallRestrictionSS - all Callrestriction SS" },
19806 { 0x91 ,"barringOfOutgoingCalls" },
19807 { 0x92 ,"baoc - barring of all outgoing calls" },
19808 { 0x93 ,"boic - barring of outgoing international calls" },
19809 { 0x94 ,"boicExHC - barring of outgoing international calls except those directed to the home PLMN" },
19810 { 0x99 ,"barringOfIncomingCalls" },
19811 { 0x9a ,"baic - barring of all incoming calls" },
19812 { 0x9b ,"bicRoam - barring of incoming calls when roaming outside home PLMN Country" },
19813 { 0xf0 ,"allPLMN-specificSS" },
19814 { 0xa0 ,"allCallPrioritySS - all call priority SS" },
19815 { 0xa1 ,"emlpp - enhanced Multilevel Precedence Pre-emption (EMLPP) service" },
19816 { 0xb0 ,"allLCSPrivacyException - all LCS Privacy Exception Classes" },
19817 { 0xb1 ,"universal - allow location by any LCS client" },
19818 { 0xb2 ,"callrelated - allow location by any value added LCS client to which a call is established from the target MS" },
19819 { 0xb3 ,"callunrelated - allow location by designated external value added LCS clients" },
19820 { 0xb4 ,"plmnoperator - allow location by designated PLMN operator LCS clients" },
19821 { 0xb5 ,"serviceType - allow location by LCS clients of a designated LCS service type" },
19822 { 0xc0 ,"allMOLR-SS - all Mobile Originating Location Request Classes" },
19823 { 0xc1 ,"basicSelfLocation - allow an MS to request its own location" },
19824 { 0xc2 ,"autonomousSelfLocation - allow an MS to perform self location without interaction with the PLMN for a predetermined period of time" },
19825 { 0xc3 ,"transferToThirdParty - allow an MS to request transfer of its location to another LCS client" },
19827 { 0xf1 ,"plmn-specificSS-1" },
19828 { 0xf2 ,"plmn-specificSS-2" },
19829 { 0xf3 ,"plmn-specificSS-3" },
19830 { 0xf4 ,"plmn-specificSS-4" },
19831 { 0xf5 ,"plmn-specificSS-5" },
19832 { 0xf6 ,"plmn-specificSS-6" },
19833 { 0xf7 ,"plmn-specificSS-7" },
19834 { 0xf8 ,"plmn-specificSS-8" },
19835 { 0xf9 ,"plmn-specificSS-9" },
19836 { 0xfa ,"plmn-specificSS-a" },
19837 { 0xfb ,"plmn-specificSS-b" },
19838 { 0xfc ,"plmn-specificSS-c" },
19839 { 0xfd ,"plmn-specificSS-d" },
19840 { 0xfe ,"plmn-specificSS-e" },
19841 { 0xff ,"plmn-specificSS-f" },
19842 { 0, NULL }
19845 static const value_string Teleservice_vals[] = {
19846 {0x00, "allTeleservices" },
19847 {0x10, "allSpeechTransmissionServices" },
19848 {0x11, "telephony" },
19849 {0x12, "emergencyCalls" },
19850 {0x20, "allShortMessageServices" },
19851 {0x21, "shortMessageMT-PP" },
19852 {0x22, "shortMessageMO-PP" },
19853 {0x60, "allFacsimileTransmissionServices" },
19854 {0x61, "facsimileGroup3AndAlterSpeech" },
19855 {0x62, "automaticFacsimileGroup3" },
19856 {0x63, "facsimileGroup4" },
19858 {0x70, "allDataTeleservices" },
19859 {0x80, "allTeleservices-ExeptSMS" },
19861 {0x90, "allVoiceGroupCallServices" },
19862 {0x91, "voiceGroupCall" },
19863 {0x92, "voiceBroadcastCall" },
19865 {0xd0, "allPLMN-specificTS" },
19866 {0xd1, "plmn-specificTS-1" },
19867 {0xd2, "plmn-specificTS-2" },
19868 {0xd3, "plmn-specificTS-3" },
19869 {0xd4, "plmn-specificTS-4" },
19870 {0xd5, "plmn-specificTS-5" },
19871 {0xd6, "plmn-specificTS-6" },
19872 {0xd7, "plmn-specificTS-7" },
19873 {0xd8, "plmn-specificTS-8" },
19874 {0xd9, "plmn-specificTS-9" },
19875 {0xda, "plmn-specificTS-A" },
19876 {0xdb, "plmn-specificTS-B" },
19877 {0xdc, "plmn-specificTS-C" },
19878 {0xdd, "plmn-specificTS-D" },
19879 {0xde, "plmn-specificTS-E" },
19880 {0xdf, "plmn-specificTS-F" },
19881 { 0, NULL }
19884 static const value_string Bearerservice_vals[] = {
19885 {0x00, "allBearerServices" },
19886 {0x10, "allDataCDA-Services" },
19887 {0x11, "dataCDA-300bps" },
19888 {0x12, "dataCDA-1200bps" },
19889 {0x13, "dataCDA-1200-75bps" },
19890 {0x14, "dataCDA-2400bps" },
19891 {0x15, "dataCDA-4800bps" },
19892 {0x16, "dataCDA-9600bps" },
19893 {0x17, "general-dataCDA" },
19895 {0x18, "allDataCDS-Services" },
19896 {0x1A, "dataCDS-1200bps" },
19897 {0x1C, "dataCDS-2400bps" },
19898 {0x1D, "dataCDS-4800bps" },
19899 {0x1E, "dataCDS-9600bps" },
19900 {0x1F, "general-dataCDS" },
19902 {0x20, "allPadAccessCA-Services" },
19903 {0x21, "padAccessCA-300bps" },
19904 {0x22, "padAccessCA-1200bps" },
19905 {0x23, "padAccessCA-1200-75bps" },
19906 {0x24, "padAccessCA-2400bps" },
19907 {0x25, "padAccessCA-4800bps" },
19908 {0x26, "padAccessCA-9600bps" },
19909 {0x27, "general-padAccessCA" },
19911 {0x28, "allDataPDS-Services" },
19912 {0x2C, "dataPDS-2400bps" },
19913 {0x2D, "dataPDS-4800bps" },
19914 {0x2E, "dataPDS-9600bps" },
19915 {0x2F, "general-dataPDS" },
19917 {0x30, "allAlternateSpeech-DataCDA" },
19918 {0x38, "allAlternateSpeech-DataCDS" },
19919 {0x40, "allSpeechFollowedByDataCDA" },
19920 {0x48, "allSpeechFollowedByDataCDS" },
19922 {0x50, "allDataCircuitAsynchronous" },
19923 {0x60, "allAsynchronousServices" },
19924 {0x58, "allDataCircuitSynchronous" },
19925 {0x68, "allSynchronousServices" },
19927 {0xD0, "allPLMN-specificBS" },
19928 {0xD1, "plmn-specificBS-1" },
19929 {0xD2, "plmn-specificBS-2" },
19930 {0xD3, "plmn-specificBS-3" },
19931 {0xD4, "plmn-specificBS-4" },
19932 {0xD5, "plmn-specificBS-5" },
19933 {0xD6, "plmn-specificBS-6" },
19934 {0xD7, "plmn-specificBS-7" },
19935 {0xD8, "plmn-specificBS-8" },
19936 {0xD9, "plmn-specificBS-9" },
19937 {0xDA, "plmn-specificBS-A" },
19938 {0xDB, "plmn-specificBS-B" },
19939 {0xDC, "plmn-specificBS-C" },
19940 {0xDD, "plmn-specificBS-D" },
19941 {0xDE, "plmn-specificBS-E" },
19942 {0xDF, "plmn-specificBS-F" },
19944 { 0, NULL }
19947 /* ForwardingOptions
19949 -- bit 8: notification to forwarding party
19950 -- 0 no notification
19951 -- 1 notification
19953 static const true_false_string notification_value = {
19954 "Notification",
19955 "No notification"
19958 -- bit 7: redirecting presentation
19959 -- 0 no presentation
19960 -- 1 presentation
19962 static const true_false_string redirecting_presentation_value = {
19963 "Presentation",
19964 "No presentationn"
19967 -- bit 6: notification to calling party
19968 -- 0 no notification
19969 -- 1 notification
19972 -- bit 5: 0 (unused)
19973 -- bits 43: forwarding reason
19974 -- 00 ms not reachable
19975 -- 01 ms busy
19976 -- 10 no reply
19977 -- 11 unconditional when used in a SRI Result,
19978 -- or call deflection when used in a RCH Argument
19980 static const value_string forwarding_reason_values[] = {
19981 {0x0, "ms not reachable" },
19982 {0x1, "ms busy" },
19983 {0x2, "no reply" },
19984 {0x3, "unconditional when used in a SRI Result or call deflection when used in a RCH Argument" },
19985 { 0, NULL }
19988 -- bits 21: 00 (unused)
19991 static const value_string pdp_type_org_values[] = {
19992 {0x0, "ETSI" },
19993 {0x1, "IETF" },
19994 {0xf, "Empty PDP type" },
19995 { 0, NULL }
19998 static const value_string etsi_pdp_type_number_values[] = {
19999 {0x0, "Reserved, used in earlier version of this protocol" },
20000 {0x1, "PPP" },
20001 { 0, NULL }
20004 static const value_string ietf_pdp_type_number_values[] = {
20005 {0x21, "IPv4 Address" },
20006 {0x57, "IPv6 Address" },
20007 { 0, NULL }
20011 ChargingCharacteristics ::= OCTET STRING (SIZE (2))
20012 -- Octets are coded according to 3GPP TS 32.015.
20013 -- From 3GPP TS 32.015.
20015 -- Descriptions for the bits of the flag set:
20017 -- Bit 1: H (Hot billing) := '00000001'B
20018 -- Bit 2: F (Flat rate) := '00000010'B
20019 -- Bit 3: P (Prepaid service) := '00000100'B
20020 -- Bit 4: N (Normal billing) := '00001000'B
20021 -- Bit 5: - (Reserved, set to 0) := '00010000'B
20022 -- Bit 6: - (Reserved, set to 0) := '00100000'B
20023 -- Bit 7: - (Reserved, set to 0) := '01000000'B
20024 -- Bit 8: - (Reserved, set to 0) := '10000000'B
20026 static const value_string chargingcharacteristics_values[] = {
20027 {0x1, "H (Hot billing)" },
20028 {0x2, "F (Flat rate)" },
20029 {0x4, "P (Prepaid service)" },
20030 {0x8, "N (Normal billing)" },
20031 { 0, NULL }
20034 /*--- proto_reg_handoff_gsm_map ---------------------------------------*/
20035 static void range_delete_callback(guint32 ssn)
20037 if (ssn) {
20038 delete_itu_tcap_subdissector(ssn, map_handle);
20042 static void range_add_callback(guint32 ssn)
20044 if (ssn) {
20045 add_itu_tcap_subdissector(ssn, map_handle);
20049 void proto_reg_handoff_gsm_map(void) {
20051 static gboolean map_prefs_initialized = FALSE;
20052 static range_t *ssn_range;
20054 if (!map_prefs_initialized) {
20055 map_prefs_initialized = TRUE;
20056 data_handle = find_dissector("data");
20057 ranap_handle = find_dissector("ranap");
20058 dtap_handle = find_dissector("gsm_a_dtap");
20059 gsm_sms_handle = find_dissector("gsm_sms");
20061 map_handle = find_dissector("gsm_map");
20062 oid_add_from_string("itu(0) administration(2) japan(440)","0.2.440" );
20063 register_ber_oid_dissector_handle("0.4.0.0.1.0.1.3", map_handle, proto_gsm_map,"networkLocUpContext-v3");
20064 register_ber_oid_dissector_handle("0.4.0.0.1.0.1.2", map_handle, proto_gsm_map,"networkLocUpContext-v2" );
20065 register_ber_oid_dissector_handle("0.4.0.0.1.0.1.1", map_handle, proto_gsm_map,"networkLocUpContext-v1" );
20066 register_ber_oid_dissector_handle("0.4.0.0.1.0.2.3", map_handle, proto_gsm_map,"locationCancellationContext-v3" );
20067 register_ber_oid_dissector_handle("0.4.0.0.1.0.2.2", map_handle, proto_gsm_map,"locationCancellationContext-v2" );
20068 register_ber_oid_dissector_handle("0.4.0.0.1.0.2.1", map_handle, proto_gsm_map,"locationCancellationContext-v1" );
20069 register_ber_oid_dissector_handle("0.4.0.0.1.0.3.3", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v3" );
20070 register_ber_oid_dissector_handle("0.4.0.0.1.0.3.2", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v2" );
20071 register_ber_oid_dissector_handle("0.4.0.0.1.0.3.1", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v1" );
20072 register_ber_oid_dissector_handle("0.4.0.0.1.0.4.3", map_handle, proto_gsm_map,"istAlertingContext-v3" );
20073 register_ber_oid_dissector_handle("0.4.0.0.1.0.5.3", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v3" );
20074 register_ber_oid_dissector_handle("0.4.0.0.1.0.5.2", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v2" );
20075 register_ber_oid_dissector_handle("0.4.0.0.1.0.5.1", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v1" );
20076 register_ber_oid_dissector_handle("0.4.0.0.1.0.6.4", map_handle, proto_gsm_map,"callControlTransferContext-v4" );
20077 register_ber_oid_dissector_handle("0.4.0.0.1.0.6.3", map_handle, proto_gsm_map,"callControlTransferContext-v3" );
20078 register_ber_oid_dissector_handle("0.4.0.0.1.0.7.3", map_handle, proto_gsm_map,"reportingContext-v3" );
20079 register_ber_oid_dissector_handle("0.4.0.0.1.0.8.3", map_handle, proto_gsm_map,"callCompletionContext-v3" );
20080 register_ber_oid_dissector_handle("0.4.0.0.1.0.9.3", map_handle, proto_gsm_map,"serviceTerminationContext-v3" );
20081 register_ber_oid_dissector_handle("0.4.0.0.1.0.10.2", map_handle, proto_gsm_map,"resetContext-v2" );
20082 register_ber_oid_dissector_handle("0.4.0.0.1.0.10.1", map_handle, proto_gsm_map,"resetContext-v1" );
20083 register_ber_oid_dissector_handle("0.4.0.0.1.0.11.3", map_handle, proto_gsm_map,"handoverControlContext-v3" );
20084 register_ber_oid_dissector_handle("0.4.0.0.1.0.11.2", map_handle, proto_gsm_map,"handoverControlContext-v2" );
20085 register_ber_oid_dissector_handle("0.4.0.0.1.0.11.1", map_handle, proto_gsm_map,"handoverControlContext-v1" );
20086 register_ber_oid_dissector_handle("0.4.0.0.1.0.12.3", map_handle, proto_gsm_map,"sIWFSAllocationContext-v3" );
20087 register_ber_oid_dissector_handle("0.4.0.0.1.0.13.3", map_handle, proto_gsm_map,"equipmentMngtContext-v3" );
20088 register_ber_oid_dissector_handle("0.4.0.0.1.0.13.2", map_handle, proto_gsm_map,"equipmentMngtContext-v2" );
20089 register_ber_oid_dissector_handle("0.4.0.0.1.0.13.1", map_handle, proto_gsm_map,"equipmentMngtContext-v1" );
20090 register_ber_oid_dissector_handle("0.4.0.0.1.0.14.3", map_handle, proto_gsm_map,"infoRetrievalContext-v3" );
20091 register_ber_oid_dissector_handle("0.4.0.0.1.0.14.2", map_handle, proto_gsm_map,"infoRetrievalContext-v2" );
20092 register_ber_oid_dissector_handle("0.4.0.0.1.0.14.1", map_handle, proto_gsm_map,"infoRetrievalContext-v1" );
20093 /* fallback to infoRetrieval(14) version1(1) and not interVlrInfoRetrieval(15) version1(1) */
20094 /*register_ber_oid_dissector_handle("0.4.0.0.1.0.15.1", map_handle, proto_gsm_map,"map-ac interVlrInfoRetrieval(15) version1(1)" );*/
20095 register_ber_oid_dissector_handle("0.4.0.0.1.0.15.2", map_handle, proto_gsm_map,"interVlrInfoRetrievalContext-v2" );
20096 register_ber_oid_dissector_handle("0.4.0.0.1.0.15.3", map_handle, proto_gsm_map,"interVlrInfoRetrievalContext-v3" );
20097 register_ber_oid_dissector_handle("0.4.0.0.1.0.16.3", map_handle, proto_gsm_map,"subscriberDataMngtContext-v3" );
20098 register_ber_oid_dissector_handle("0.4.0.0.1.0.16.2", map_handle, proto_gsm_map,"subscriberDataMngtContext-v2" );
20099 register_ber_oid_dissector_handle("0.4.0.0.1.0.16.1", map_handle, proto_gsm_map,"subscriberDataMngtContext-v1" );
20100 register_ber_oid_dissector_handle("0.4.0.0.1.0.17.3", map_handle, proto_gsm_map,"tracingContext-v3" );
20101 register_ber_oid_dissector_handle("0.4.0.0.1.0.17.2", map_handle, proto_gsm_map,"tracingContext-v2" );
20102 register_ber_oid_dissector_handle("0.4.0.0.1.0.17.1", map_handle, proto_gsm_map,"tracingContext-v1" );
20103 register_ber_oid_dissector_handle("0.4.0.0.1.0.18.2", map_handle, proto_gsm_map,"networkFunctionalSsContext-v2" );
20104 register_ber_oid_dissector_handle("0.4.0.0.1.0.18.1", map_handle, proto_gsm_map,"networkFunctionalSsContext-v1" );
20105 register_ber_oid_dissector_handle("0.4.0.0.1.0.19.2", map_handle, proto_gsm_map,"networkUnstructuredSsContext-v2" );
20106 register_ber_oid_dissector_handle("0.4.0.0.1.0.20.3", map_handle, proto_gsm_map,"shortMsgGatewayContext-v3" );
20107 register_ber_oid_dissector_handle("0.4.0.0.1.0.20.2", map_handle, proto_gsm_map,"shortMsgGatewayContext-v2" );
20108 register_ber_oid_dissector_handle("0.4.0.0.1.0.20.1", map_handle, proto_gsm_map,"shortMsgGatewayContext-v1" );
20109 register_ber_oid_dissector_handle("0.4.0.0.1.0.21.3", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v3" );
20110 register_ber_oid_dissector_handle("0.4.0.0.1.0.21.2", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v2" );
20111 register_ber_oid_dissector_handle("0.4.0.0.1.0.21.1", map_handle, proto_gsm_map,"shortMsgRelayContext-v1" );
20112 register_ber_oid_dissector_handle("0.4.0.0.1.0.22.3", map_handle, proto_gsm_map,"subscriberDataModificationNotificationContext-v3" );
20113 register_ber_oid_dissector_handle("0.4.0.0.1.0.23.2", map_handle, proto_gsm_map,"shortMsgAlertContext-v2" );
20114 register_ber_oid_dissector_handle("0.4.0.0.1.0.23.1", map_handle, proto_gsm_map,"shortMsgAlertContext-v1" );
20115 register_ber_oid_dissector_handle("0.4.0.0.1.0.24.3", map_handle, proto_gsm_map,"mwdMngtContext-v3" );
20116 register_ber_oid_dissector_handle("0.4.0.0.1.0.24.2", map_handle, proto_gsm_map,"mwdMngtContext-v2" );
20117 register_ber_oid_dissector_handle("0.4.0.0.1.0.24.1", map_handle, proto_gsm_map,"mwdMngtContext-v1" );
20118 register_ber_oid_dissector_handle("0.4.0.0.1.0.25.3", map_handle, proto_gsm_map,"shortMsgMT-RelayContext-v3" );
20119 register_ber_oid_dissector_handle("0.4.0.0.1.0.25.2", map_handle, proto_gsm_map,"shortMsgMT-RelayContext-v2" );
20120 register_ber_oid_dissector_handle("0.4.0.0.1.0.26.2", map_handle, proto_gsm_map,"imsiRetrievalContext-v2" );
20121 register_ber_oid_dissector_handle("0.4.0.0.1.0.27.2", map_handle, proto_gsm_map,"msPurgingContext-v2" );
20122 register_ber_oid_dissector_handle("0.4.0.0.1.0.27.3", map_handle, proto_gsm_map,"msPurgingContext-v3" );
20123 register_ber_oid_dissector_handle("0.4.0.0.1.0.28.3", map_handle, proto_gsm_map,"subscriberInfoEnquiryContext-v3" );
20124 register_ber_oid_dissector_handle("0.4.0.0.1.0.29.3", map_handle, proto_gsm_map,"anyTimeInfoEnquiryContext-v3" );
20125 register_ber_oid_dissector_handle("0.4.0.0.1.0.31.3", map_handle, proto_gsm_map,"groupCallControlContext-v3" );
20126 register_ber_oid_dissector_handle("0.4.0.0.1.0.32.3", map_handle, proto_gsm_map,"gprsLocationUpdateContext-v3" );
20127 register_ber_oid_dissector_handle("0.4.0.0.1.0.33.4", map_handle, proto_gsm_map,"gprsLocationInfoRetrievalContext-v4" );
20128 register_ber_oid_dissector_handle("0.4.0.0.1.0.33.3", map_handle, proto_gsm_map,"gprsLocationInfoRetrievalContext-v3" );
20129 register_ber_oid_dissector_handle("0.4.0.0.1.0.34.3", map_handle, proto_gsm_map,"failureReportContext-v3" );
20130 register_ber_oid_dissector_handle("0.4.0.0.1.0.35.3", map_handle, proto_gsm_map,"gprsNotifyContext-v3" );
20131 register_ber_oid_dissector_handle("0.4.0.0.1.0.36.3", map_handle, proto_gsm_map,"ss-InvocationNotificationContext-v3" );
20132 register_ber_oid_dissector_handle("0.4.0.0.1.0.37.3", map_handle, proto_gsm_map,"locationSvcGatewayContext-v3" );
20133 register_ber_oid_dissector_handle("0.4.0.0.1.0.38.3", map_handle, proto_gsm_map,"locationSvcEnquiryContext-v3" );
20134 register_ber_oid_dissector_handle("0.4.0.0.1.0.39.3", map_handle, proto_gsm_map,"authenticationFailureReportContext-v3" );
20135 register_ber_oid_dissector_handle("0.4.0.0.1.0.40.3", map_handle, proto_gsm_map,"secureTransportHandlingContext-v3" );
20136 register_ber_oid_dissector_handle("0.4.0.0.1.0.41.3", map_handle, proto_gsm_map,"shortMsgMT-Relay-VGCS-Context-v3" );
20137 register_ber_oid_dissector_handle("0.4.0.0.1.0.42.3", map_handle, proto_gsm_map,"mm-EventReportingContext-v3" );
20138 register_ber_oid_dissector_handle("0.4.0.0.1.0.43.3", map_handle, proto_gsm_map,"anyTimeInfoHandlingContext-v3" );
20139 register_ber_oid_dissector_handle("0.4.0.0.1.0.44.3", map_handle, proto_gsm_map,"resourceManagementContext-v3" );
20140 register_ber_oid_dissector_handle("0.4.0.0.1.0.45.3", map_handle, proto_gsm_map,"groupCallInfoRetrievalContext-v3" );
20141 /* Private extension container */
20142 register_ber_oid_dissector("1.3.12.2.1006.53.2.1.3", dissect_gsm_mapext_PlmnContainer, proto_gsm_map,"alcatel-E10-MAP-extension-PlmnContainer" );
20144 else {
20145 range_foreach(ssn_range, range_delete_callback);
20146 g_free(ssn_range);
20149 ssn_range = range_copy(global_ssn_range);
20150 range_foreach(ssn_range, range_add_callback);
20154 /*--- proto_register_gsm_map -------------------------------------------*/
20155 void proto_register_gsm_map(void) {
20156 module_t *gsm_map_module;
20157 expert_module_t* expert_gsm_map;
20159 /* List of fields */
20160 static hf_register_info hf[] = {
20161 { &hf_gsm_map_old_Component_PDU,
20162 { "Component", "gsm_map.old.Component",
20163 FT_UINT32, BASE_DEC, VALS(gsm_old_Component_vals), 0,
20164 NULL, HFILL }},
20165 { &hf_gsm_map_getPassword,
20166 { "getPassword", "gsm_map.getPassword",
20167 FT_UINT8, BASE_DEC, VALS(gsm_old_GetPasswordArg_vals), 0,
20168 NULL, HFILL }},
20169 { &hf_gsm_map_currentPassword,
20170 { "currentPassword", "gsm_map.currentPassword",
20171 FT_STRING, BASE_NONE, NULL, 0,
20172 NULL, HFILL }},
20173 { &hf_gsm_map_extension,
20174 { "Extension", "gsm_map.extension",
20175 FT_BOOLEAN, 8, TFS(&gsm_map_extension_value), 0x80,
20176 NULL, HFILL }},
20177 { &hf_gsm_map_nature_of_number,
20178 { "Nature of number", "gsm_map.nature_of_number",
20179 FT_UINT8, BASE_HEX|BASE_EXT_STRING, &gsm_map_nature_of_number_values_ext, 0x70,
20180 NULL, HFILL }},
20181 { &hf_gsm_map_number_plan,
20182 { "Number plan", "gsm_map.number_plan",
20183 FT_UINT8, BASE_HEX|BASE_EXT_STRING, &gsm_map_number_plan_values_ext, 0x0f,
20184 NULL, HFILL }},
20185 { &hf_gsm_map_isdn_address_digits,
20186 { "ISDN Address digits", "gsm_map.isdn.address.digits",
20187 FT_STRING, BASE_NONE, NULL, 0,
20188 NULL, HFILL }},
20189 { &hf_gsm_map_address_digits,
20190 { "Address digits", "gsm_map.address.digits",
20191 FT_STRING, BASE_NONE, NULL, 0,
20192 NULL, HFILL }},
20193 { &hf_gsm_map_servicecentreaddress_digits,
20194 { "ServiceCentreAddress digits", "gsm_map.servicecentreaddress_digits",
20195 FT_STRING, BASE_NONE, NULL, 0,
20196 NULL, HFILL }},
20197 { &hf_gsm_map_TBCD_digits,
20198 { "TBCD digits", "gsm_map.tbcd_digits",
20199 FT_STRING, BASE_NONE, NULL, 0,
20200 NULL, HFILL }},
20201 { &hf_gsm_map_Ss_Status_unused,
20202 { "Unused", "gsm_map.unused",
20203 FT_UINT8, BASE_HEX, NULL, 0xf0,
20204 NULL, HFILL }},
20205 { &hf_gsm_map_Ss_Status_q_bit,
20206 { "Q bit", "gsm_map.ss_status_q_bit",
20207 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_q_bit_values), 0x08,
20208 NULL, HFILL }},
20209 { &hf_gsm_map_Ss_Status_p_bit,
20210 { "P bit", "gsm_map.ss_status_p_bit",
20211 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_p_values), 0x04,
20212 NULL, HFILL }},
20213 { &hf_gsm_map_Ss_Status_r_bit,
20214 { "R bit", "gsm_map.ss_status_r_bit",
20215 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_r_values), 0x02,
20216 NULL, HFILL }},
20217 { &hf_gsm_map_Ss_Status_a_bit,
20218 { "A bit", "gsm_map.ss_status_a_bit",
20219 FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_a_values), 0x01,
20220 NULL, HFILL }},
20221 { &hf_gsm_map_notification_to_forwarding_party,
20222 { "Notification to forwarding party", "gsm_map.notification_to_forwarding_party",
20223 FT_BOOLEAN, 8, TFS(&notification_value), 0x80,
20224 NULL, HFILL }},
20225 { &hf_gsm_map_redirecting_presentation,
20226 { "Redirecting presentation", "gsm_map.redirecting_presentation",
20227 FT_BOOLEAN, 8, TFS(&redirecting_presentation_value), 0x40,
20228 NULL, HFILL }},
20229 { &hf_gsm_map_notification_to_calling_party,
20230 { "Notification to calling party", "gsm_map.notification_to_clling_party",
20231 FT_BOOLEAN, 8, TFS(&notification_value), 0x20,
20232 NULL, HFILL }},
20233 { &hf_gsm_map_forwarding_reason,
20234 { "Forwarding reason", "gsm_map.forwarding_reason",
20235 FT_UINT8, BASE_HEX, VALS(forwarding_reason_values), 0x0c,
20236 NULL, HFILL }},
20237 { &hf_gsm_map_pdp_type_org,
20238 { "PDP Type Organization", "gsm_map.pdp_type_org",
20239 FT_UINT8, BASE_HEX, VALS(pdp_type_org_values), 0x0f,
20240 NULL, HFILL }},
20241 { &hf_gsm_map_etsi_pdp_type_number,
20242 { "PDP Type Number", "gsm_map.pdp_type_number",
20243 FT_UINT8, BASE_HEX, VALS(etsi_pdp_type_number_values), 0,
20244 "ETSI PDP Type Number", HFILL }},
20245 { &hf_gsm_map_ietf_pdp_type_number,
20246 { "PDP Type Number", "gsm_map.ietf_pdp_type_number",
20247 FT_UINT8, BASE_HEX, VALS(ietf_pdp_type_number_values), 0,
20248 "IETF PDP Type Number", HFILL }},
20249 { &hf_gsm_map_ext_qos_subscribed_pri,
20250 { "Allocation/Retention priority", "gsm_map.ext_qos_subscribed_pri",
20251 FT_UINT8, BASE_DEC, NULL, 0xff,
20252 NULL, HFILL }},
20253 { &hf_gsm_map_qos_traffic_cls,
20254 { "Traffic class", "gsm_map.qos.traffic_cls",
20255 FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_traffic_cls_vals), 0xe0,
20256 NULL, HFILL }},
20257 { &hf_gsm_map_qos_del_order,
20258 { "Delivery order", "gsm_map.qos.del_order",
20259 FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_traffic_cls_vals), 0x18,
20260 NULL, HFILL }},
20261 { &hf_gsm_map_qos_del_of_err_sdu,
20262 { "Delivery of erroneous SDUs", "gsm_map.qos.del_of_err_sdu",
20263 FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_del_of_err_sdu_vals), 0x03,
20264 NULL, HFILL }},
20265 { &hf_gsm_map_qos_ber,
20266 { "Residual Bit Error Rate (BER)", "gsm_map.qos.ber",
20267 FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_ber_vals), 0xf0,
20268 NULL, HFILL }},
20269 { &hf_gsm_map_qos_sdu_err_rat,
20270 { "SDU error ratio", "gsm_map.qos.sdu_err_rat",
20271 FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_sdu_err_rat_vals), 0x0f,
20272 NULL, HFILL }},
20273 { &hf_gsm_map_qos_traff_hdl_pri,
20274 { "Traffic handling priority", "gsm_map.qos.traff_hdl_pri",
20275 FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_traff_hdl_pri_vals), 0x03,
20276 NULL, HFILL }},
20278 { &hf_gsm_map_qos_max_sdu,
20279 { "Maximum SDU size", "gsm_map.qos.max_sdu",
20280 FT_UINT32, BASE_DEC, NULL, 0x0,
20281 NULL, HFILL }},
20282 { &hf_gsm_map_max_brate_ulink,
20283 { "Maximum bit rate for uplink in kbit/s", "gsm_map.qos.max_brate_ulink",
20284 FT_UINT32, BASE_DEC, NULL, 0x0,
20285 "Maximum bit rate for uplink", HFILL }},
20286 { &hf_gsm_map_max_brate_dlink,
20287 { "Maximum bit rate for downlink in kbit/s", "gsm_map.qos.max_brate_dlink",
20288 FT_UINT32, BASE_DEC, NULL, 0x0,
20289 "Maximum bit rate for downlink", HFILL }},
20290 { &hf_gsm_map_qos_transfer_delay,
20291 { "Transfer delay (Raw data see TS 24.008 for interpretation)", "gsm_map.qos.transfer_delay",
20292 FT_UINT8, BASE_DEC, NULL, 0xfc,
20293 "Transfer delay", HFILL }},
20294 { &hf_gsm_map_guaranteed_max_brate_ulink,
20295 { "Guaranteed bit rate for uplink in kbit/s", "gsm_map.qos.brate_ulink",
20296 FT_UINT32, BASE_DEC, NULL, 0x0,
20297 "Guaranteed bit rate for uplink", HFILL }},
20298 { &hf_gsm_map_guaranteed_max_brate_dlink,
20299 { "Guaranteed bit rate for downlink in kbit/s", "gsm_map.qos.brate_dlink",
20300 FT_UINT32, BASE_DEC, NULL, 0x0,
20301 "Guaranteed bit rate for downlink", HFILL }},
20302 { &hf_gsm_map_GSNAddress_IPv4,
20303 { "GSN-Address IPv4", "gsm_map.gsnaddress_ipv4",
20304 FT_IPv4, BASE_NONE, NULL, 0,
20305 "IPAddress IPv4", HFILL }},
20306 { &hf_gsm_map_GSNAddress_IPv6,
20307 { "GSN Address IPv6", "gsm_map.gsnaddress_ipv6",
20308 FT_IPv4, BASE_NONE, NULL, 0,
20309 "IPAddress IPv6", HFILL }},
20310 { &hf_gsm_map_ranap_service_Handover,
20311 { "service-Handover", "gsm_map.ranap.service_Handover",
20312 FT_UINT32, BASE_DEC, VALS(ranap_Service_Handover_vals), 0,
20313 "gsm_map.ranap.Service_Handover", HFILL }},
20314 { &hf_gsm_map_IntegrityProtectionInformation,
20315 { "IntegrityProtectionInformation", "gsm_map.ranap.IntegrityProtectionInformation",
20316 FT_NONE, BASE_NONE, NULL, 0,
20317 "gsm_map.ranap.IntegrityProtectionInformation", HFILL }},
20318 { &hf_gsm_map_EncryptionInformation,
20319 { "EncryptionInformation", "gsm_map.ranap.EncryptionInformation",
20320 FT_NONE, BASE_NONE, NULL, 0,
20321 "gsm_map.ranap.EncryptionInformation", HFILL }},
20322 { &hf_gsm_map_PlmnContainer_PDU,
20323 { "PlmnContainer", "gsm_map.PlmnContainer",
20324 FT_NONE, BASE_NONE, NULL, 0,
20325 "gsm_map.PlmnContainer", HFILL }},
20326 { &hf_gsm_map_ss_SS_UserData,
20327 { "SS-UserData", "gsm_ss.SS_UserData",
20328 FT_STRING, BASE_NONE, NULL, 0,
20329 "gsm_map.ss.SS_UserData", HFILL }},
20330 { &hf_gsm_map_cbs_coding_grp,
20331 { "Coding Group","gsm_map.cbs.coding_grp",
20332 FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_data_coding_scheme_coding_grp_vals_ext, 0xf0,
20333 NULL, HFILL }
20335 { &hf_gsm_map_cbs_coding_grp0_lang,
20336 { "Language","gsm_map.cbs.coding_grp0_lang",
20337 FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_coding_grp0_lang_vals_ext, 0x0f,
20338 NULL, HFILL }
20340 { &hf_gsm_map_cbs_coding_grp1_lang,
20341 { "Language","gsm_map.cbs.coding_grp1_lang",
20342 FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_coding_grp1_lang_vals_ext, 0x0f,
20343 NULL, HFILL }
20345 { &hf_gsm_map_cbs_coding_grp2_lang,
20346 { "Language","gsm_map.cbs.coding_grp2_lang",
20347 FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_coding_grp2_lang_vals_ext, 0x0f,
20348 NULL, HFILL }
20350 { &hf_gsm_map_cbs_coding_grp3_lang,
20351 { "Language","gsm_map.cbs.coding_grp3_lang",
20352 FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_coding_grp3_lang_vals_ext, 0x0f,
20353 NULL, HFILL }
20355 { &hf_gsm_map_cbs_coding_grp4_7_comp,
20356 { "Compressed indicator","gsm_map.cbs.coding_grp4_7_comp",
20357 FT_BOOLEAN, 8, TFS(&gsm_map_cbs_coding_grp4_7_comp_vals), 0x20,
20358 NULL, HFILL }
20360 { &hf_gsm_map_cbs_coding_grp4_7_class_ind,
20361 { "Message Class present","gsm_map.cbs.coding_grp4_7_class_ind",
20362 FT_BOOLEAN, 8, TFS(&gsm_map_cbs_coding_grp4_7_class_ind_vals), 0x10,
20363 NULL, HFILL }
20365 { &hf_gsm_map_cbs_coding_grp4_7_char_set,
20366 { "Character set being used","gsm_map.cbs.coding_grp4_7_char_set",
20367 FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp4_7_char_set_vals), 0x0c,
20368 NULL, HFILL }
20370 { &hf_gsm_map_cbs_coding_grp4_7_class,
20371 { "Message Class","gsm_map.cbs.coding_grp4_7_class",
20372 FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp4_7_class_vals), 0x03,
20373 NULL, HFILL }
20375 { &hf_gsm_map_cbs_coding_grp15_mess_code,
20376 { "Message coding","gsm_map.cbs.cbs_coding_grp15_mess_code",
20377 FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp15_mess_code_vals), 0x04,
20378 NULL, HFILL }
20380 { &hf_gsm_map_cbs_coding_grp15_class,
20381 { "Message Class","gsm_map.cbs.gsm_map_cbs_coding_grp15_class",
20382 FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp15_class_vals), 0x03,
20383 NULL, HFILL }
20385 { &hf_gsm_map_tmsi,
20386 { "tmsi", "gsm_map.tmsi",
20387 FT_BYTES, BASE_NONE, NULL, 0,
20388 "gsm_map.TMSI", HFILL }},
20390 { &hf_gsm_map_ie_tag,
20391 { "Tag", "gsm_map.ie_tag",
20392 FT_UINT8, BASE_DEC, VALS(gsm_map_tag_vals), 0,
20393 "GSM 04.08 tag", HFILL }},
20394 { &hf_gsm_map_len,
20395 { "Length", "gsm_map.length",
20396 FT_UINT8, BASE_DEC, NULL, 0,
20397 NULL, HFILL }},
20398 { &hf_gsm_map_disc_par,
20399 { "Discrimination parameter", "gsm_map.disc_par",
20400 FT_UINT8, BASE_DEC, VALS(gsm_map_disc_par_vals), 0,
20401 NULL, HFILL }},
20402 { &hf_gsm_map_dlci,
20403 { "DLCI", "gsm_map.dlci",
20404 FT_UINT8, BASE_DEC, NULL, 0,
20405 "Data Link Connection Indicator", HFILL }},
20406 { &hf_gsm_apn_str,
20407 { "APN", "gsm_map.apn_str",
20408 FT_STRING, BASE_NONE, NULL, 0,
20409 NULL, HFILL }},
20410 { &hf_gsm_map_locationnumber_odd_even,
20411 { "Odd/Even", "gsm_map.locationnumber.odd_even",
20412 FT_BOOLEAN, 8, NULL, 0x80,
20413 NULL, HFILL }},
20414 { &hf_gsm_map_locationnumber_nai,
20415 { "Nature of address indicator", "gsm_map.locationnumber.nai",
20416 FT_UINT8, BASE_RANGE_STRING | BASE_DEC, RVALS(gsm_map_na_vals), 0x3f,
20417 NULL, HFILL }},
20418 { &hf_gsm_map_locationnumber_inn,
20419 { "Internal Network Number indicator (INN)", "gsm_map.locationnumber.inn",
20420 FT_BOOLEAN, 8, NULL, 0x80,
20421 NULL, HFILL }},
20422 { &hf_gsm_map_locationnumber_npi,
20423 { "Numbering plan indicator", "gsm_map.locationnumber.npi",
20424 FT_UINT8, BASE_DEC, VALS(gsm_map_np_vals), 0x30,
20425 NULL, HFILL }},
20426 { &hf_gsm_map_locationnumber_apri,
20427 { "Address presentation restricted indicator", "gsm_map.locationnumber.apri",
20428 FT_UINT8, BASE_DEC, VALS(gsm_map_addr_pres_rest_vals), 0x0c,
20429 NULL, HFILL }},
20430 { &hf_gsm_map_locationnumber_screening_ind,
20431 { "Screening indicator", "gsm_map.locationnumber.screening_ind",
20432 FT_UINT8, BASE_DEC, VALS(gsm_map_screening_ind_vals), 0x03,
20433 NULL, HFILL }},
20434 { &hf_gsm_map_locationnumber_digits,
20435 { "Address digits", "gsm_map.locationnumber.digits",
20436 FT_STRING, BASE_NONE, NULL, 0,
20437 NULL, HFILL }},
20438 { &hf_gsm_map_ericsson_locationInformation_rat,
20439 { "RAT", "gsm_map.ericsson.locationInformation.rat",
20440 FT_UINT8, BASE_DEC, VALS(gsm_map_ericsson_locationInformation_rat_vals), 0,
20441 "Radio Access Technology", HFILL }},
20442 { &hf_gsm_map_ericsson_locationInformation_lac,
20443 { "LAC", "gsm_map.ericsson.locationInformation.lac",
20444 FT_UINT16, BASE_DEC_HEX, NULL, 0,
20445 "Location Area Code", HFILL }},
20446 { &hf_gsm_map_ericsson_locationInformation_ci,
20447 { "CI", "gsm_map.ericsson.locationInformation.ci",
20448 FT_UINT16, BASE_DEC_HEX, NULL, 0,
20449 "Cell Identity", HFILL }},
20450 { &hf_gsm_map_ericsson_locationInformation_sac,
20451 { "SAC", "gsm_map.ericsson.locationInformation.sac",
20452 FT_UINT16, BASE_DEC_HEX, NULL, 0,
20453 "Service Area Code", HFILL }},
20456 /*--- Included file: packet-gsm_map-hfarr.c ---*/
20457 #line 1 "../../asn1/gsm_map/packet-gsm_map-hfarr.c"
20459 /* --- Module MAP-ExtensionDataTypes --- --- --- */
20461 { &hf_gsm_map_privateExtensionList,
20462 { "privateExtensionList", "gsm_map.privateExtensionList",
20463 FT_UINT32, BASE_DEC, NULL, 0,
20464 NULL, HFILL }},
20465 { &hf_gsm_map_pcs_Extensions,
20466 { "pcs-Extensions", "gsm_map.pcs_Extensions_element",
20467 FT_NONE, BASE_NONE, NULL, 0,
20468 NULL, HFILL }},
20469 { &hf_gsm_map_slr_Arg_PCS_Extensions,
20470 { "slr-Arg-PCS-Extensions", "gsm_map.slr_Arg_PCS_Extensions_element",
20471 FT_NONE, BASE_NONE, NULL, 0,
20472 NULL, HFILL }},
20473 { &hf_gsm_map_PrivateExtensionList_item,
20474 { "PrivateExtension", "gsm_map.PrivateExtension_element",
20475 FT_NONE, BASE_NONE, NULL, 0,
20476 NULL, HFILL }},
20477 { &hf_gsm_map_extId,
20478 { "extId", "gsm_map.extId",
20479 FT_OID, BASE_NONE, NULL, 0,
20480 NULL, HFILL }},
20481 { &hf_gsm_map_extType,
20482 { "extType", "gsm_map.extType_element",
20483 FT_NONE, BASE_NONE, NULL, 0,
20484 NULL, HFILL }},
20485 { &hf_gsm_map_na_ESRK_Request,
20486 { "na-ESRK-Request", "gsm_map.na_ESRK_Request_element",
20487 FT_NONE, BASE_NONE, NULL, 0,
20488 NULL, HFILL }},
20490 /* --- Module MAP-CommonDataTypes --- --- --- */
20492 { &hf_gsm_map_gsm_map_ISDN_AddressString_PDU,
20493 { "ISDN-AddressString", "gsm_map.ISDN_AddressString",
20494 FT_BYTES, BASE_NONE, NULL, 0,
20495 NULL, HFILL }},
20496 { &hf_gsm_map_protocolId,
20497 { "protocolId", "gsm_map.protocolId",
20498 FT_UINT32, BASE_DEC, VALS(gsm_map_ProtocolId_vals), 0,
20499 NULL, HFILL }},
20500 { &hf_gsm_map_signalInfo,
20501 { "signalInfo", "gsm_map.signalInfo",
20502 FT_BYTES, BASE_NONE, NULL, 0,
20503 NULL, HFILL }},
20504 { &hf_gsm_map_extensionContainer,
20505 { "extensionContainer", "gsm_map.extensionContainer_element",
20506 FT_NONE, BASE_NONE, NULL, 0,
20507 NULL, HFILL }},
20508 { &hf_gsm_map_ext_ProtocolId,
20509 { "ext-ProtocolId", "gsm_map.ext_ProtocolId",
20510 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_ProtocolId_vals), 0,
20511 NULL, HFILL }},
20512 { &hf_gsm_map_accessNetworkProtocolId,
20513 { "accessNetworkProtocolId", "gsm_map.accessNetworkProtocolId",
20514 FT_UINT32, BASE_DEC, VALS(gsm_map_AccessNetworkProtocolId_vals), 0,
20515 NULL, HFILL }},
20516 { &hf_gsm_map_signalInfo_01,
20517 { "signalInfo", "gsm_map.signalInfo",
20518 FT_BYTES, BASE_NONE, NULL, 0,
20519 "LongSignalInfo", HFILL }},
20520 { &hf_gsm_map_imsi,
20521 { "imsi", "gsm_map.imsi",
20522 FT_BYTES, BASE_NONE, NULL, 0,
20523 NULL, HFILL }},
20524 { &hf_gsm_map_imsi_WithLMSI,
20525 { "imsi-WithLMSI", "gsm_map.imsi_WithLMSI_element",
20526 FT_NONE, BASE_NONE, NULL, 0,
20527 NULL, HFILL }},
20528 { &hf_gsm_map_lmsi,
20529 { "lmsi", "gsm_map.lmsi",
20530 FT_BYTES, BASE_NONE, NULL, 0,
20531 NULL, HFILL }},
20532 { &hf_gsm_map_HLR_List_item,
20533 { "HLR-Id", "gsm_map.HLR_Id",
20534 FT_BYTES, BASE_NONE, NULL, 0,
20535 NULL, HFILL }},
20536 { &hf_gsm_map_naea_PreferredCIC,
20537 { "naea-PreferredCIC", "gsm_map.naea_PreferredCIC",
20538 FT_BYTES, BASE_NONE, NULL, 0,
20539 "NAEA_CIC", HFILL }},
20540 { &hf_gsm_map_msisdn,
20541 { "msisdn", "gsm_map.msisdn",
20542 FT_BYTES, BASE_NONE, NULL, 0,
20543 "ISDN_AddressString", HFILL }},
20544 { &hf_gsm_map_externalAddress,
20545 { "externalAddress", "gsm_map.externalAddress",
20546 FT_BYTES, BASE_NONE, NULL, 0,
20547 "ISDN_AddressString", HFILL }},
20548 { &hf_gsm_map_diameter_Name,
20549 { "diameter-Name", "gsm_map.diameter_Name",
20550 FT_BYTES, BASE_NONE, NULL, 0,
20551 "DiameterIdentity", HFILL }},
20552 { &hf_gsm_map_diameter_Realm,
20553 { "diameter-Realm", "gsm_map.diameter_Realm",
20554 FT_BYTES, BASE_NONE, NULL, 0,
20555 "DiameterIdentity", HFILL }},
20556 { &hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength,
20557 { "cellGlobalIdOrServiceAreaIdFixedLength", "gsm_map.cellGlobalIdOrServiceAreaIdFixedLength",
20558 FT_BYTES, BASE_NONE, NULL, 0,
20559 NULL, HFILL }},
20560 { &hf_gsm_map_laiFixedLength,
20561 { "laiFixedLength", "gsm_map.laiFixedLength",
20562 FT_BYTES, BASE_NONE, NULL, 0,
20563 NULL, HFILL }},
20564 { &hf_gsm_map_bearerService,
20565 { "bearerService", "gsm_map.bearerService",
20566 FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0,
20567 "BearerServiceCode", HFILL }},
20568 { &hf_gsm_map_teleservice,
20569 { "teleservice", "gsm_map.teleservice",
20570 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
20571 "TeleserviceCode", HFILL }},
20572 { &hf_gsm_map_ext_BearerService,
20573 { "ext-BearerService", "gsm_map.ext_BearerService",
20574 FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0,
20575 "Ext_BearerServiceCode", HFILL }},
20576 { &hf_gsm_map_ext_Teleservice,
20577 { "ext-Teleservice", "gsm_map.ext_Teleservice",
20578 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
20579 "Ext_TeleserviceCode", HFILL }},
20580 { &hf_gsm_map_maximumentitledPriority,
20581 { "maximumentitledPriority", "gsm_map.maximumentitledPriority",
20582 FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0,
20583 "EMLPP_Priority", HFILL }},
20584 { &hf_gsm_map_defaultPriority,
20585 { "defaultPriority", "gsm_map.defaultPriority",
20586 FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0,
20587 "EMLPP_Priority", HFILL }},
20588 { &hf_gsm_map_ss_Code,
20589 { "ss-Code", "gsm_map.ss_Code",
20590 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
20591 NULL, HFILL }},
20592 { &hf_gsm_map_ss_Status,
20593 { "ss-Status", "gsm_map.ss_Status",
20594 FT_BYTES, BASE_NONE, NULL, 0,
20595 "Ext_SS_Status", HFILL }},
20596 { &hf_gsm_map_nbrSB,
20597 { "nbrSB", "gsm_map.nbrSB",
20598 FT_UINT32, BASE_DEC, NULL, 0,
20599 "MaxMC_Bearers", HFILL }},
20600 { &hf_gsm_map_nbrUser,
20601 { "nbrUser", "gsm_map.nbrUser",
20602 FT_UINT32, BASE_DEC, NULL, 0,
20603 "MC_Bearers", HFILL }},
20605 /* --- Module MAP-SS-DataTypes --- --- --- */
20607 { &hf_gsm_map_ss_ss_Code,
20608 { "ss-Code", "gsm_map.ss.ss_Code",
20609 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
20610 NULL, HFILL }},
20611 { &hf_gsm_map_ss_basicService,
20612 { "basicService", "gsm_map.ss.basicService",
20613 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
20614 "BasicServiceCode", HFILL }},
20615 { &hf_gsm_map_ss_forwardedToNumber,
20616 { "forwardedToNumber", "gsm_map.ss.forwardedToNumber",
20617 FT_BYTES, BASE_NONE, NULL, 0,
20618 "AddressString", HFILL }},
20619 { &hf_gsm_map_ss_forwardedToSubaddress,
20620 { "forwardedToSubaddress", "gsm_map.ss.forwardedToSubaddress",
20621 FT_BYTES, BASE_NONE, NULL, 0,
20622 "ISDN_SubaddressString", HFILL }},
20623 { &hf_gsm_map_ss_noReplyConditionTime,
20624 { "noReplyConditionTime", "gsm_map.ss.noReplyConditionTime",
20625 FT_UINT32, BASE_DEC, NULL, 0,
20626 NULL, HFILL }},
20627 { &hf_gsm_map_ss_defaultPriority,
20628 { "defaultPriority", "gsm_map.ss.defaultPriority",
20629 FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0,
20630 "EMLPP_Priority", HFILL }},
20631 { &hf_gsm_map_ss_nbrUser,
20632 { "nbrUser", "gsm_map.ss.nbrUser",
20633 FT_UINT32, BASE_DEC, NULL, 0,
20634 "MC_Bearers", HFILL }},
20635 { &hf_gsm_map_ss_longFTN_Supported,
20636 { "longFTN-Supported", "gsm_map.ss.longFTN_Supported_element",
20637 FT_NONE, BASE_NONE, NULL, 0,
20638 NULL, HFILL }},
20639 { &hf_gsm_map_ss_forwardingInfo,
20640 { "forwardingInfo", "gsm_map.ss.forwardingInfo_element",
20641 FT_NONE, BASE_NONE, NULL, 0,
20642 NULL, HFILL }},
20643 { &hf_gsm_map_ss_callBarringInfo,
20644 { "callBarringInfo", "gsm_map.ss.callBarringInfo_element",
20645 FT_NONE, BASE_NONE, NULL, 0,
20646 NULL, HFILL }},
20647 { &hf_gsm_map_ss_ss_Data,
20648 { "ss-Data", "gsm_map.ss.ss_Data_element",
20649 FT_NONE, BASE_NONE, NULL, 0,
20650 NULL, HFILL }},
20651 { &hf_gsm_map_ss_forwardingFeatureList,
20652 { "forwardingFeatureList", "gsm_map.ss.forwardingFeatureList",
20653 FT_UINT32, BASE_DEC, NULL, 0,
20654 NULL, HFILL }},
20655 { &hf_gsm_map_ss_ForwardingFeatureList_item,
20656 { "ForwardingFeature", "gsm_map.ss.ForwardingFeature_element",
20657 FT_NONE, BASE_NONE, NULL, 0,
20658 NULL, HFILL }},
20659 { &hf_gsm_map_ss_ss_Status,
20660 { "ss-Status", "gsm_map.ss.ss_Status",
20661 FT_BYTES, BASE_NONE, NULL, 0,
20662 NULL, HFILL }},
20663 { &hf_gsm_map_ss_forwardedToNumber_01,
20664 { "forwardedToNumber", "gsm_map.ss.forwardedToNumber",
20665 FT_BYTES, BASE_NONE, NULL, 0,
20666 "ISDN_AddressString", HFILL }},
20667 { &hf_gsm_map_ss_forwardingOptions,
20668 { "forwardingOptions", "gsm_map.ss.forwardingOptions",
20669 FT_BYTES, BASE_NONE, NULL, 0,
20670 NULL, HFILL }},
20671 { &hf_gsm_map_ss_longForwardedToNumber,
20672 { "longForwardedToNumber", "gsm_map.ss.longForwardedToNumber",
20673 FT_BYTES, BASE_NONE, NULL, 0,
20674 "FTN_AddressString", HFILL }},
20675 { &hf_gsm_map_ss_callBarringFeatureList,
20676 { "callBarringFeatureList", "gsm_map.ss.callBarringFeatureList",
20677 FT_UINT32, BASE_DEC, NULL, 0,
20678 NULL, HFILL }},
20679 { &hf_gsm_map_ss_CallBarringFeatureList_item,
20680 { "CallBarringFeature", "gsm_map.ss.CallBarringFeature_element",
20681 FT_NONE, BASE_NONE, NULL, 0,
20682 NULL, HFILL }},
20683 { &hf_gsm_map_ss_ss_SubscriptionOption,
20684 { "ss-SubscriptionOption", "gsm_map.ss.ss_SubscriptionOption",
20685 FT_UINT32, BASE_DEC, VALS(gsm_map_ss_SS_SubscriptionOption_vals), 0,
20686 NULL, HFILL }},
20687 { &hf_gsm_map_ss_basicServiceGroupList,
20688 { "basicServiceGroupList", "gsm_map.ss.basicServiceGroupList",
20689 FT_UINT32, BASE_DEC, NULL, 0,
20690 NULL, HFILL }},
20691 { &hf_gsm_map_ss_cliRestrictionOption,
20692 { "cliRestrictionOption", "gsm_map.ss.cliRestrictionOption",
20693 FT_UINT32, BASE_DEC, VALS(gsm_map_ss_CliRestrictionOption_vals), 0,
20694 NULL, HFILL }},
20695 { &hf_gsm_map_ss_overrideCategory,
20696 { "overrideCategory", "gsm_map.ss.overrideCategory",
20697 FT_UINT32, BASE_DEC, VALS(gsm_map_ss_OverrideCategory_vals), 0,
20698 NULL, HFILL }},
20699 { &hf_gsm_map_ss_maximumEntitledPriority,
20700 { "maximumEntitledPriority", "gsm_map.ss.maximumEntitledPriority",
20701 FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0,
20702 "EMLPP_Priority", HFILL }},
20703 { &hf_gsm_map_ss_ccbs_FeatureList,
20704 { "ccbs-FeatureList", "gsm_map.ss.ccbs_FeatureList",
20705 FT_UINT32, BASE_DEC, NULL, 0,
20706 NULL, HFILL }},
20707 { &hf_gsm_map_ss_nbrSB,
20708 { "nbrSB", "gsm_map.ss.nbrSB",
20709 FT_UINT32, BASE_DEC, NULL, 0,
20710 "MaxMC_Bearers", HFILL }},
20711 { &hf_gsm_map_ss_nbrSN,
20712 { "nbrSN", "gsm_map.ss.nbrSN",
20713 FT_UINT32, BASE_DEC, NULL, 0,
20714 "MC_Bearers", HFILL }},
20715 { &hf_gsm_map_ss_CCBS_FeatureList_item,
20716 { "CCBS-Feature", "gsm_map.ss.CCBS_Feature_element",
20717 FT_NONE, BASE_NONE, NULL, 0,
20718 NULL, HFILL }},
20719 { &hf_gsm_map_ss_ccbs_Index,
20720 { "ccbs-Index", "gsm_map.ss.ccbs_Index",
20721 FT_UINT32, BASE_DEC, NULL, 0,
20722 NULL, HFILL }},
20723 { &hf_gsm_map_ss_b_subscriberNumber,
20724 { "b-subscriberNumber", "gsm_map.ss.b_subscriberNumber",
20725 FT_BYTES, BASE_NONE, NULL, 0,
20726 "ISDN_AddressString", HFILL }},
20727 { &hf_gsm_map_ss_b_subscriberSubaddress,
20728 { "b-subscriberSubaddress", "gsm_map.ss.b_subscriberSubaddress",
20729 FT_BYTES, BASE_NONE, NULL, 0,
20730 "ISDN_SubaddressString", HFILL }},
20731 { &hf_gsm_map_ss_basicServiceGroup,
20732 { "basicServiceGroup", "gsm_map.ss.basicServiceGroup",
20733 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
20734 "BasicServiceCode", HFILL }},
20735 { &hf_gsm_map_ss_genericServiceInfo,
20736 { "genericServiceInfo", "gsm_map.ss.genericServiceInfo_element",
20737 FT_NONE, BASE_NONE, NULL, 0,
20738 NULL, HFILL }},
20739 { &hf_gsm_map_ss_ussd_DataCodingScheme,
20740 { "ussd-DataCodingScheme", "gsm_map.ss.ussd_DataCodingScheme",
20741 FT_BYTES, BASE_NONE, NULL, 0,
20742 NULL, HFILL }},
20743 { &hf_gsm_map_ss_ussd_String,
20744 { "ussd-String", "gsm_map.ss.ussd_String",
20745 FT_BYTES, BASE_NONE, NULL, 0,
20746 NULL, HFILL }},
20747 { &hf_gsm_map_ss_alertingPattern,
20748 { "alertingPattern", "gsm_map.ss.alertingPattern",
20749 FT_BYTES, BASE_NONE, NULL, 0,
20750 NULL, HFILL }},
20751 { &hf_gsm_map_ss_msisdn,
20752 { "msisdn", "gsm_map.ss.msisdn",
20753 FT_BYTES, BASE_NONE, NULL, 0,
20754 "ISDN_AddressString", HFILL }},
20755 { &hf_gsm_map_ss_SS_List_item,
20756 { "SS-Code", "gsm_map.ss.SS_Code",
20757 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
20758 NULL, HFILL }},
20759 { &hf_gsm_map_ss_BasicServiceGroupList_item,
20760 { "BasicServiceCode", "gsm_map.ss.BasicServiceCode",
20761 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
20762 NULL, HFILL }},
20763 { &hf_gsm_map_ss_imsi,
20764 { "imsi", "gsm_map.ss.imsi",
20765 FT_BYTES, BASE_NONE, NULL, 0,
20766 NULL, HFILL }},
20767 { &hf_gsm_map_ss_ss_Event,
20768 { "ss-Event", "gsm_map.ss.ss_Event",
20769 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
20770 "SS_Code", HFILL }},
20771 { &hf_gsm_map_ss_ss_EventSpecification,
20772 { "ss-EventSpecification", "gsm_map.ss.ss_EventSpecification",
20773 FT_UINT32, BASE_DEC, NULL, 0,
20774 NULL, HFILL }},
20775 { &hf_gsm_map_ss_extensionContainer,
20776 { "extensionContainer", "gsm_map.ss.extensionContainer_element",
20777 FT_NONE, BASE_NONE, NULL, 0,
20778 NULL, HFILL }},
20779 { &hf_gsm_map_ss_ccbs_RequestState,
20780 { "ccbs-RequestState", "gsm_map.ss.ccbs_RequestState",
20781 FT_UINT32, BASE_DEC, VALS(gsm_map_ss_CCBS_RequestState_vals), 0,
20782 NULL, HFILL }},
20783 { &hf_gsm_map_ss_SS_EventSpecification_item,
20784 { "AddressString", "gsm_map.ss.AddressString",
20785 FT_BYTES, BASE_NONE, NULL, 0,
20786 NULL, HFILL }},
20787 { &hf_gsm_map_ss_ccbs_Data,
20788 { "ccbs-Data", "gsm_map.ss.ccbs_Data_element",
20789 FT_NONE, BASE_NONE, NULL, 0,
20790 NULL, HFILL }},
20791 { &hf_gsm_map_ss_ccbs_Feature,
20792 { "ccbs-Feature", "gsm_map.ss.ccbs_Feature_element",
20793 FT_NONE, BASE_NONE, NULL, 0,
20794 NULL, HFILL }},
20795 { &hf_gsm_map_ss_translatedB_Number,
20796 { "translatedB-Number", "gsm_map.ss.translatedB_Number",
20797 FT_BYTES, BASE_NONE, NULL, 0,
20798 "ISDN_AddressString", HFILL }},
20799 { &hf_gsm_map_ss_serviceIndicator,
20800 { "serviceIndicator", "gsm_map.ss.serviceIndicator",
20801 FT_BYTES, BASE_NONE, NULL, 0,
20802 NULL, HFILL }},
20803 { &hf_gsm_map_ss_callInfo,
20804 { "callInfo", "gsm_map.ss.callInfo_element",
20805 FT_NONE, BASE_NONE, NULL, 0,
20806 "ExternalSignalInfo", HFILL }},
20807 { &hf_gsm_map_ss_networkSignalInfo,
20808 { "networkSignalInfo", "gsm_map.ss.networkSignalInfo_element",
20809 FT_NONE, BASE_NONE, NULL, 0,
20810 "ExternalSignalInfo", HFILL }},
20811 { &hf_gsm_map_ss_ServiceIndicator_clir_invoked,
20812 { "clir-invoked", "gsm_map.ss.clir-invoked",
20813 FT_BOOLEAN, 8, NULL, 0x80,
20814 NULL, HFILL }},
20815 { &hf_gsm_map_ss_ServiceIndicator_camel_invoked,
20816 { "camel-invoked", "gsm_map.ss.camel-invoked",
20817 FT_BOOLEAN, 8, NULL, 0x40,
20818 NULL, HFILL }},
20820 /* --- Module MAP-ER-DataTypes --- --- --- */
20822 { &hf_gsm_map_er_roamingNotAllowedCause,
20823 { "roamingNotAllowedCause", "gsm_map.er.roamingNotAllowedCause",
20824 FT_UINT32, BASE_DEC, VALS(gsm_map_er_RoamingNotAllowedCause_vals), 0,
20825 NULL, HFILL }},
20826 { &hf_gsm_map_er_extensionContainer,
20827 { "extensionContainer", "gsm_map.er.extensionContainer_element",
20828 FT_NONE, BASE_NONE, NULL, 0,
20829 NULL, HFILL }},
20830 { &hf_gsm_map_er_additionalRoamingNotAllowedCause,
20831 { "additionalRoamingNotAllowedCause", "gsm_map.er.additionalRoamingNotAllowedCause",
20832 FT_UINT32, BASE_DEC, VALS(gsm_map_er_AdditionalRoamingNotAllowedCause_vals), 0,
20833 NULL, HFILL }},
20834 { &hf_gsm_map_er_callBarringCause,
20835 { "callBarringCause", "gsm_map.er.callBarringCause",
20836 FT_UINT32, BASE_DEC, VALS(gsm_map_er_CallBarringCause_vals), 0,
20837 NULL, HFILL }},
20838 { &hf_gsm_map_er_extensibleCallBarredParam,
20839 { "extensibleCallBarredParam", "gsm_map.er.extensibleCallBarredParam_element",
20840 FT_NONE, BASE_NONE, NULL, 0,
20841 NULL, HFILL }},
20842 { &hf_gsm_map_er_unauthorisedMessageOriginator,
20843 { "unauthorisedMessageOriginator", "gsm_map.er.unauthorisedMessageOriginator_element",
20844 FT_NONE, BASE_NONE, NULL, 0,
20845 NULL, HFILL }},
20846 { &hf_gsm_map_er_anonymousCallRejection,
20847 { "anonymousCallRejection", "gsm_map.er.anonymousCallRejection_element",
20848 FT_NONE, BASE_NONE, NULL, 0,
20849 NULL, HFILL }},
20850 { &hf_gsm_map_er_cug_RejectCause,
20851 { "cug-RejectCause", "gsm_map.er.cug_RejectCause",
20852 FT_UINT32, BASE_DEC, VALS(gsm_map_er_CUG_RejectCause_vals), 0,
20853 NULL, HFILL }},
20854 { &hf_gsm_map_er_ss_Code,
20855 { "ss-Code", "gsm_map.er.ss_Code",
20856 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
20857 NULL, HFILL }},
20858 { &hf_gsm_map_er_basicService,
20859 { "basicService", "gsm_map.er.basicService",
20860 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
20861 "BasicServiceCode", HFILL }},
20862 { &hf_gsm_map_er_ss_Status,
20863 { "ss-Status", "gsm_map.er.ss_Status",
20864 FT_BYTES, BASE_NONE, NULL, 0,
20865 NULL, HFILL }},
20866 { &hf_gsm_map_er_sm_EnumeratedDeliveryFailureCause,
20867 { "sm-EnumeratedDeliveryFailureCause", "gsm_map.er.sm_EnumeratedDeliveryFailureCause",
20868 FT_UINT32, BASE_DEC, VALS(gsm_map_er_SM_EnumeratedDeliveryFailureCause_vals), 0,
20869 NULL, HFILL }},
20870 { &hf_gsm_map_er_diagnosticInfo,
20871 { "diagnosticInfo", "gsm_map.er.diagnosticInfo",
20872 FT_BYTES, BASE_NONE, NULL, 0,
20873 "SignalInfo", HFILL }},
20874 { &hf_gsm_map_er_absentSubscriberDiagnosticSM,
20875 { "absentSubscriberDiagnosticSM", "gsm_map.er.absentSubscriberDiagnosticSM",
20876 FT_UINT32, BASE_DEC, NULL, 0,
20877 NULL, HFILL }},
20878 { &hf_gsm_map_er_additionalAbsentSubscriberDiagnosticSM,
20879 { "additionalAbsentSubscriberDiagnosticSM", "gsm_map.er.additionalAbsentSubscriberDiagnosticSM",
20880 FT_UINT32, BASE_DEC, NULL, 0,
20881 "AbsentSubscriberDiagnosticSM", HFILL }},
20882 { &hf_gsm_map_er_imsi,
20883 { "imsi", "gsm_map.er.imsi",
20884 FT_BYTES, BASE_NONE, NULL, 0,
20885 NULL, HFILL }},
20886 { &hf_gsm_map_er_networkResource,
20887 { "networkResource", "gsm_map.er.networkResource",
20888 FT_UINT32, BASE_DEC, VALS(gsm_map_NetworkResource_vals), 0,
20889 NULL, HFILL }},
20890 { &hf_gsm_map_er_extensibleSystemFailureParam,
20891 { "extensibleSystemFailureParam", "gsm_map.er.extensibleSystemFailureParam_element",
20892 FT_NONE, BASE_NONE, NULL, 0,
20893 NULL, HFILL }},
20894 { &hf_gsm_map_er_additionalNetworkResource,
20895 { "additionalNetworkResource", "gsm_map.er.additionalNetworkResource",
20896 FT_UINT32, BASE_DEC, VALS(gsm_map_AdditionalNetworkResource_vals), 0,
20897 NULL, HFILL }},
20898 { &hf_gsm_map_er_failureCauseParam,
20899 { "failureCauseParam", "gsm_map.er.failureCauseParam",
20900 FT_UINT32, BASE_DEC, VALS(gsm_map_er_FailureCauseParam_vals), 0,
20901 NULL, HFILL }},
20902 { &hf_gsm_map_er_unexpectedSubscriber,
20903 { "unexpectedSubscriber", "gsm_map.er.unexpectedSubscriber_element",
20904 FT_NONE, BASE_NONE, NULL, 0,
20905 NULL, HFILL }},
20906 { &hf_gsm_map_er_shapeOfLocationEstimateNotSupported,
20907 { "shapeOfLocationEstimateNotSupported", "gsm_map.er.shapeOfLocationEstimateNotSupported_element",
20908 FT_NONE, BASE_NONE, NULL, 0,
20909 NULL, HFILL }},
20910 { &hf_gsm_map_er_neededLcsCapabilityNotSupportedInServingNode,
20911 { "neededLcsCapabilityNotSupportedInServingNode", "gsm_map.er.neededLcsCapabilityNotSupportedInServingNode_element",
20912 FT_NONE, BASE_NONE, NULL, 0,
20913 NULL, HFILL }},
20914 { &hf_gsm_map_er_unknownSubscriberDiagnostic,
20915 { "unknownSubscriberDiagnostic", "gsm_map.er.unknownSubscriberDiagnostic",
20916 FT_UINT32, BASE_DEC, VALS(gsm_map_er_UnknownSubscriberDiagnostic_vals), 0,
20917 NULL, HFILL }},
20918 { &hf_gsm_map_er_absentSubscriberReason,
20919 { "absentSubscriberReason", "gsm_map.er.absentSubscriberReason",
20920 FT_UINT32, BASE_DEC, VALS(gsm_map_er_AbsentSubscriberReason_vals), 0,
20921 NULL, HFILL }},
20922 { &hf_gsm_map_er_ccbs_Possible,
20923 { "ccbs-Possible", "gsm_map.er.ccbs_Possible_element",
20924 FT_NONE, BASE_NONE, NULL, 0,
20925 NULL, HFILL }},
20926 { &hf_gsm_map_er_ccbs_Busy,
20927 { "ccbs-Busy", "gsm_map.er.ccbs_Busy_element",
20928 FT_NONE, BASE_NONE, NULL, 0,
20929 NULL, HFILL }},
20930 { &hf_gsm_map_er_gprsConnectionSuspended,
20931 { "gprsConnectionSuspended", "gsm_map.er.gprsConnectionSuspended_element",
20932 FT_NONE, BASE_NONE, NULL, 0,
20933 NULL, HFILL }},
20934 { &hf_gsm_map_er_unauthorizedLCSClient_Diagnostic,
20935 { "unauthorizedLCSClient-Diagnostic", "gsm_map.er.unauthorizedLCSClient_Diagnostic",
20936 FT_UINT32, BASE_DEC, VALS(gsm_map_er_UnauthorizedLCSClient_Diagnostic_vals), 0,
20937 NULL, HFILL }},
20938 { &hf_gsm_map_er_positionMethodFailure_Diagnostic,
20939 { "positionMethodFailure-Diagnostic", "gsm_map.er.positionMethodFailure_Diagnostic",
20940 FT_UINT32, BASE_DEC, VALS(gsm_map_er_PositionMethodFailure_Diagnostic_vals), 0,
20941 NULL, HFILL }},
20943 /* --- Module MAP-SM-DataTypes --- --- --- */
20945 { &hf_gsm_map_sm_msisdn,
20946 { "msisdn", "gsm_map.sm.msisdn",
20947 FT_BYTES, BASE_NONE, NULL, 0,
20948 "ISDN_AddressString", HFILL }},
20949 { &hf_gsm_map_sm_sm_RP_PRI,
20950 { "sm-RP-PRI", "gsm_map.sm.sm_RP_PRI",
20951 FT_BOOLEAN, BASE_NONE, NULL, 0,
20952 "BOOLEAN", HFILL }},
20953 { &hf_gsm_map_sm_serviceCentreAddress,
20954 { "serviceCentreAddress", "gsm_map.sm.serviceCentreAddress",
20955 FT_BYTES, BASE_NONE, NULL, 0,
20956 "AddressString", HFILL }},
20957 { &hf_gsm_map_sm_extensionContainer,
20958 { "extensionContainer", "gsm_map.sm.extensionContainer_element",
20959 FT_NONE, BASE_NONE, NULL, 0,
20960 NULL, HFILL }},
20961 { &hf_gsm_map_sm_gprsSupportIndicator,
20962 { "gprsSupportIndicator", "gsm_map.sm.gprsSupportIndicator_element",
20963 FT_NONE, BASE_NONE, NULL, 0,
20964 NULL, HFILL }},
20965 { &hf_gsm_map_sm_sm_RP_MTI,
20966 { "sm-RP-MTI", "gsm_map.sm.sm_RP_MTI",
20967 FT_UINT32, BASE_DEC, NULL, 0,
20968 NULL, HFILL }},
20969 { &hf_gsm_map_sm_sm_RP_SMEA,
20970 { "sm-RP-SMEA", "gsm_map.sm.sm_RP_SMEA",
20971 FT_BYTES, BASE_NONE, NULL, 0,
20972 NULL, HFILL }},
20973 { &hf_gsm_map_sm_sm_deliveryNotIntended,
20974 { "sm-deliveryNotIntended", "gsm_map.sm.sm_deliveryNotIntended",
20975 FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_DeliveryNotIntended_vals), 0,
20976 NULL, HFILL }},
20977 { &hf_gsm_map_sm_ip_sm_gwGuidanceIndicator,
20978 { "ip-sm-gwGuidanceIndicator", "gsm_map.sm.ip_sm_gwGuidanceIndicator_element",
20979 FT_NONE, BASE_NONE, NULL, 0,
20980 NULL, HFILL }},
20981 { &hf_gsm_map_sm_imsi,
20982 { "imsi", "gsm_map.sm.imsi",
20983 FT_BYTES, BASE_NONE, NULL, 0,
20984 NULL, HFILL }},
20985 { &hf_gsm_map_sm_locationInfoWithLMSI,
20986 { "locationInfoWithLMSI", "gsm_map.sm.locationInfoWithLMSI_element",
20987 FT_NONE, BASE_NONE, NULL, 0,
20988 NULL, HFILL }},
20989 { &hf_gsm_map_sm_ip_sm_gwGuidance,
20990 { "ip-sm-gwGuidance", "gsm_map.sm.ip_sm_gwGuidance_element",
20991 FT_NONE, BASE_NONE, NULL, 0,
20992 "IP_SM_GW_Guidance", HFILL }},
20993 { &hf_gsm_map_sm_minimumDeliveryTimeValue,
20994 { "minimumDeliveryTimeValue", "gsm_map.sm.minimumDeliveryTimeValue",
20995 FT_UINT32, BASE_DEC, NULL, 0,
20996 "SM_DeliveryTimerValue", HFILL }},
20997 { &hf_gsm_map_sm_recommendedDeliveryTimeValue,
20998 { "recommendedDeliveryTimeValue", "gsm_map.sm.recommendedDeliveryTimeValue",
20999 FT_UINT32, BASE_DEC, NULL, 0,
21000 "SM_DeliveryTimerValue", HFILL }},
21001 { &hf_gsm_map_sm_networkNode_Number,
21002 { "networkNode-Number", "gsm_map.sm.networkNode_Number",
21003 FT_BYTES, BASE_NONE, NULL, 0,
21004 "ISDN_AddressString", HFILL }},
21005 { &hf_gsm_map_sm_lmsi,
21006 { "lmsi", "gsm_map.sm.lmsi",
21007 FT_BYTES, BASE_NONE, NULL, 0,
21008 NULL, HFILL }},
21009 { &hf_gsm_map_sm_gprsNodeIndicator,
21010 { "gprsNodeIndicator", "gsm_map.sm.gprsNodeIndicator_element",
21011 FT_NONE, BASE_NONE, NULL, 0,
21012 NULL, HFILL }},
21013 { &hf_gsm_map_sm_additional_Number,
21014 { "additional-Number", "gsm_map.sm.additional_Number",
21015 FT_UINT32, BASE_DEC, VALS(gsm_map_sm_Additional_Number_vals), 0,
21016 NULL, HFILL }},
21017 { &hf_gsm_map_sm_networkNodeDiameterAddress,
21018 { "networkNodeDiameterAddress", "gsm_map.sm.networkNodeDiameterAddress_element",
21019 FT_NONE, BASE_NONE, NULL, 0,
21020 NULL, HFILL }},
21021 { &hf_gsm_map_sm_additionalNetworkNodeDiameterAddress,
21022 { "additionalNetworkNodeDiameterAddress", "gsm_map.sm.additionalNetworkNodeDiameterAddress_element",
21023 FT_NONE, BASE_NONE, NULL, 0,
21024 "NetworkNodeDiameterAddress", HFILL }},
21025 { &hf_gsm_map_sm_thirdNumber,
21026 { "thirdNumber", "gsm_map.sm.thirdNumber",
21027 FT_UINT32, BASE_DEC, VALS(gsm_map_sm_Additional_Number_vals), 0,
21028 "Additional_Number", HFILL }},
21029 { &hf_gsm_map_sm_thirdNetworkNodeDiameterAddress,
21030 { "thirdNetworkNodeDiameterAddress", "gsm_map.sm.thirdNetworkNodeDiameterAddress_element",
21031 FT_NONE, BASE_NONE, NULL, 0,
21032 "NetworkNodeDiameterAddress", HFILL }},
21033 { &hf_gsm_map_sm_imsNodeIndicator,
21034 { "imsNodeIndicator", "gsm_map.sm.imsNodeIndicator_element",
21035 FT_NONE, BASE_NONE, NULL, 0,
21036 NULL, HFILL }},
21037 { &hf_gsm_map_sm_msc_Number,
21038 { "msc-Number", "gsm_map.sm.msc_Number",
21039 FT_BYTES, BASE_NONE, NULL, 0,
21040 "ISDN_AddressString", HFILL }},
21041 { &hf_gsm_map_sm_sgsn_Number,
21042 { "sgsn-Number", "gsm_map.sm.sgsn_Number",
21043 FT_BYTES, BASE_NONE, NULL, 0,
21044 "ISDN_AddressString", HFILL }},
21045 { &hf_gsm_map_sm_sm_RP_DA,
21046 { "sm-RP-DA", "gsm_map.sm.sm_RP_DA",
21047 FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_RP_DA_vals), 0,
21048 NULL, HFILL }},
21049 { &hf_gsm_map_sm_sm_RP_OA,
21050 { "sm-RP-OA", "gsm_map.sm.sm_RP_OA",
21051 FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_RP_OA_vals), 0,
21052 NULL, HFILL }},
21053 { &hf_gsm_map_sm_sm_RP_UI,
21054 { "sm-RP-UI", "gsm_map.sm.sm_RP_UI",
21055 FT_BYTES, BASE_NONE, NULL, 0,
21056 "SignalInfo", HFILL }},
21057 { &hf_gsm_map_sm_moreMessagesToSend,
21058 { "moreMessagesToSend", "gsm_map.sm.moreMessagesToSend_element",
21059 FT_NONE, BASE_NONE, NULL, 0,
21060 NULL, HFILL }},
21061 { &hf_gsm_map_sm_smDeliveryTimer,
21062 { "smDeliveryTimer", "gsm_map.sm.smDeliveryTimer",
21063 FT_UINT32, BASE_DEC, NULL, 0,
21064 "SM_DeliveryTimerValue", HFILL }},
21065 { &hf_gsm_map_sm_smDeliveryStartTime,
21066 { "smDeliveryStartTime", "gsm_map.sm.smDeliveryStartTime",
21067 FT_BYTES, BASE_NONE, NULL, 0,
21068 "Time", HFILL }},
21069 { &hf_gsm_map_sm_smsOverIP_OnlyIndicator,
21070 { "smsOverIP-OnlyIndicator", "gsm_map.sm.smsOverIP_OnlyIndicator_element",
21071 FT_NONE, BASE_NONE, NULL, 0,
21072 NULL, HFILL }},
21073 { &hf_gsm_map_sm_imsi_01,
21074 { "imsi", "gsm_map.sm.imsi",
21075 FT_BYTES, BASE_NONE, NULL, 0,
21076 NULL, HFILL }},
21077 { &hf_gsm_map_sm_lmsi_01,
21078 { "lmsi", "gsm_map.sm.lmsi",
21079 FT_BYTES, BASE_NONE, NULL, 0,
21080 NULL, HFILL }},
21081 { &hf_gsm_map_sm_serviceCentreAddressDA,
21082 { "serviceCentreAddressDA", "gsm_map.sm.serviceCentreAddressDA",
21083 FT_BYTES, BASE_NONE, NULL, 0,
21084 NULL, HFILL }},
21085 { &hf_gsm_map_sm_noSM_RP_DA,
21086 { "noSM-RP-DA", "gsm_map.sm.noSM_RP_DA_element",
21087 FT_NONE, BASE_NONE, NULL, 0,
21088 NULL, HFILL }},
21089 { &hf_gsm_map_sm_msisdn_01,
21090 { "msisdn", "gsm_map.sm.msisdn",
21091 FT_BYTES, BASE_NONE, NULL, 0,
21092 NULL, HFILL }},
21093 { &hf_gsm_map_sm_serviceCentreAddressOA,
21094 { "serviceCentreAddressOA", "gsm_map.sm.serviceCentreAddressOA",
21095 FT_BYTES, BASE_NONE, NULL, 0,
21096 NULL, HFILL }},
21097 { &hf_gsm_map_sm_noSM_RP_OA,
21098 { "noSM-RP-OA", "gsm_map.sm.noSM_RP_OA_element",
21099 FT_NONE, BASE_NONE, NULL, 0,
21100 NULL, HFILL }},
21101 { &hf_gsm_map_sm_sm_DeliveryOutcome,
21102 { "sm-DeliveryOutcome", "gsm_map.sm.sm_DeliveryOutcome",
21103 FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_DeliveryOutcome_vals), 0,
21104 NULL, HFILL }},
21105 { &hf_gsm_map_sm_absentSubscriberDiagnosticSM,
21106 { "absentSubscriberDiagnosticSM", "gsm_map.sm.absentSubscriberDiagnosticSM",
21107 FT_UINT32, BASE_DEC, NULL, 0,
21108 NULL, HFILL }},
21109 { &hf_gsm_map_sm_deliveryOutcomeIndicator,
21110 { "deliveryOutcomeIndicator", "gsm_map.sm.deliveryOutcomeIndicator_element",
21111 FT_NONE, BASE_NONE, NULL, 0,
21112 NULL, HFILL }},
21113 { &hf_gsm_map_sm_additionalSM_DeliveryOutcome,
21114 { "additionalSM-DeliveryOutcome", "gsm_map.sm.additionalSM_DeliveryOutcome",
21115 FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_DeliveryOutcome_vals), 0,
21116 "SM_DeliveryOutcome", HFILL }},
21117 { &hf_gsm_map_sm_additionalAbsentSubscriberDiagnosticSM,
21118 { "additionalAbsentSubscriberDiagnosticSM", "gsm_map.sm.additionalAbsentSubscriberDiagnosticSM",
21119 FT_UINT32, BASE_DEC, NULL, 0,
21120 "AbsentSubscriberDiagnosticSM", HFILL }},
21121 { &hf_gsm_map_sm_ip_sm_gw_Indicator,
21122 { "ip-sm-gw-Indicator", "gsm_map.sm.ip_sm_gw_Indicator_element",
21123 FT_NONE, BASE_NONE, NULL, 0,
21124 NULL, HFILL }},
21125 { &hf_gsm_map_sm_ip_sm_gw_sm_deliveryOutcome,
21126 { "ip-sm-gw-sm-deliveryOutcome", "gsm_map.sm.ip_sm_gw_sm_deliveryOutcome",
21127 FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_DeliveryOutcome_vals), 0,
21128 "SM_DeliveryOutcome", HFILL }},
21129 { &hf_gsm_map_sm_ip_sm_gw_absentSubscriberDiagnosticSM,
21130 { "ip-sm-gw-absentSubscriberDiagnosticSM", "gsm_map.sm.ip_sm_gw_absentSubscriberDiagnosticSM",
21131 FT_UINT32, BASE_DEC, NULL, 0,
21132 "AbsentSubscriberDiagnosticSM", HFILL }},
21133 { &hf_gsm_map_sm_storedMSISDN,
21134 { "storedMSISDN", "gsm_map.sm.storedMSISDN",
21135 FT_BYTES, BASE_NONE, NULL, 0,
21136 "ISDN_AddressString", HFILL }},
21137 { &hf_gsm_map_sm_mw_Status,
21138 { "mw-Status", "gsm_map.sm.mw_Status",
21139 FT_BYTES, BASE_NONE, NULL, 0,
21140 NULL, HFILL }},
21141 { &hf_gsm_map_sm_alertReason,
21142 { "alertReason", "gsm_map.sm.alertReason",
21143 FT_UINT32, BASE_DEC, VALS(gsm_map_sm_AlertReason_vals), 0,
21144 NULL, HFILL }},
21145 { &hf_gsm_map_sm_alertReasonIndicator,
21146 { "alertReasonIndicator", "gsm_map.sm.alertReasonIndicator_element",
21147 FT_NONE, BASE_NONE, NULL, 0,
21148 NULL, HFILL }},
21149 { &hf_gsm_map_sm_additionalAlertReasonIndicator,
21150 { "additionalAlertReasonIndicator", "gsm_map.sm.additionalAlertReasonIndicator_element",
21151 FT_NONE, BASE_NONE, NULL, 0,
21152 NULL, HFILL }},
21153 { &hf_gsm_map_sm_asciCallReference,
21154 { "asciCallReference", "gsm_map.sm.asciCallReference",
21155 FT_BYTES, BASE_NONE, NULL, 0,
21156 "ASCI_CallReference", HFILL }},
21157 { &hf_gsm_map_sm_dispatcherList,
21158 { "dispatcherList", "gsm_map.sm.dispatcherList",
21159 FT_UINT32, BASE_DEC, NULL, 0,
21160 NULL, HFILL }},
21161 { &hf_gsm_map_sm_ongoingCall,
21162 { "ongoingCall", "gsm_map.sm.ongoingCall_element",
21163 FT_NONE, BASE_NONE, NULL, 0,
21164 NULL, HFILL }},
21165 { &hf_gsm_map_sm_additionalDispatcherList,
21166 { "additionalDispatcherList", "gsm_map.sm.additionalDispatcherList",
21167 FT_UINT32, BASE_DEC, NULL, 0,
21168 NULL, HFILL }},
21169 { &hf_gsm_map_sm_DispatcherList_item,
21170 { "ISDN-AddressString", "gsm_map.sm.ISDN_AddressString",
21171 FT_BYTES, BASE_NONE, NULL, 0,
21172 NULL, HFILL }},
21173 { &hf_gsm_map_sm_AdditionalDispatcherList_item,
21174 { "ISDN-AddressString", "gsm_map.sm.ISDN_AddressString",
21175 FT_BYTES, BASE_NONE, NULL, 0,
21176 NULL, HFILL }},
21177 { &hf_gsm_map_sm_MW_Status_sc_AddressNotIncluded,
21178 { "sc-AddressNotIncluded", "gsm_map.sm.sc-AddressNotIncluded",
21179 FT_BOOLEAN, 8, NULL, 0x80,
21180 NULL, HFILL }},
21181 { &hf_gsm_map_sm_MW_Status_mnrf_Set,
21182 { "mnrf-Set", "gsm_map.sm.mnrf-Set",
21183 FT_BOOLEAN, 8, NULL, 0x40,
21184 NULL, HFILL }},
21185 { &hf_gsm_map_sm_MW_Status_mcef_Set,
21186 { "mcef-Set", "gsm_map.sm.mcef-Set",
21187 FT_BOOLEAN, 8, NULL, 0x20,
21188 NULL, HFILL }},
21189 { &hf_gsm_map_sm_MW_Status_mnrg_Set,
21190 { "mnrg-Set", "gsm_map.sm.mnrg-Set",
21191 FT_BOOLEAN, 8, NULL, 0x10,
21192 NULL, HFILL }},
21194 /* --- Module MAP-OM-DataTypes --- --- --- */
21196 { &hf_gsm_map_om_imsi,
21197 { "imsi", "gsm_map.om.imsi",
21198 FT_BYTES, BASE_NONE, NULL, 0,
21199 NULL, HFILL }},
21200 { &hf_gsm_map_om_traceReference,
21201 { "traceReference", "gsm_map.om.traceReference",
21202 FT_BYTES, BASE_NONE, NULL, 0,
21203 NULL, HFILL }},
21204 { &hf_gsm_map_om_traceType,
21205 { "traceType", "gsm_map.om.traceType",
21206 FT_UINT32, BASE_DEC, NULL, 0,
21207 NULL, HFILL }},
21208 { &hf_gsm_map_om_omc_Id,
21209 { "omc-Id", "gsm_map.om.omc_Id",
21210 FT_BYTES, BASE_NONE, NULL, 0,
21211 "AddressString", HFILL }},
21212 { &hf_gsm_map_om_extensionContainer,
21213 { "extensionContainer", "gsm_map.om.extensionContainer_element",
21214 FT_NONE, BASE_NONE, NULL, 0,
21215 NULL, HFILL }},
21216 { &hf_gsm_map_om_traceReference2,
21217 { "traceReference2", "gsm_map.om.traceReference2",
21218 FT_BYTES, BASE_NONE, NULL, 0,
21219 NULL, HFILL }},
21220 { &hf_gsm_map_om_traceDepthList,
21221 { "traceDepthList", "gsm_map.om.traceDepthList_element",
21222 FT_NONE, BASE_NONE, NULL, 0,
21223 NULL, HFILL }},
21224 { &hf_gsm_map_om_traceNE_TypeList,
21225 { "traceNE-TypeList", "gsm_map.om.traceNE_TypeList",
21226 FT_BYTES, BASE_NONE, NULL, 0,
21227 NULL, HFILL }},
21228 { &hf_gsm_map_om_traceInterfaceList,
21229 { "traceInterfaceList", "gsm_map.om.traceInterfaceList_element",
21230 FT_NONE, BASE_NONE, NULL, 0,
21231 NULL, HFILL }},
21232 { &hf_gsm_map_om_traceEventList,
21233 { "traceEventList", "gsm_map.om.traceEventList_element",
21234 FT_NONE, BASE_NONE, NULL, 0,
21235 NULL, HFILL }},
21236 { &hf_gsm_map_om_traceCollectionEntity,
21237 { "traceCollectionEntity", "gsm_map.om.traceCollectionEntity",
21238 FT_BYTES, BASE_NONE, NULL, 0,
21239 "GSN_Address", HFILL }},
21240 { &hf_gsm_map_om_mdt_Configuration,
21241 { "mdt-Configuration", "gsm_map.om.mdt_Configuration_element",
21242 FT_NONE, BASE_NONE, NULL, 0,
21243 NULL, HFILL }},
21244 { &hf_gsm_map_om_jobType,
21245 { "jobType", "gsm_map.om.jobType",
21246 FT_UINT32, BASE_DEC, VALS(gsm_map_om_JobType_vals), 0,
21247 NULL, HFILL }},
21248 { &hf_gsm_map_om_areaScope,
21249 { "areaScope", "gsm_map.om.areaScope_element",
21250 FT_NONE, BASE_NONE, NULL, 0,
21251 NULL, HFILL }},
21252 { &hf_gsm_map_om_listOfMeasurements,
21253 { "listOfMeasurements", "gsm_map.om.listOfMeasurements",
21254 FT_BYTES, BASE_NONE, NULL, 0,
21255 NULL, HFILL }},
21256 { &hf_gsm_map_om_reportingTrigger,
21257 { "reportingTrigger", "gsm_map.om.reportingTrigger",
21258 FT_BYTES, BASE_NONE, NULL, 0,
21259 NULL, HFILL }},
21260 { &hf_gsm_map_om_reportInterval,
21261 { "reportInterval", "gsm_map.om.reportInterval",
21262 FT_UINT32, BASE_DEC, VALS(gsm_map_om_ReportInterval_vals), 0,
21263 NULL, HFILL }},
21264 { &hf_gsm_map_om_reportAmount,
21265 { "reportAmount", "gsm_map.om.reportAmount",
21266 FT_UINT32, BASE_DEC, VALS(gsm_map_om_ReportAmount_vals), 0,
21267 NULL, HFILL }},
21268 { &hf_gsm_map_om_eventThresholdRSRP,
21269 { "eventThresholdRSRP", "gsm_map.om.eventThresholdRSRP",
21270 FT_UINT32, BASE_DEC, NULL, 0,
21271 NULL, HFILL }},
21272 { &hf_gsm_map_om_eventThresholdRSRQ,
21273 { "eventThresholdRSRQ", "gsm_map.om.eventThresholdRSRQ",
21274 FT_UINT32, BASE_DEC, NULL, 0,
21275 NULL, HFILL }},
21276 { &hf_gsm_map_om_loggingInterval,
21277 { "loggingInterval", "gsm_map.om.loggingInterval",
21278 FT_UINT32, BASE_DEC, VALS(gsm_map_om_LoggingInterval_vals), 0,
21279 NULL, HFILL }},
21280 { &hf_gsm_map_om_loggingDuration,
21281 { "loggingDuration", "gsm_map.om.loggingDuration",
21282 FT_UINT32, BASE_DEC, VALS(gsm_map_om_LoggingDuration_vals), 0,
21283 NULL, HFILL }},
21284 { &hf_gsm_map_om_cgi_List,
21285 { "cgi-List", "gsm_map.om.cgi_List",
21286 FT_UINT32, BASE_DEC, NULL, 0,
21287 NULL, HFILL }},
21288 { &hf_gsm_map_om_e_utran_cgi_List,
21289 { "e-utran-cgi-List", "gsm_map.om.e_utran_cgi_List",
21290 FT_UINT32, BASE_DEC, NULL, 0,
21291 NULL, HFILL }},
21292 { &hf_gsm_map_om_routingAreaId_List,
21293 { "routingAreaId-List", "gsm_map.om.routingAreaId_List",
21294 FT_UINT32, BASE_DEC, NULL, 0,
21295 NULL, HFILL }},
21296 { &hf_gsm_map_om_locationAreaId_List,
21297 { "locationAreaId-List", "gsm_map.om.locationAreaId_List",
21298 FT_UINT32, BASE_DEC, NULL, 0,
21299 NULL, HFILL }},
21300 { &hf_gsm_map_om_trackingAreaId_List,
21301 { "trackingAreaId-List", "gsm_map.om.trackingAreaId_List",
21302 FT_UINT32, BASE_DEC, NULL, 0,
21303 NULL, HFILL }},
21304 { &hf_gsm_map_om_CGI_List_item,
21305 { "GlobalCellId", "gsm_map.om.GlobalCellId",
21306 FT_BYTES, BASE_NONE, NULL, 0,
21307 NULL, HFILL }},
21308 { &hf_gsm_map_om_E_UTRAN_CGI_List_item,
21309 { "E-UTRAN-CGI", "gsm_map.om.E_UTRAN_CGI",
21310 FT_BYTES, BASE_NONE, NULL, 0,
21311 NULL, HFILL }},
21312 { &hf_gsm_map_om_RoutingAreaId_List_item,
21313 { "RAIdentity", "gsm_map.om.RAIdentity",
21314 FT_BYTES, BASE_NONE, NULL, 0,
21315 NULL, HFILL }},
21316 { &hf_gsm_map_om_LocationAreaId_List_item,
21317 { "LAIFixedLength", "gsm_map.om.LAIFixedLength",
21318 FT_BYTES, BASE_NONE, NULL, 0,
21319 NULL, HFILL }},
21320 { &hf_gsm_map_om_TrackingAreaId_List_item,
21321 { "TA-Id", "gsm_map.om.TA_Id",
21322 FT_BYTES, BASE_NONE, NULL, 0,
21323 NULL, HFILL }},
21324 { &hf_gsm_map_om_msc_s_TraceDepth,
21325 { "msc-s-TraceDepth", "gsm_map.om.msc_s_TraceDepth",
21326 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
21327 "TraceDepth", HFILL }},
21328 { &hf_gsm_map_om_mgw_TraceDepth,
21329 { "mgw-TraceDepth", "gsm_map.om.mgw_TraceDepth",
21330 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
21331 "TraceDepth", HFILL }},
21332 { &hf_gsm_map_om_sgsn_TraceDepth,
21333 { "sgsn-TraceDepth", "gsm_map.om.sgsn_TraceDepth",
21334 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
21335 "TraceDepth", HFILL }},
21336 { &hf_gsm_map_om_ggsn_TraceDepth,
21337 { "ggsn-TraceDepth", "gsm_map.om.ggsn_TraceDepth",
21338 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
21339 "TraceDepth", HFILL }},
21340 { &hf_gsm_map_om_rnc_TraceDepth,
21341 { "rnc-TraceDepth", "gsm_map.om.rnc_TraceDepth",
21342 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
21343 "TraceDepth", HFILL }},
21344 { &hf_gsm_map_om_bmsc_TraceDepth,
21345 { "bmsc-TraceDepth", "gsm_map.om.bmsc_TraceDepth",
21346 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
21347 "TraceDepth", HFILL }},
21348 { &hf_gsm_map_om_mme_TraceDepth,
21349 { "mme-TraceDepth", "gsm_map.om.mme_TraceDepth",
21350 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
21351 "TraceDepth", HFILL }},
21352 { &hf_gsm_map_om_sgw_TraceDepth,
21353 { "sgw-TraceDepth", "gsm_map.om.sgw_TraceDepth",
21354 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
21355 "TraceDepth", HFILL }},
21356 { &hf_gsm_map_om_pgw_TraceDepth,
21357 { "pgw-TraceDepth", "gsm_map.om.pgw_TraceDepth",
21358 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
21359 "TraceDepth", HFILL }},
21360 { &hf_gsm_map_om_eNB_TraceDepth,
21361 { "eNB-TraceDepth", "gsm_map.om.eNB_TraceDepth",
21362 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
21363 "TraceDepth", HFILL }},
21364 { &hf_gsm_map_om_msc_s_TraceDepthExtension,
21365 { "msc-s-TraceDepthExtension", "gsm_map.om.msc_s_TraceDepthExtension",
21366 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
21367 "TraceDepthExtension", HFILL }},
21368 { &hf_gsm_map_om_mgw_TraceDepthExtension,
21369 { "mgw-TraceDepthExtension", "gsm_map.om.mgw_TraceDepthExtension",
21370 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
21371 "TraceDepthExtension", HFILL }},
21372 { &hf_gsm_map_om_sgsn_TraceDepthExtension,
21373 { "sgsn-TraceDepthExtension", "gsm_map.om.sgsn_TraceDepthExtension",
21374 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
21375 "TraceDepthExtension", HFILL }},
21376 { &hf_gsm_map_om_ggsn_TraceDepthExtension,
21377 { "ggsn-TraceDepthExtension", "gsm_map.om.ggsn_TraceDepthExtension",
21378 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
21379 "TraceDepthExtension", HFILL }},
21380 { &hf_gsm_map_om_rnc_TraceDepthExtension,
21381 { "rnc-TraceDepthExtension", "gsm_map.om.rnc_TraceDepthExtension",
21382 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
21383 "TraceDepthExtension", HFILL }},
21384 { &hf_gsm_map_om_bmsc_TraceDepthExtension,
21385 { "bmsc-TraceDepthExtension", "gsm_map.om.bmsc_TraceDepthExtension",
21386 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
21387 "TraceDepthExtension", HFILL }},
21388 { &hf_gsm_map_om_mme_TraceDepthExtension,
21389 { "mme-TraceDepthExtension", "gsm_map.om.mme_TraceDepthExtension",
21390 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
21391 "TraceDepthExtension", HFILL }},
21392 { &hf_gsm_map_om_sgw_TraceDepthExtension,
21393 { "sgw-TraceDepthExtension", "gsm_map.om.sgw_TraceDepthExtension",
21394 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
21395 "TraceDepthExtension", HFILL }},
21396 { &hf_gsm_map_om_pgw_TraceDepthExtension,
21397 { "pgw-TraceDepthExtension", "gsm_map.om.pgw_TraceDepthExtension",
21398 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
21399 "TraceDepthExtension", HFILL }},
21400 { &hf_gsm_map_om_eNB_TraceDepthExtension,
21401 { "eNB-TraceDepthExtension", "gsm_map.om.eNB_TraceDepthExtension",
21402 FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
21403 "TraceDepthExtension", HFILL }},
21404 { &hf_gsm_map_om_msc_s_List,
21405 { "msc-s-List", "gsm_map.om.msc_s_List",
21406 FT_BYTES, BASE_NONE, NULL, 0,
21407 "MSC_S_InterfaceList", HFILL }},
21408 { &hf_gsm_map_om_mgw_List,
21409 { "mgw-List", "gsm_map.om.mgw_List",
21410 FT_BYTES, BASE_NONE, NULL, 0,
21411 "MGW_InterfaceList", HFILL }},
21412 { &hf_gsm_map_om_sgsn_List,
21413 { "sgsn-List", "gsm_map.om.sgsn_List",
21414 FT_BYTES, BASE_NONE, NULL, 0,
21415 "SGSN_InterfaceList", HFILL }},
21416 { &hf_gsm_map_om_ggsn_List,
21417 { "ggsn-List", "gsm_map.om.ggsn_List",
21418 FT_BYTES, BASE_NONE, NULL, 0,
21419 "GGSN_InterfaceList", HFILL }},
21420 { &hf_gsm_map_om_rnc_List,
21421 { "rnc-List", "gsm_map.om.rnc_List",
21422 FT_BYTES, BASE_NONE, NULL, 0,
21423 "RNC_InterfaceList", HFILL }},
21424 { &hf_gsm_map_om_bmsc_List,
21425 { "bmsc-List", "gsm_map.om.bmsc_List",
21426 FT_BYTES, BASE_NONE, NULL, 0,
21427 "BMSC_InterfaceList", HFILL }},
21428 { &hf_gsm_map_om_mme_List,
21429 { "mme-List", "gsm_map.om.mme_List",
21430 FT_BYTES, BASE_NONE, NULL, 0,
21431 "MME_InterfaceList", HFILL }},
21432 { &hf_gsm_map_om_sgw_List,
21433 { "sgw-List", "gsm_map.om.sgw_List",
21434 FT_BYTES, BASE_NONE, NULL, 0,
21435 "SGW_InterfaceList", HFILL }},
21436 { &hf_gsm_map_om_pgw_List,
21437 { "pgw-List", "gsm_map.om.pgw_List",
21438 FT_BYTES, BASE_NONE, NULL, 0,
21439 "PGW_InterfaceList", HFILL }},
21440 { &hf_gsm_map_om_eNB_List,
21441 { "eNB-List", "gsm_map.om.eNB_List",
21442 FT_BYTES, BASE_NONE, NULL, 0,
21443 "ENB_InterfaceList", HFILL }},
21444 { &hf_gsm_map_om_msc_s_List_01,
21445 { "msc-s-List", "gsm_map.om.msc_s_List",
21446 FT_BYTES, BASE_NONE, NULL, 0,
21447 "MSC_S_EventList", HFILL }},
21448 { &hf_gsm_map_om_mgw_List_01,
21449 { "mgw-List", "gsm_map.om.mgw_List",
21450 FT_BYTES, BASE_NONE, NULL, 0,
21451 "MGW_EventList", HFILL }},
21452 { &hf_gsm_map_om_sgsn_List_01,
21453 { "sgsn-List", "gsm_map.om.sgsn_List",
21454 FT_BYTES, BASE_NONE, NULL, 0,
21455 "SGSN_EventList", HFILL }},
21456 { &hf_gsm_map_om_ggsn_List_01,
21457 { "ggsn-List", "gsm_map.om.ggsn_List",
21458 FT_BYTES, BASE_NONE, NULL, 0,
21459 "GGSN_EventList", HFILL }},
21460 { &hf_gsm_map_om_bmsc_List_01,
21461 { "bmsc-List", "gsm_map.om.bmsc_List",
21462 FT_BYTES, BASE_NONE, NULL, 0,
21463 "BMSC_EventList", HFILL }},
21464 { &hf_gsm_map_om_mme_List_01,
21465 { "mme-List", "gsm_map.om.mme_List",
21466 FT_BYTES, BASE_NONE, NULL, 0,
21467 "MME_EventList", HFILL }},
21468 { &hf_gsm_map_om_sgw_List_01,
21469 { "sgw-List", "gsm_map.om.sgw_List",
21470 FT_BYTES, BASE_NONE, NULL, 0,
21471 "SGW_EventList", HFILL }},
21472 { &hf_gsm_map_om_pgw_List_01,
21473 { "pgw-List", "gsm_map.om.pgw_List",
21474 FT_BYTES, BASE_NONE, NULL, 0,
21475 "PGW_EventList", HFILL }},
21476 { &hf_gsm_map_om_traceRecordingSessionReference,
21477 { "traceRecordingSessionReference", "gsm_map.om.traceRecordingSessionReference",
21478 FT_BYTES, BASE_NONE, NULL, 0,
21479 NULL, HFILL }},
21480 { &hf_gsm_map_om_rnc_InterfaceList,
21481 { "rnc-InterfaceList", "gsm_map.om.rnc_InterfaceList",
21482 FT_BYTES, BASE_NONE, NULL, 0,
21483 NULL, HFILL }},
21484 { &hf_gsm_map_om_msc_s_InterfaceList,
21485 { "msc-s-InterfaceList", "gsm_map.om.msc_s_InterfaceList",
21486 FT_BYTES, BASE_NONE, NULL, 0,
21487 NULL, HFILL }},
21488 { &hf_gsm_map_om_msc_s_EventList,
21489 { "msc-s-EventList", "gsm_map.om.msc_s_EventList",
21490 FT_BYTES, BASE_NONE, NULL, 0,
21491 NULL, HFILL }},
21492 { &hf_gsm_map_om_mgw_InterfaceList,
21493 { "mgw-InterfaceList", "gsm_map.om.mgw_InterfaceList",
21494 FT_BYTES, BASE_NONE, NULL, 0,
21495 NULL, HFILL }},
21496 { &hf_gsm_map_om_mgw_EventList,
21497 { "mgw-EventList", "gsm_map.om.mgw_EventList",
21498 FT_BYTES, BASE_NONE, NULL, 0,
21499 NULL, HFILL }},
21500 { &hf_gsm_map_om_traceSupportIndicator,
21501 { "traceSupportIndicator", "gsm_map.om.traceSupportIndicator_element",
21502 FT_NONE, BASE_NONE, NULL, 0,
21503 NULL, HFILL }},
21504 { &hf_gsm_map_om_TraceNE_TypeList_msc_s,
21505 { "msc-s", "gsm_map.om.msc-s",
21506 FT_BOOLEAN, 8, NULL, 0x80,
21507 NULL, HFILL }},
21508 { &hf_gsm_map_om_TraceNE_TypeList_mgw,
21509 { "mgw", "gsm_map.om.mgw",
21510 FT_BOOLEAN, 8, NULL, 0x40,
21511 NULL, HFILL }},
21512 { &hf_gsm_map_om_TraceNE_TypeList_sgsn,
21513 { "sgsn", "gsm_map.om.sgsn",
21514 FT_BOOLEAN, 8, NULL, 0x20,
21515 NULL, HFILL }},
21516 { &hf_gsm_map_om_TraceNE_TypeList_ggsn,
21517 { "ggsn", "gsm_map.om.ggsn",
21518 FT_BOOLEAN, 8, NULL, 0x10,
21519 NULL, HFILL }},
21520 { &hf_gsm_map_om_TraceNE_TypeList_rnc,
21521 { "rnc", "gsm_map.om.rnc",
21522 FT_BOOLEAN, 8, NULL, 0x08,
21523 NULL, HFILL }},
21524 { &hf_gsm_map_om_TraceNE_TypeList_bm_sc,
21525 { "bm-sc", "gsm_map.om.bm-sc",
21526 FT_BOOLEAN, 8, NULL, 0x04,
21527 NULL, HFILL }},
21528 { &hf_gsm_map_om_TraceNE_TypeList_mme,
21529 { "mme", "gsm_map.om.mme",
21530 FT_BOOLEAN, 8, NULL, 0x02,
21531 NULL, HFILL }},
21532 { &hf_gsm_map_om_TraceNE_TypeList_sgw,
21533 { "sgw", "gsm_map.om.sgw",
21534 FT_BOOLEAN, 8, NULL, 0x01,
21535 NULL, HFILL }},
21536 { &hf_gsm_map_om_TraceNE_TypeList_pgw,
21537 { "pgw", "gsm_map.om.pgw",
21538 FT_BOOLEAN, 8, NULL, 0x80,
21539 NULL, HFILL }},
21540 { &hf_gsm_map_om_TraceNE_TypeList_eNB,
21541 { "eNB", "gsm_map.om.eNB",
21542 FT_BOOLEAN, 8, NULL, 0x40,
21543 NULL, HFILL }},
21544 { &hf_gsm_map_om_MSC_S_InterfaceList_a,
21545 { "a", "gsm_map.om.a",
21546 FT_BOOLEAN, 8, NULL, 0x80,
21547 NULL, HFILL }},
21548 { &hf_gsm_map_om_MSC_S_InterfaceList_iu,
21549 { "iu", "gsm_map.om.iu",
21550 FT_BOOLEAN, 8, NULL, 0x40,
21551 NULL, HFILL }},
21552 { &hf_gsm_map_om_MSC_S_InterfaceList_mc,
21553 { "mc", "gsm_map.om.mc",
21554 FT_BOOLEAN, 8, NULL, 0x20,
21555 NULL, HFILL }},
21556 { &hf_gsm_map_om_MSC_S_InterfaceList_map_g,
21557 { "map-g", "gsm_map.om.map-g",
21558 FT_BOOLEAN, 8, NULL, 0x10,
21559 NULL, HFILL }},
21560 { &hf_gsm_map_om_MSC_S_InterfaceList_map_b,
21561 { "map-b", "gsm_map.om.map-b",
21562 FT_BOOLEAN, 8, NULL, 0x08,
21563 NULL, HFILL }},
21564 { &hf_gsm_map_om_MSC_S_InterfaceList_map_e,
21565 { "map-e", "gsm_map.om.map-e",
21566 FT_BOOLEAN, 8, NULL, 0x04,
21567 NULL, HFILL }},
21568 { &hf_gsm_map_om_MSC_S_InterfaceList_map_f,
21569 { "map-f", "gsm_map.om.map-f",
21570 FT_BOOLEAN, 8, NULL, 0x02,
21571 NULL, HFILL }},
21572 { &hf_gsm_map_om_MSC_S_InterfaceList_cap,
21573 { "cap", "gsm_map.om.cap",
21574 FT_BOOLEAN, 8, NULL, 0x01,
21575 NULL, HFILL }},
21576 { &hf_gsm_map_om_MSC_S_InterfaceList_map_d,
21577 { "map-d", "gsm_map.om.map-d",
21578 FT_BOOLEAN, 8, NULL, 0x80,
21579 NULL, HFILL }},
21580 { &hf_gsm_map_om_MSC_S_InterfaceList_map_c,
21581 { "map-c", "gsm_map.om.map-c",
21582 FT_BOOLEAN, 8, NULL, 0x40,
21583 NULL, HFILL }},
21584 { &hf_gsm_map_om_MGW_InterfaceList_mc,
21585 { "mc", "gsm_map.om.mc",
21586 FT_BOOLEAN, 8, NULL, 0x80,
21587 NULL, HFILL }},
21588 { &hf_gsm_map_om_MGW_InterfaceList_nb_up,
21589 { "nb-up", "gsm_map.om.nb-up",
21590 FT_BOOLEAN, 8, NULL, 0x40,
21591 NULL, HFILL }},
21592 { &hf_gsm_map_om_MGW_InterfaceList_iu_up,
21593 { "iu-up", "gsm_map.om.iu-up",
21594 FT_BOOLEAN, 8, NULL, 0x20,
21595 NULL, HFILL }},
21596 { &hf_gsm_map_om_SGSN_InterfaceList_gb,
21597 { "gb", "gsm_map.om.gb",
21598 FT_BOOLEAN, 8, NULL, 0x80,
21599 NULL, HFILL }},
21600 { &hf_gsm_map_om_SGSN_InterfaceList_iu,
21601 { "iu", "gsm_map.om.iu",
21602 FT_BOOLEAN, 8, NULL, 0x40,
21603 NULL, HFILL }},
21604 { &hf_gsm_map_om_SGSN_InterfaceList_gn,
21605 { "gn", "gsm_map.om.gn",
21606 FT_BOOLEAN, 8, NULL, 0x20,
21607 NULL, HFILL }},
21608 { &hf_gsm_map_om_SGSN_InterfaceList_map_gr,
21609 { "map-gr", "gsm_map.om.map-gr",
21610 FT_BOOLEAN, 8, NULL, 0x10,
21611 NULL, HFILL }},
21612 { &hf_gsm_map_om_SGSN_InterfaceList_map_gd,
21613 { "map-gd", "gsm_map.om.map-gd",
21614 FT_BOOLEAN, 8, NULL, 0x08,
21615 NULL, HFILL }},
21616 { &hf_gsm_map_om_SGSN_InterfaceList_map_gf,
21617 { "map-gf", "gsm_map.om.map-gf",
21618 FT_BOOLEAN, 8, NULL, 0x04,
21619 NULL, HFILL }},
21620 { &hf_gsm_map_om_SGSN_InterfaceList_gs,
21621 { "gs", "gsm_map.om.gs",
21622 FT_BOOLEAN, 8, NULL, 0x02,
21623 NULL, HFILL }},
21624 { &hf_gsm_map_om_SGSN_InterfaceList_ge,
21625 { "ge", "gsm_map.om.ge",
21626 FT_BOOLEAN, 8, NULL, 0x01,
21627 NULL, HFILL }},
21628 { &hf_gsm_map_om_SGSN_InterfaceList_s3,
21629 { "s3", "gsm_map.om.s3",
21630 FT_BOOLEAN, 8, NULL, 0x80,
21631 NULL, HFILL }},
21632 { &hf_gsm_map_om_SGSN_InterfaceList_s4,
21633 { "s4", "gsm_map.om.s4",
21634 FT_BOOLEAN, 8, NULL, 0x40,
21635 NULL, HFILL }},
21636 { &hf_gsm_map_om_SGSN_InterfaceList_s6d,
21637 { "s6d", "gsm_map.om.s6d",
21638 FT_BOOLEAN, 8, NULL, 0x20,
21639 NULL, HFILL }},
21640 { &hf_gsm_map_om_GGSN_InterfaceList_gn,
21641 { "gn", "gsm_map.om.gn",
21642 FT_BOOLEAN, 8, NULL, 0x80,
21643 NULL, HFILL }},
21644 { &hf_gsm_map_om_GGSN_InterfaceList_gi,
21645 { "gi", "gsm_map.om.gi",
21646 FT_BOOLEAN, 8, NULL, 0x40,
21647 NULL, HFILL }},
21648 { &hf_gsm_map_om_GGSN_InterfaceList_gmb,
21649 { "gmb", "gsm_map.om.gmb",
21650 FT_BOOLEAN, 8, NULL, 0x20,
21651 NULL, HFILL }},
21652 { &hf_gsm_map_om_RNC_InterfaceList_iu,
21653 { "iu", "gsm_map.om.iu",
21654 FT_BOOLEAN, 8, NULL, 0x80,
21655 NULL, HFILL }},
21656 { &hf_gsm_map_om_RNC_InterfaceList_iur,
21657 { "iur", "gsm_map.om.iur",
21658 FT_BOOLEAN, 8, NULL, 0x40,
21659 NULL, HFILL }},
21660 { &hf_gsm_map_om_RNC_InterfaceList_iub,
21661 { "iub", "gsm_map.om.iub",
21662 FT_BOOLEAN, 8, NULL, 0x20,
21663 NULL, HFILL }},
21664 { &hf_gsm_map_om_RNC_InterfaceList_uu,
21665 { "uu", "gsm_map.om.uu",
21666 FT_BOOLEAN, 8, NULL, 0x10,
21667 NULL, HFILL }},
21668 { &hf_gsm_map_om_BMSC_InterfaceList_gmb,
21669 { "gmb", "gsm_map.om.gmb",
21670 FT_BOOLEAN, 8, NULL, 0x80,
21671 NULL, HFILL }},
21672 { &hf_gsm_map_om_MME_InterfaceList_s1_mme,
21673 { "s1-mme", "gsm_map.om.s1-mme",
21674 FT_BOOLEAN, 8, NULL, 0x80,
21675 NULL, HFILL }},
21676 { &hf_gsm_map_om_MME_InterfaceList_s3,
21677 { "s3", "gsm_map.om.s3",
21678 FT_BOOLEAN, 8, NULL, 0x40,
21679 NULL, HFILL }},
21680 { &hf_gsm_map_om_MME_InterfaceList_s6a,
21681 { "s6a", "gsm_map.om.s6a",
21682 FT_BOOLEAN, 8, NULL, 0x20,
21683 NULL, HFILL }},
21684 { &hf_gsm_map_om_MME_InterfaceList_s10,
21685 { "s10", "gsm_map.om.s10",
21686 FT_BOOLEAN, 8, NULL, 0x10,
21687 NULL, HFILL }},
21688 { &hf_gsm_map_om_MME_InterfaceList_s11,
21689 { "s11", "gsm_map.om.s11",
21690 FT_BOOLEAN, 8, NULL, 0x08,
21691 NULL, HFILL }},
21692 { &hf_gsm_map_om_SGW_InterfaceList_s4,
21693 { "s4", "gsm_map.om.s4",
21694 FT_BOOLEAN, 8, NULL, 0x80,
21695 NULL, HFILL }},
21696 { &hf_gsm_map_om_SGW_InterfaceList_s5,
21697 { "s5", "gsm_map.om.s5",
21698 FT_BOOLEAN, 8, NULL, 0x40,
21699 NULL, HFILL }},
21700 { &hf_gsm_map_om_SGW_InterfaceList_s8b,
21701 { "s8b", "gsm_map.om.s8b",
21702 FT_BOOLEAN, 8, NULL, 0x20,
21703 NULL, HFILL }},
21704 { &hf_gsm_map_om_SGW_InterfaceList_s11,
21705 { "s11", "gsm_map.om.s11",
21706 FT_BOOLEAN, 8, NULL, 0x10,
21707 NULL, HFILL }},
21708 { &hf_gsm_map_om_SGW_InterfaceList_gxc,
21709 { "gxc", "gsm_map.om.gxc",
21710 FT_BOOLEAN, 8, NULL, 0x08,
21711 NULL, HFILL }},
21712 { &hf_gsm_map_om_PGW_InterfaceList_s2a,
21713 { "s2a", "gsm_map.om.s2a",
21714 FT_BOOLEAN, 8, NULL, 0x80,
21715 NULL, HFILL }},
21716 { &hf_gsm_map_om_PGW_InterfaceList_s2b,
21717 { "s2b", "gsm_map.om.s2b",
21718 FT_BOOLEAN, 8, NULL, 0x40,
21719 NULL, HFILL }},
21720 { &hf_gsm_map_om_PGW_InterfaceList_s2c,
21721 { "s2c", "gsm_map.om.s2c",
21722 FT_BOOLEAN, 8, NULL, 0x20,
21723 NULL, HFILL }},
21724 { &hf_gsm_map_om_PGW_InterfaceList_s5,
21725 { "s5", "gsm_map.om.s5",
21726 FT_BOOLEAN, 8, NULL, 0x10,
21727 NULL, HFILL }},
21728 { &hf_gsm_map_om_PGW_InterfaceList_s6b,
21729 { "s6b", "gsm_map.om.s6b",
21730 FT_BOOLEAN, 8, NULL, 0x08,
21731 NULL, HFILL }},
21732 { &hf_gsm_map_om_PGW_InterfaceList_gx,
21733 { "gx", "gsm_map.om.gx",
21734 FT_BOOLEAN, 8, NULL, 0x04,
21735 NULL, HFILL }},
21736 { &hf_gsm_map_om_PGW_InterfaceList_s8b,
21737 { "s8b", "gsm_map.om.s8b",
21738 FT_BOOLEAN, 8, NULL, 0x02,
21739 NULL, HFILL }},
21740 { &hf_gsm_map_om_PGW_InterfaceList_sgi,
21741 { "sgi", "gsm_map.om.sgi",
21742 FT_BOOLEAN, 8, NULL, 0x01,
21743 NULL, HFILL }},
21744 { &hf_gsm_map_om_ENB_InterfaceList_s1_mme,
21745 { "s1-mme", "gsm_map.om.s1-mme",
21746 FT_BOOLEAN, 8, NULL, 0x80,
21747 NULL, HFILL }},
21748 { &hf_gsm_map_om_ENB_InterfaceList_x2,
21749 { "x2", "gsm_map.om.x2",
21750 FT_BOOLEAN, 8, NULL, 0x40,
21751 NULL, HFILL }},
21752 { &hf_gsm_map_om_ENB_InterfaceList_uu,
21753 { "uu", "gsm_map.om.uu",
21754 FT_BOOLEAN, 8, NULL, 0x20,
21755 NULL, HFILL }},
21756 { &hf_gsm_map_om_MSC_S_EventList_mo_mtCall,
21757 { "mo-mtCall", "gsm_map.om.mo-mtCall",
21758 FT_BOOLEAN, 8, NULL, 0x80,
21759 NULL, HFILL }},
21760 { &hf_gsm_map_om_MSC_S_EventList_mo_mt_sms,
21761 { "mo-mt-sms", "gsm_map.om.mo-mt-sms",
21762 FT_BOOLEAN, 8, NULL, 0x40,
21763 NULL, HFILL }},
21764 { &hf_gsm_map_om_MSC_S_EventList_lu_imsiAttach_imsiDetach,
21765 { "lu-imsiAttach-imsiDetach", "gsm_map.om.lu-imsiAttach-imsiDetach",
21766 FT_BOOLEAN, 8, NULL, 0x20,
21767 NULL, HFILL }},
21768 { &hf_gsm_map_om_MSC_S_EventList_handovers,
21769 { "handovers", "gsm_map.om.handovers",
21770 FT_BOOLEAN, 8, NULL, 0x10,
21771 NULL, HFILL }},
21772 { &hf_gsm_map_om_MSC_S_EventList_ss,
21773 { "ss", "gsm_map.om.ss",
21774 FT_BOOLEAN, 8, NULL, 0x08,
21775 NULL, HFILL }},
21776 { &hf_gsm_map_om_MGW_EventList_context,
21777 { "context", "gsm_map.om.context",
21778 FT_BOOLEAN, 8, NULL, 0x80,
21779 NULL, HFILL }},
21780 { &hf_gsm_map_om_SGSN_EventList_pdpContext,
21781 { "pdpContext", "gsm_map.om.pdpContext",
21782 FT_BOOLEAN, 8, NULL, 0x80,
21783 NULL, HFILL }},
21784 { &hf_gsm_map_om_SGSN_EventList_mo_mt_sms,
21785 { "mo-mt-sms", "gsm_map.om.mo-mt-sms",
21786 FT_BOOLEAN, 8, NULL, 0x40,
21787 NULL, HFILL }},
21788 { &hf_gsm_map_om_SGSN_EventList_rau_gprsAttach_gprsDetach,
21789 { "rau-gprsAttach-gprsDetach", "gsm_map.om.rau-gprsAttach-gprsDetach",
21790 FT_BOOLEAN, 8, NULL, 0x20,
21791 NULL, HFILL }},
21792 { &hf_gsm_map_om_SGSN_EventList_mbmsContext,
21793 { "mbmsContext", "gsm_map.om.mbmsContext",
21794 FT_BOOLEAN, 8, NULL, 0x10,
21795 NULL, HFILL }},
21796 { &hf_gsm_map_om_GGSN_EventList_pdpContext,
21797 { "pdpContext", "gsm_map.om.pdpContext",
21798 FT_BOOLEAN, 8, NULL, 0x80,
21799 NULL, HFILL }},
21800 { &hf_gsm_map_om_GGSN_EventList_mbmsContext,
21801 { "mbmsContext", "gsm_map.om.mbmsContext",
21802 FT_BOOLEAN, 8, NULL, 0x40,
21803 NULL, HFILL }},
21804 { &hf_gsm_map_om_BMSC_EventList_mbmsMulticastServiceActivation,
21805 { "mbmsMulticastServiceActivation", "gsm_map.om.mbmsMulticastServiceActivation",
21806 FT_BOOLEAN, 8, NULL, 0x80,
21807 NULL, HFILL }},
21808 { &hf_gsm_map_om_MME_EventList_ue_initiatedPDNconectivityRequest,
21809 { "ue-initiatedPDNconectivityRequest", "gsm_map.om.ue-initiatedPDNconectivityRequest",
21810 FT_BOOLEAN, 8, NULL, 0x80,
21811 NULL, HFILL }},
21812 { &hf_gsm_map_om_MME_EventList_serviceRequestts,
21813 { "serviceRequestts", "gsm_map.om.serviceRequestts",
21814 FT_BOOLEAN, 8, NULL, 0x40,
21815 NULL, HFILL }},
21816 { &hf_gsm_map_om_MME_EventList_initialAttachTrackingAreaUpdateDetach,
21817 { "initialAttachTrackingAreaUpdateDetach", "gsm_map.om.initialAttachTrackingAreaUpdateDetach",
21818 FT_BOOLEAN, 8, NULL, 0x20,
21819 NULL, HFILL }},
21820 { &hf_gsm_map_om_MME_EventList_ue_initiatedPDNdisconnection,
21821 { "ue-initiatedPDNdisconnection", "gsm_map.om.ue-initiatedPDNdisconnection",
21822 FT_BOOLEAN, 8, NULL, 0x10,
21823 NULL, HFILL }},
21824 { &hf_gsm_map_om_MME_EventList_bearerActivationModificationDeletion,
21825 { "bearerActivationModificationDeletion", "gsm_map.om.bearerActivationModificationDeletion",
21826 FT_BOOLEAN, 8, NULL, 0x08,
21827 NULL, HFILL }},
21828 { &hf_gsm_map_om_MME_EventList_handover,
21829 { "handover", "gsm_map.om.handover",
21830 FT_BOOLEAN, 8, NULL, 0x04,
21831 NULL, HFILL }},
21832 { &hf_gsm_map_om_SGW_EventList_pdn_connectionCreation,
21833 { "pdn-connectionCreation", "gsm_map.om.pdn-connectionCreation",
21834 FT_BOOLEAN, 8, NULL, 0x80,
21835 NULL, HFILL }},
21836 { &hf_gsm_map_om_SGW_EventList_pdn_connectionTermination,
21837 { "pdn-connectionTermination", "gsm_map.om.pdn-connectionTermination",
21838 FT_BOOLEAN, 8, NULL, 0x40,
21839 NULL, HFILL }},
21840 { &hf_gsm_map_om_SGW_EventList_bearerActivationModificationDeletion,
21841 { "bearerActivationModificationDeletion", "gsm_map.om.bearerActivationModificationDeletion",
21842 FT_BOOLEAN, 8, NULL, 0x20,
21843 NULL, HFILL }},
21844 { &hf_gsm_map_om_PGW_EventList_pdn_connectionCreation,
21845 { "pdn-connectionCreation", "gsm_map.om.pdn-connectionCreation",
21846 FT_BOOLEAN, 8, NULL, 0x80,
21847 NULL, HFILL }},
21848 { &hf_gsm_map_om_PGW_EventList_pdn_connectionTermination,
21849 { "pdn-connectionTermination", "gsm_map.om.pdn-connectionTermination",
21850 FT_BOOLEAN, 8, NULL, 0x40,
21851 NULL, HFILL }},
21852 { &hf_gsm_map_om_PGW_EventList_bearerActivationModificationDeletion,
21853 { "bearerActivationModificationDeletion", "gsm_map.om.bearerActivationModificationDeletion",
21854 FT_BOOLEAN, 8, NULL, 0x20,
21855 NULL, HFILL }},
21857 /* --- Module MAP-MS-DataTypes --- --- --- */
21859 { &hf_gsm_map_ms_imsi,
21860 { "imsi", "gsm_map.ms.imsi",
21861 FT_BYTES, BASE_NONE, NULL, 0,
21862 NULL, HFILL }},
21863 { &hf_gsm_map_ms_msc_Number,
21864 { "msc-Number", "gsm_map.ms.msc_Number",
21865 FT_BYTES, BASE_NONE, NULL, 0,
21866 "ISDN_AddressString", HFILL }},
21867 { &hf_gsm_map_ms_vlr_Number,
21868 { "vlr-Number", "gsm_map.ms.vlr_Number",
21869 FT_BYTES, BASE_NONE, NULL, 0,
21870 "ISDN_AddressString", HFILL }},
21871 { &hf_gsm_map_ms_lmsi,
21872 { "lmsi", "gsm_map.ms.lmsi",
21873 FT_BYTES, BASE_NONE, NULL, 0,
21874 NULL, HFILL }},
21875 { &hf_gsm_map_ms_extensionContainer,
21876 { "extensionContainer", "gsm_map.ms.extensionContainer_element",
21877 FT_NONE, BASE_NONE, NULL, 0,
21878 NULL, HFILL }},
21879 { &hf_gsm_map_ms_vlr_Capability,
21880 { "vlr-Capability", "gsm_map.ms.vlr_Capability_element",
21881 FT_NONE, BASE_NONE, NULL, 0,
21882 NULL, HFILL }},
21883 { &hf_gsm_map_ms_informPreviousNetworkEntity,
21884 { "informPreviousNetworkEntity", "gsm_map.ms.informPreviousNetworkEntity_element",
21885 FT_NONE, BASE_NONE, NULL, 0,
21886 NULL, HFILL }},
21887 { &hf_gsm_map_ms_cs_LCS_NotSupportedByUE,
21888 { "cs-LCS-NotSupportedByUE", "gsm_map.ms.cs_LCS_NotSupportedByUE_element",
21889 FT_NONE, BASE_NONE, NULL, 0,
21890 NULL, HFILL }},
21891 { &hf_gsm_map_ms_v_gmlc_Address,
21892 { "v-gmlc-Address", "gsm_map.ms.v_gmlc_Address",
21893 FT_BYTES, BASE_NONE, NULL, 0,
21894 "GSN_Address", HFILL }},
21895 { &hf_gsm_map_ms_add_info,
21896 { "add-info", "gsm_map.ms.add_info_element",
21897 FT_NONE, BASE_NONE, NULL, 0,
21898 NULL, HFILL }},
21899 { &hf_gsm_map_ms_pagingArea,
21900 { "pagingArea", "gsm_map.ms.pagingArea",
21901 FT_UINT32, BASE_DEC, NULL, 0,
21902 NULL, HFILL }},
21903 { &hf_gsm_map_ms_skipSubscriberDataUpdate,
21904 { "skipSubscriberDataUpdate", "gsm_map.ms.skipSubscriberDataUpdate_element",
21905 FT_NONE, BASE_NONE, NULL, 0,
21906 NULL, HFILL }},
21907 { &hf_gsm_map_ms_restorationIndicator,
21908 { "restorationIndicator", "gsm_map.ms.restorationIndicator_element",
21909 FT_NONE, BASE_NONE, NULL, 0,
21910 NULL, HFILL }},
21911 { &hf_gsm_map_ms_eplmn_List,
21912 { "eplmn-List", "gsm_map.ms.eplmn_List",
21913 FT_UINT32, BASE_DEC, NULL, 0,
21914 NULL, HFILL }},
21915 { &hf_gsm_map_ms_mme_DiameterAddress,
21916 { "mme-DiameterAddress", "gsm_map.ms.mme_DiameterAddress_element",
21917 FT_NONE, BASE_NONE, NULL, 0,
21918 "NetworkNodeDiameterAddress", HFILL }},
21919 { &hf_gsm_map_ms_supportedCamelPhases,
21920 { "supportedCamelPhases", "gsm_map.ms.supportedCamelPhases",
21921 FT_BYTES, BASE_NONE, NULL, 0,
21922 NULL, HFILL }},
21923 { &hf_gsm_map_ms_solsaSupportIndicator,
21924 { "solsaSupportIndicator", "gsm_map.ms.solsaSupportIndicator_element",
21925 FT_NONE, BASE_NONE, NULL, 0,
21926 NULL, HFILL }},
21927 { &hf_gsm_map_ms_istSupportIndicator,
21928 { "istSupportIndicator", "gsm_map.ms.istSupportIndicator",
21929 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_IST_SupportIndicator_vals), 0,
21930 "IST_SupportIndicator", HFILL }},
21931 { &hf_gsm_map_ms_superChargerSupportedInServingNetworkEntity,
21932 { "superChargerSupportedInServingNetworkEntity", "gsm_map.ms.superChargerSupportedInServingNetworkEntity",
21933 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SuperChargerInfo_vals), 0,
21934 "SuperChargerInfo", HFILL }},
21935 { &hf_gsm_map_ms_longFTN_Supported,
21936 { "longFTN-Supported", "gsm_map.ms.longFTN_Supported_element",
21937 FT_NONE, BASE_NONE, NULL, 0,
21938 NULL, HFILL }},
21939 { &hf_gsm_map_ms_supportedLCS_CapabilitySets,
21940 { "supportedLCS-CapabilitySets", "gsm_map.ms.supportedLCS_CapabilitySets",
21941 FT_BYTES, BASE_NONE, NULL, 0,
21942 NULL, HFILL }},
21943 { &hf_gsm_map_ms_offeredCamel4CSIs,
21944 { "offeredCamel4CSIs", "gsm_map.ms.offeredCamel4CSIs",
21945 FT_BYTES, BASE_NONE, NULL, 0,
21946 NULL, HFILL }},
21947 { &hf_gsm_map_ms_supportedRAT_TypesIndicator,
21948 { "supportedRAT-TypesIndicator", "gsm_map.ms.supportedRAT_TypesIndicator",
21949 FT_BYTES, BASE_NONE, NULL, 0,
21950 "SupportedRAT_Types", HFILL }},
21951 { &hf_gsm_map_ms_longGroupID_Supported,
21952 { "longGroupID-Supported", "gsm_map.ms.longGroupID_Supported_element",
21953 FT_NONE, BASE_NONE, NULL, 0,
21954 NULL, HFILL }},
21955 { &hf_gsm_map_ms_mtRoamingForwardingSupported,
21956 { "mtRoamingForwardingSupported", "gsm_map.ms.mtRoamingForwardingSupported_element",
21957 FT_NONE, BASE_NONE, NULL, 0,
21958 NULL, HFILL }},
21959 { &hf_gsm_map_ms_msisdn_lessOperation_Supported,
21960 { "msisdn-lessOperation-Supported", "gsm_map.ms.msisdn_lessOperation_Supported_element",
21961 FT_NONE, BASE_NONE, NULL, 0,
21962 NULL, HFILL }},
21963 { &hf_gsm_map_ms_sendSubscriberData,
21964 { "sendSubscriberData", "gsm_map.ms.sendSubscriberData_element",
21965 FT_NONE, BASE_NONE, NULL, 0,
21966 NULL, HFILL }},
21967 { &hf_gsm_map_ms_subscriberDataStored,
21968 { "subscriberDataStored", "gsm_map.ms.subscriberDataStored",
21969 FT_BYTES, BASE_NONE, NULL, 0,
21970 "AgeIndicator", HFILL }},
21971 { &hf_gsm_map_ms_hlr_Number,
21972 { "hlr-Number", "gsm_map.ms.hlr_Number",
21973 FT_BYTES, BASE_NONE, NULL, 0,
21974 "ISDN_AddressString", HFILL }},
21975 { &hf_gsm_map_ms_add_Capability,
21976 { "add-Capability", "gsm_map.ms.add_Capability_element",
21977 FT_NONE, BASE_NONE, NULL, 0,
21978 NULL, HFILL }},
21979 { &hf_gsm_map_ms_pagingArea_Capability,
21980 { "pagingArea-Capability", "gsm_map.ms.pagingArea_Capability_element",
21981 FT_NONE, BASE_NONE, NULL, 0,
21982 NULL, HFILL }},
21983 { &hf_gsm_map_ms_imeisv,
21984 { "imeisv", "gsm_map.ms.imeisv",
21985 FT_BYTES, BASE_NONE, NULL, 0,
21986 "IMEI", HFILL }},
21987 { &hf_gsm_map_ms_PagingArea_item,
21988 { "LocationArea", "gsm_map.ms.LocationArea",
21989 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_LocationArea_vals), 0,
21990 NULL, HFILL }},
21991 { &hf_gsm_map_ms_laiFixedLength,
21992 { "laiFixedLength", "gsm_map.ms.laiFixedLength",
21993 FT_BYTES, BASE_NONE, NULL, 0,
21994 NULL, HFILL }},
21995 { &hf_gsm_map_ms_lac,
21996 { "lac", "gsm_map.ms.lac",
21997 FT_BYTES, BASE_NONE, NULL, 0,
21998 NULL, HFILL }},
21999 { &hf_gsm_map_ms_identity,
22000 { "identity", "gsm_map.ms.identity",
22001 FT_UINT32, BASE_DEC, VALS(gsm_map_Identity_vals), 0,
22002 NULL, HFILL }},
22003 { &hf_gsm_map_ms_cancellationType,
22004 { "cancellationType", "gsm_map.ms.cancellationType",
22005 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_CancellationType_vals), 0,
22006 NULL, HFILL }},
22007 { &hf_gsm_map_ms_typeOfUpdate,
22008 { "typeOfUpdate", "gsm_map.ms.typeOfUpdate",
22009 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_TypeOfUpdate_vals), 0,
22010 NULL, HFILL }},
22011 { &hf_gsm_map_ms_mtrf_SupportedAndAuthorized,
22012 { "mtrf-SupportedAndAuthorized", "gsm_map.ms.mtrf_SupportedAndAuthorized_element",
22013 FT_NONE, BASE_NONE, NULL, 0,
22014 NULL, HFILL }},
22015 { &hf_gsm_map_ms_mtrf_SupportedAndNotAuthorized,
22016 { "mtrf-SupportedAndNotAuthorized", "gsm_map.ms.mtrf_SupportedAndNotAuthorized_element",
22017 FT_NONE, BASE_NONE, NULL, 0,
22018 NULL, HFILL }},
22019 { &hf_gsm_map_ms_newMSC_Number,
22020 { "newMSC-Number", "gsm_map.ms.newMSC_Number",
22021 FT_BYTES, BASE_NONE, NULL, 0,
22022 "ISDN_AddressString", HFILL }},
22023 { &hf_gsm_map_ms_newVLR_Number,
22024 { "newVLR-Number", "gsm_map.ms.newVLR_Number",
22025 FT_BYTES, BASE_NONE, NULL, 0,
22026 "ISDN_AddressString", HFILL }},
22027 { &hf_gsm_map_ms_new_lmsi,
22028 { "new-lmsi", "gsm_map.ms.new_lmsi",
22029 FT_BYTES, BASE_NONE, NULL, 0,
22030 "LMSI", HFILL }},
22031 { &hf_gsm_map_ms_sgsn_Number,
22032 { "sgsn-Number", "gsm_map.ms.sgsn_Number",
22033 FT_BYTES, BASE_NONE, NULL, 0,
22034 "ISDN_AddressString", HFILL }},
22035 { &hf_gsm_map_ms_freezeTMSI,
22036 { "freezeTMSI", "gsm_map.ms.freezeTMSI_element",
22037 FT_NONE, BASE_NONE, NULL, 0,
22038 NULL, HFILL }},
22039 { &hf_gsm_map_ms_freezeP_TMSI,
22040 { "freezeP-TMSI", "gsm_map.ms.freezeP_TMSI_element",
22041 FT_NONE, BASE_NONE, NULL, 0,
22042 NULL, HFILL }},
22043 { &hf_gsm_map_ms_freezeM_TMSI,
22044 { "freezeM-TMSI", "gsm_map.ms.freezeM_TMSI_element",
22045 FT_NONE, BASE_NONE, NULL, 0,
22046 NULL, HFILL }},
22047 { &hf_gsm_map_ms_tmsi,
22048 { "tmsi", "gsm_map.ms.tmsi",
22049 FT_BYTES, BASE_NONE, NULL, 0,
22050 NULL, HFILL }},
22051 { &hf_gsm_map_ms_numberOfRequestedVectors,
22052 { "numberOfRequestedVectors", "gsm_map.ms.numberOfRequestedVectors",
22053 FT_UINT32, BASE_DEC, NULL, 0,
22054 NULL, HFILL }},
22055 { &hf_gsm_map_ms_segmentationProhibited,
22056 { "segmentationProhibited", "gsm_map.ms.segmentationProhibited_element",
22057 FT_NONE, BASE_NONE, NULL, 0,
22058 NULL, HFILL }},
22059 { &hf_gsm_map_ms_previous_LAI,
22060 { "previous-LAI", "gsm_map.ms.previous_LAI",
22061 FT_BYTES, BASE_NONE, NULL, 0,
22062 "LAIFixedLength", HFILL }},
22063 { &hf_gsm_map_ms_hopCounter,
22064 { "hopCounter", "gsm_map.ms.hopCounter",
22065 FT_UINT32, BASE_DEC, NULL, 0,
22066 NULL, HFILL }},
22067 { &hf_gsm_map_ms_authenticationSetList,
22068 { "authenticationSetList", "gsm_map.ms.authenticationSetList",
22069 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_AuthenticationSetList_vals), 0,
22070 NULL, HFILL }},
22071 { &hf_gsm_map_ms_currentSecurityContext,
22072 { "currentSecurityContext", "gsm_map.ms.currentSecurityContext",
22073 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_CurrentSecurityContext_vals), 0,
22074 NULL, HFILL }},
22075 { &hf_gsm_map_ms_tripletList,
22076 { "tripletList", "gsm_map.ms.tripletList",
22077 FT_UINT32, BASE_DEC, NULL, 0,
22078 NULL, HFILL }},
22079 { &hf_gsm_map_ms_quintupletList,
22080 { "quintupletList", "gsm_map.ms.quintupletList",
22081 FT_UINT32, BASE_DEC, NULL, 0,
22082 NULL, HFILL }},
22083 { &hf_gsm_map_ms_TripletList_item,
22084 { "AuthenticationTriplet", "gsm_map.ms.AuthenticationTriplet_element",
22085 FT_NONE, BASE_NONE, NULL, 0,
22086 NULL, HFILL }},
22087 { &hf_gsm_map_ms_QuintupletList_item,
22088 { "AuthenticationQuintuplet", "gsm_map.ms.AuthenticationQuintuplet_element",
22089 FT_NONE, BASE_NONE, NULL, 0,
22090 NULL, HFILL }},
22091 { &hf_gsm_map_ms_rand,
22092 { "rand", "gsm_map.ms.rand",
22093 FT_BYTES, BASE_NONE, NULL, 0,
22094 NULL, HFILL }},
22095 { &hf_gsm_map_ms_sres,
22096 { "sres", "gsm_map.ms.sres",
22097 FT_BYTES, BASE_NONE, NULL, 0,
22098 NULL, HFILL }},
22099 { &hf_gsm_map_ms_kc,
22100 { "kc", "gsm_map.ms.kc",
22101 FT_BYTES, BASE_NONE, NULL, 0,
22102 NULL, HFILL }},
22103 { &hf_gsm_map_ms_xres,
22104 { "xres", "gsm_map.ms.xres",
22105 FT_BYTES, BASE_NONE, NULL, 0,
22106 NULL, HFILL }},
22107 { &hf_gsm_map_ms_ck,
22108 { "ck", "gsm_map.ms.ck",
22109 FT_BYTES, BASE_NONE, NULL, 0,
22110 NULL, HFILL }},
22111 { &hf_gsm_map_ms_ik,
22112 { "ik", "gsm_map.ms.ik",
22113 FT_BYTES, BASE_NONE, NULL, 0,
22114 NULL, HFILL }},
22115 { &hf_gsm_map_ms_autn,
22116 { "autn", "gsm_map.ms.autn",
22117 FT_BYTES, BASE_NONE, NULL, 0,
22118 NULL, HFILL }},
22119 { &hf_gsm_map_ms_gsm_SecurityContextData,
22120 { "gsm-SecurityContextData", "gsm_map.ms.gsm_SecurityContextData_element",
22121 FT_NONE, BASE_NONE, NULL, 0,
22122 NULL, HFILL }},
22123 { &hf_gsm_map_ms_umts_SecurityContextData,
22124 { "umts-SecurityContextData", "gsm_map.ms.umts_SecurityContextData_element",
22125 FT_NONE, BASE_NONE, NULL, 0,
22126 NULL, HFILL }},
22127 { &hf_gsm_map_ms_cksn,
22128 { "cksn", "gsm_map.ms.cksn",
22129 FT_BYTES, BASE_NONE, NULL, 0,
22130 NULL, HFILL }},
22131 { &hf_gsm_map_ms_ksi,
22132 { "ksi", "gsm_map.ms.ksi",
22133 FT_BYTES, BASE_NONE, NULL, 0,
22134 NULL, HFILL }},
22135 { &hf_gsm_map_ms_failureCause,
22136 { "failureCause", "gsm_map.ms.failureCause",
22137 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_FailureCause_vals), 0,
22138 NULL, HFILL }},
22139 { &hf_gsm_map_ms_re_attempt,
22140 { "re-attempt", "gsm_map.ms.re_attempt",
22141 FT_BOOLEAN, BASE_NONE, NULL, 0,
22142 "BOOLEAN", HFILL }},
22143 { &hf_gsm_map_ms_accessType,
22144 { "accessType", "gsm_map.ms.accessType",
22145 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_AccessType_vals), 0,
22146 NULL, HFILL }},
22147 { &hf_gsm_map_ms_sgsn_Address,
22148 { "sgsn-Address", "gsm_map.ms.sgsn_Address",
22149 FT_BYTES, BASE_NONE, NULL, 0,
22150 "GSN_Address", HFILL }},
22151 { &hf_gsm_map_ms_sgsn_Capability,
22152 { "sgsn-Capability", "gsm_map.ms.sgsn_Capability_element",
22153 FT_NONE, BASE_NONE, NULL, 0,
22154 NULL, HFILL }},
22155 { &hf_gsm_map_ms_ps_LCS_NotSupportedByUE,
22156 { "ps-LCS-NotSupportedByUE", "gsm_map.ms.ps_LCS_NotSupportedByUE_element",
22157 FT_NONE, BASE_NONE, NULL, 0,
22158 NULL, HFILL }},
22159 { &hf_gsm_map_ms_eps_info,
22160 { "eps-info", "gsm_map.ms.eps_info",
22161 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_EPS_Info_vals), 0,
22162 NULL, HFILL }},
22163 { &hf_gsm_map_ms_servingNodeTypeIndicator,
22164 { "servingNodeTypeIndicator", "gsm_map.ms.servingNodeTypeIndicator_element",
22165 FT_NONE, BASE_NONE, NULL, 0,
22166 NULL, HFILL }},
22167 { &hf_gsm_map_ms_usedRAT_Type,
22168 { "usedRAT-Type", "gsm_map.ms.usedRAT_Type",
22169 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_Used_RAT_Type_vals), 0,
22170 "Used_RAT_Type", HFILL }},
22171 { &hf_gsm_map_ms_gprsSubscriptionDataNotNeeded,
22172 { "gprsSubscriptionDataNotNeeded", "gsm_map.ms.gprsSubscriptionDataNotNeeded_element",
22173 FT_NONE, BASE_NONE, NULL, 0,
22174 NULL, HFILL }},
22175 { &hf_gsm_map_ms_nodeTypeIndicator,
22176 { "nodeTypeIndicator", "gsm_map.ms.nodeTypeIndicator_element",
22177 FT_NONE, BASE_NONE, NULL, 0,
22178 NULL, HFILL }},
22179 { &hf_gsm_map_ms_areaRestricted,
22180 { "areaRestricted", "gsm_map.ms.areaRestricted_element",
22181 FT_NONE, BASE_NONE, NULL, 0,
22182 NULL, HFILL }},
22183 { &hf_gsm_map_ms_ue_reachableIndicator,
22184 { "ue-reachableIndicator", "gsm_map.ms.ue_reachableIndicator_element",
22185 FT_NONE, BASE_NONE, NULL, 0,
22186 NULL, HFILL }},
22187 { &hf_gsm_map_ms_epsSubscriptionDataNotNeeded,
22188 { "epsSubscriptionDataNotNeeded", "gsm_map.ms.epsSubscriptionDataNotNeeded_element",
22189 FT_NONE, BASE_NONE, NULL, 0,
22190 NULL, HFILL }},
22191 { &hf_gsm_map_ms_ue_srvcc_Capability,
22192 { "ue-srvcc-Capability", "gsm_map.ms.ue_srvcc_Capability",
22193 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_UE_SRVCC_Capability_vals), 0,
22194 NULL, HFILL }},
22195 { &hf_gsm_map_ms_mmeNumberforMTSMS,
22196 { "mmeNumberforMTSMS", "gsm_map.ms.mmeNumberforMTSMS",
22197 FT_BYTES, BASE_NONE, NULL, 0,
22198 "ISDN_AddressString", HFILL }},
22199 { &hf_gsm_map_ms_smsRegisterRequest,
22200 { "smsRegisterRequest", "gsm_map.ms.smsRegisterRequest",
22201 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SMSRegisterRequest_vals), 0,
22202 NULL, HFILL }},
22203 { &hf_gsm_map_ms_sms_Only,
22204 { "sms-Only", "gsm_map.ms.sms_Only_element",
22205 FT_NONE, BASE_NONE, NULL, 0,
22206 NULL, HFILL }},
22207 { &hf_gsm_map_ms_pdn_gw_update,
22208 { "pdn-gw-update", "gsm_map.ms.pdn_gw_update_element",
22209 FT_NONE, BASE_NONE, NULL, 0,
22210 NULL, HFILL }},
22211 { &hf_gsm_map_ms_isr_Information,
22212 { "isr-Information", "gsm_map.ms.isr_Information",
22213 FT_BYTES, BASE_NONE, NULL, 0,
22214 NULL, HFILL }},
22215 { &hf_gsm_map_ms_apn,
22216 { "apn", "gsm_map.ms.apn",
22217 FT_BYTES, BASE_NONE, NULL, 0,
22218 NULL, HFILL }},
22219 { &hf_gsm_map_ms_pdn_gw_Identity,
22220 { "pdn-gw-Identity", "gsm_map.ms.pdn_gw_Identity_element",
22221 FT_NONE, BASE_NONE, NULL, 0,
22222 NULL, HFILL }},
22223 { &hf_gsm_map_ms_contextId,
22224 { "contextId", "gsm_map.ms.contextId",
22225 FT_UINT32, BASE_DEC, NULL, 0,
22226 NULL, HFILL }},
22227 { &hf_gsm_map_ms_gprsEnhancementsSupportIndicator,
22228 { "gprsEnhancementsSupportIndicator", "gsm_map.ms.gprsEnhancementsSupportIndicator_element",
22229 FT_NONE, BASE_NONE, NULL, 0,
22230 NULL, HFILL }},
22231 { &hf_gsm_map_ms_smsCallBarringSupportIndicator,
22232 { "smsCallBarringSupportIndicator", "gsm_map.ms.smsCallBarringSupportIndicator_element",
22233 FT_NONE, BASE_NONE, NULL, 0,
22234 NULL, HFILL }},
22235 { &hf_gsm_map_ms_supportedFeatures,
22236 { "supportedFeatures", "gsm_map.ms.supportedFeatures",
22237 FT_BYTES, BASE_NONE, NULL, 0,
22238 NULL, HFILL }},
22239 { &hf_gsm_map_ms_t_adsDataRetrieval,
22240 { "t-adsDataRetrieval", "gsm_map.ms.t_adsDataRetrieval_element",
22241 FT_NONE, BASE_NONE, NULL, 0,
22242 NULL, HFILL }},
22243 { &hf_gsm_map_ms_homogeneousSupportOfIMSVoiceOverPSSessions,
22244 { "homogeneousSupportOfIMSVoiceOverPSSessions", "gsm_map.ms.homogeneousSupportOfIMSVoiceOverPSSessions",
22245 FT_BOOLEAN, BASE_NONE, NULL, 0,
22246 "BOOLEAN", HFILL }},
22247 { &hf_gsm_map_ms_cancellationTypeInitialAttach,
22248 { "cancellationTypeInitialAttach", "gsm_map.ms.cancellationTypeInitialAttach_element",
22249 FT_NONE, BASE_NONE, NULL, 0,
22250 NULL, HFILL }},
22251 { &hf_gsm_map_ms_additionalMsisdnSupport,
22252 { "additionalMsisdnSupport", "gsm_map.ms.additionalMsisdnSupport_element",
22253 FT_NONE, BASE_NONE, NULL, 0,
22254 NULL, HFILL }},
22255 { &hf_gsm_map_ms_sgsn_mmeSeparationSupported,
22256 { "sgsn-mmeSeparationSupported", "gsm_map.ms.sgsn_mmeSeparationSupported_element",
22257 FT_NONE, BASE_NONE, NULL, 0,
22258 NULL, HFILL }},
22259 { &hf_gsm_map_ms_mmeRegisteredforSMS,
22260 { "mmeRegisteredforSMS", "gsm_map.ms.mmeRegisteredforSMS_element",
22261 FT_NONE, BASE_NONE, NULL, 0,
22262 NULL, HFILL }},
22263 { &hf_gsm_map_ms_EPLMN_List_item,
22264 { "PLMN-Id", "gsm_map.ms.PLMN_Id",
22265 FT_BYTES, BASE_NONE, NULL, 0,
22266 NULL, HFILL }},
22267 { &hf_gsm_map_ms_an_APDU,
22268 { "an-APDU", "gsm_map.ms.an_APDU_element",
22269 FT_NONE, BASE_NONE, NULL, 0,
22270 "AccessNetworkSignalInfo", HFILL }},
22271 { &hf_gsm_map_ms_integrityProtectionInfo,
22272 { "integrityProtectionInfo", "gsm_map.ms.integrityProtectionInfo",
22273 FT_BYTES, BASE_NONE, NULL, 0,
22274 "IntegrityProtectionInformation", HFILL }},
22275 { &hf_gsm_map_ms_encryptionInfo,
22276 { "encryptionInfo", "gsm_map.ms.encryptionInfo",
22277 FT_BYTES, BASE_NONE, NULL, 0,
22278 "EncryptionInformation", HFILL }},
22279 { &hf_gsm_map_ms_keyStatus,
22280 { "keyStatus", "gsm_map.ms.keyStatus",
22281 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_KeyStatus_vals), 0,
22282 NULL, HFILL }},
22283 { &hf_gsm_map_ms_allowedGSM_Algorithms,
22284 { "allowedGSM-Algorithms", "gsm_map.ms.allowedGSM_Algorithms",
22285 FT_BYTES, BASE_NONE, NULL, 0,
22286 NULL, HFILL }},
22287 { &hf_gsm_map_ms_allowedUMTS_Algorithms,
22288 { "allowedUMTS-Algorithms", "gsm_map.ms.allowedUMTS_Algorithms_element",
22289 FT_NONE, BASE_NONE, NULL, 0,
22290 NULL, HFILL }},
22291 { &hf_gsm_map_ms_radioResourceInformation,
22292 { "radioResourceInformation", "gsm_map.ms.radioResourceInformation",
22293 FT_BYTES, BASE_NONE, NULL, 0,
22294 NULL, HFILL }},
22295 { &hf_gsm_map_ms_radioResourceList,
22296 { "radioResourceList", "gsm_map.ms.radioResourceList",
22297 FT_UINT32, BASE_DEC, NULL, 0,
22298 NULL, HFILL }},
22299 { &hf_gsm_map_ms_bssmap_ServiceHandover,
22300 { "bssmap-ServiceHandover", "gsm_map.ms.bssmap_ServiceHandover",
22301 FT_BYTES, BASE_NONE, NULL, 0,
22302 NULL, HFILL }},
22303 { &hf_gsm_map_ms_ranap_ServiceHandover,
22304 { "ranap-ServiceHandover", "gsm_map.ms.ranap_ServiceHandover",
22305 FT_BYTES, BASE_NONE, NULL, 0,
22306 NULL, HFILL }},
22307 { &hf_gsm_map_ms_bssmap_ServiceHandoverList,
22308 { "bssmap-ServiceHandoverList", "gsm_map.ms.bssmap_ServiceHandoverList",
22309 FT_UINT32, BASE_DEC, NULL, 0,
22310 NULL, HFILL }},
22311 { &hf_gsm_map_ms_currentlyUsedCodec,
22312 { "currentlyUsedCodec", "gsm_map.ms.currentlyUsedCodec",
22313 FT_BYTES, BASE_NONE, NULL, 0,
22314 "Codec", HFILL }},
22315 { &hf_gsm_map_ms_iuSupportedCodecsList,
22316 { "iuSupportedCodecsList", "gsm_map.ms.iuSupportedCodecsList_element",
22317 FT_NONE, BASE_NONE, NULL, 0,
22318 "SupportedCodecsList", HFILL }},
22319 { &hf_gsm_map_ms_rab_ConfigurationIndicator,
22320 { "rab-ConfigurationIndicator", "gsm_map.ms.rab_ConfigurationIndicator_element",
22321 FT_NONE, BASE_NONE, NULL, 0,
22322 NULL, HFILL }},
22323 { &hf_gsm_map_ms_iuSelectedCodec,
22324 { "iuSelectedCodec", "gsm_map.ms.iuSelectedCodec",
22325 FT_BYTES, BASE_NONE, NULL, 0,
22326 "Codec", HFILL }},
22327 { &hf_gsm_map_ms_alternativeChannelType,
22328 { "alternativeChannelType", "gsm_map.ms.alternativeChannelType",
22329 FT_BYTES, BASE_NONE, NULL, 0,
22330 "RadioResourceInformation", HFILL }},
22331 { &hf_gsm_map_ms_tracePropagationList,
22332 { "tracePropagationList", "gsm_map.ms.tracePropagationList_element",
22333 FT_NONE, BASE_NONE, NULL, 0,
22334 NULL, HFILL }},
22335 { &hf_gsm_map_ms_aoipSupportedCodecsListAnchor,
22336 { "aoipSupportedCodecsListAnchor", "gsm_map.ms.aoipSupportedCodecsListAnchor_element",
22337 FT_NONE, BASE_NONE, NULL, 0,
22338 "AoIPCodecsList", HFILL }},
22339 { &hf_gsm_map_ms_aoipSelectedCodecTarget,
22340 { "aoipSelectedCodecTarget", "gsm_map.ms.aoipSelectedCodecTarget",
22341 FT_BYTES, BASE_NONE, NULL, 0,
22342 "AoIPCodec", HFILL }},
22343 { &hf_gsm_map_ms_integrityProtectionAlgorithms,
22344 { "integrityProtectionAlgorithms", "gsm_map.ms.integrityProtectionAlgorithms",
22345 FT_BYTES, BASE_NONE, NULL, 0,
22346 "PermittedIntegrityProtectionAlgorithms", HFILL }},
22347 { &hf_gsm_map_ms_encryptionAlgorithms,
22348 { "encryptionAlgorithms", "gsm_map.ms.encryptionAlgorithms",
22349 FT_BYTES, BASE_NONE, NULL, 0,
22350 "PermittedEncryptionAlgorithms", HFILL }},
22351 { &hf_gsm_map_ms_targetCellId,
22352 { "targetCellId", "gsm_map.ms.targetCellId",
22353 FT_BYTES, BASE_NONE, NULL, 0,
22354 "GlobalCellId", HFILL }},
22355 { &hf_gsm_map_ms_ho_NumberNotRequired,
22356 { "ho-NumberNotRequired", "gsm_map.ms.ho_NumberNotRequired_element",
22357 FT_NONE, BASE_NONE, NULL, 0,
22358 NULL, HFILL }},
22359 { &hf_gsm_map_ms_targetRNCId,
22360 { "targetRNCId", "gsm_map.ms.targetRNCId",
22361 FT_BYTES, BASE_NONE, NULL, 0,
22362 "RNCId", HFILL }},
22363 { &hf_gsm_map_ms_multipleBearerRequested,
22364 { "multipleBearerRequested", "gsm_map.ms.multipleBearerRequested_element",
22365 FT_NONE, BASE_NONE, NULL, 0,
22366 NULL, HFILL }},
22367 { &hf_gsm_map_ms_rab_Id,
22368 { "rab-Id", "gsm_map.ms.rab_Id",
22369 FT_UINT32, BASE_DEC, NULL, 0,
22370 NULL, HFILL }},
22371 { &hf_gsm_map_ms_asciCallReference,
22372 { "asciCallReference", "gsm_map.ms.asciCallReference",
22373 FT_BYTES, BASE_NONE, NULL, 0,
22374 "ASCI_CallReference", HFILL }},
22375 { &hf_gsm_map_ms_geran_classmark,
22376 { "geran-classmark", "gsm_map.ms.geran_classmark",
22377 FT_BYTES, BASE_NONE, NULL, 0,
22378 NULL, HFILL }},
22379 { &hf_gsm_map_ms_iuCurrentlyUsedCodec,
22380 { "iuCurrentlyUsedCodec", "gsm_map.ms.iuCurrentlyUsedCodec",
22381 FT_BYTES, BASE_NONE, NULL, 0,
22382 "Codec", HFILL }},
22383 { &hf_gsm_map_ms_uesbi_Iu,
22384 { "uesbi-Iu", "gsm_map.ms.uesbi_Iu_element",
22385 FT_NONE, BASE_NONE, NULL, 0,
22386 NULL, HFILL }},
22387 { &hf_gsm_map_ms_regionalSubscriptionData,
22388 { "regionalSubscriptionData", "gsm_map.ms.regionalSubscriptionData",
22389 FT_UINT32, BASE_DEC, NULL, 0,
22390 "ZoneCodeList", HFILL }},
22391 { &hf_gsm_map_ms_lclsGlobalCallReference,
22392 { "lclsGlobalCallReference", "gsm_map.ms.lclsGlobalCallReference",
22393 FT_BYTES, BASE_NONE, NULL, 0,
22394 "LCLS_GlobalCallReference", HFILL }},
22395 { &hf_gsm_map_ms_lcls_Negotiation,
22396 { "lcls-Negotiation", "gsm_map.ms.lcls_Negotiation",
22397 FT_BYTES, BASE_NONE, NULL, 0,
22398 NULL, HFILL }},
22399 { &hf_gsm_map_ms_lcls_Configuration_Preference,
22400 { "lcls-Configuration-Preference", "gsm_map.ms.lcls_Configuration_Preference",
22401 FT_BYTES, BASE_NONE, NULL, 0,
22402 "LCLS_ConfigurationPreference", HFILL }},
22403 { &hf_gsm_map_ms_csg_SubscriptionDataList,
22404 { "csg-SubscriptionDataList", "gsm_map.ms.csg_SubscriptionDataList",
22405 FT_UINT32, BASE_DEC, NULL, 0,
22406 NULL, HFILL }},
22407 { &hf_gsm_map_ms_BSSMAP_ServiceHandoverList_item,
22408 { "BSSMAP-ServiceHandoverInfo", "gsm_map.ms.BSSMAP_ServiceHandoverInfo_element",
22409 FT_NONE, BASE_NONE, NULL, 0,
22410 NULL, HFILL }},
22411 { &hf_gsm_map_ms_RadioResourceList_item,
22412 { "RadioResource", "gsm_map.ms.RadioResource_element",
22413 FT_NONE, BASE_NONE, NULL, 0,
22414 NULL, HFILL }},
22415 { &hf_gsm_map_ms_handoverNumber,
22416 { "handoverNumber", "gsm_map.ms.handoverNumber",
22417 FT_BYTES, BASE_NONE, NULL, 0,
22418 "ISDN_AddressString", HFILL }},
22419 { &hf_gsm_map_ms_relocationNumberList,
22420 { "relocationNumberList", "gsm_map.ms.relocationNumberList",
22421 FT_UINT32, BASE_DEC, NULL, 0,
22422 NULL, HFILL }},
22423 { &hf_gsm_map_ms_multicallBearerInfo,
22424 { "multicallBearerInfo", "gsm_map.ms.multicallBearerInfo",
22425 FT_UINT32, BASE_DEC, NULL, 0,
22426 NULL, HFILL }},
22427 { &hf_gsm_map_ms_multipleBearerNotSupported,
22428 { "multipleBearerNotSupported", "gsm_map.ms.multipleBearerNotSupported_element",
22429 FT_NONE, BASE_NONE, NULL, 0,
22430 NULL, HFILL }},
22431 { &hf_gsm_map_ms_selectedUMTS_Algorithms,
22432 { "selectedUMTS-Algorithms", "gsm_map.ms.selectedUMTS_Algorithms_element",
22433 FT_NONE, BASE_NONE, NULL, 0,
22434 NULL, HFILL }},
22435 { &hf_gsm_map_ms_chosenRadioResourceInformation,
22436 { "chosenRadioResourceInformation", "gsm_map.ms.chosenRadioResourceInformation_element",
22437 FT_NONE, BASE_NONE, NULL, 0,
22438 NULL, HFILL }},
22439 { &hf_gsm_map_ms_iuAvailableCodecsList,
22440 { "iuAvailableCodecsList", "gsm_map.ms.iuAvailableCodecsList_element",
22441 FT_NONE, BASE_NONE, NULL, 0,
22442 "CodecList", HFILL }},
22443 { &hf_gsm_map_ms_aoipAvailableCodecsListMap,
22444 { "aoipAvailableCodecsListMap", "gsm_map.ms.aoipAvailableCodecsListMap_element",
22445 FT_NONE, BASE_NONE, NULL, 0,
22446 "AoIPCodecsList", HFILL }},
22447 { &hf_gsm_map_ms_integrityProtectionAlgorithm,
22448 { "integrityProtectionAlgorithm", "gsm_map.ms.integrityProtectionAlgorithm",
22449 FT_BYTES, BASE_NONE, NULL, 0,
22450 "ChosenIntegrityProtectionAlgorithm", HFILL }},
22451 { &hf_gsm_map_ms_encryptionAlgorithm,
22452 { "encryptionAlgorithm", "gsm_map.ms.encryptionAlgorithm",
22453 FT_BYTES, BASE_NONE, NULL, 0,
22454 "ChosenEncryptionAlgorithm", HFILL }},
22455 { &hf_gsm_map_ms_chosenChannelInfo,
22456 { "chosenChannelInfo", "gsm_map.ms.chosenChannelInfo",
22457 FT_BYTES, BASE_NONE, NULL, 0,
22458 NULL, HFILL }},
22459 { &hf_gsm_map_ms_chosenSpeechVersion,
22460 { "chosenSpeechVersion", "gsm_map.ms.chosenSpeechVersion",
22461 FT_BYTES, BASE_NONE, NULL, 0,
22462 NULL, HFILL }},
22463 { &hf_gsm_map_ms_targetMSC_Number,
22464 { "targetMSC-Number", "gsm_map.ms.targetMSC_Number",
22465 FT_BYTES, BASE_NONE, NULL, 0,
22466 "ISDN_AddressString", HFILL }},
22467 { &hf_gsm_map_ms_selectedRab_Id,
22468 { "selectedRab-Id", "gsm_map.ms.selectedRab_Id",
22469 FT_UINT32, BASE_DEC, NULL, 0,
22470 "RAB_Id", HFILL }},
22471 { &hf_gsm_map_ms_selectedGSM_Algorithm,
22472 { "selectedGSM-Algorithm", "gsm_map.ms.selectedGSM_Algorithm",
22473 FT_BYTES, BASE_NONE, NULL, 0,
22474 NULL, HFILL }},
22475 { &hf_gsm_map_ms_iUSelectedCodec,
22476 { "iUSelectedCodec", "gsm_map.ms.iUSelectedCodec",
22477 FT_BYTES, BASE_NONE, NULL, 0,
22478 "Codec", HFILL }},
22479 { &hf_gsm_map_ms_codec1,
22480 { "codec1", "gsm_map.ms.codec1",
22481 FT_BYTES, BASE_NONE, NULL, 0,
22482 "AoIPCodec", HFILL }},
22483 { &hf_gsm_map_ms_codec2,
22484 { "codec2", "gsm_map.ms.codec2",
22485 FT_BYTES, BASE_NONE, NULL, 0,
22486 "AoIPCodec", HFILL }},
22487 { &hf_gsm_map_ms_codec3,
22488 { "codec3", "gsm_map.ms.codec3",
22489 FT_BYTES, BASE_NONE, NULL, 0,
22490 "AoIPCodec", HFILL }},
22491 { &hf_gsm_map_ms_codec4,
22492 { "codec4", "gsm_map.ms.codec4",
22493 FT_BYTES, BASE_NONE, NULL, 0,
22494 "AoIPCodec", HFILL }},
22495 { &hf_gsm_map_ms_codec5,
22496 { "codec5", "gsm_map.ms.codec5",
22497 FT_BYTES, BASE_NONE, NULL, 0,
22498 "AoIPCodec", HFILL }},
22499 { &hf_gsm_map_ms_codec6,
22500 { "codec6", "gsm_map.ms.codec6",
22501 FT_BYTES, BASE_NONE, NULL, 0,
22502 "AoIPCodec", HFILL }},
22503 { &hf_gsm_map_ms_codec7,
22504 { "codec7", "gsm_map.ms.codec7",
22505 FT_BYTES, BASE_NONE, NULL, 0,
22506 "AoIPCodec", HFILL }},
22507 { &hf_gsm_map_ms_codec8,
22508 { "codec8", "gsm_map.ms.codec8",
22509 FT_BYTES, BASE_NONE, NULL, 0,
22510 "AoIPCodec", HFILL }},
22511 { &hf_gsm_map_ms_utranCodecList,
22512 { "utranCodecList", "gsm_map.ms.utranCodecList_element",
22513 FT_NONE, BASE_NONE, NULL, 0,
22514 "CodecList", HFILL }},
22515 { &hf_gsm_map_ms_geranCodecList,
22516 { "geranCodecList", "gsm_map.ms.geranCodecList_element",
22517 FT_NONE, BASE_NONE, NULL, 0,
22518 "CodecList", HFILL }},
22519 { &hf_gsm_map_ms_codec1_01,
22520 { "codec1", "gsm_map.ms.codec1",
22521 FT_BYTES, BASE_NONE, NULL, 0,
22522 "Codec", HFILL }},
22523 { &hf_gsm_map_ms_codec2_01,
22524 { "codec2", "gsm_map.ms.codec2",
22525 FT_BYTES, BASE_NONE, NULL, 0,
22526 "Codec", HFILL }},
22527 { &hf_gsm_map_ms_codec3_01,
22528 { "codec3", "gsm_map.ms.codec3",
22529 FT_BYTES, BASE_NONE, NULL, 0,
22530 "Codec", HFILL }},
22531 { &hf_gsm_map_ms_codec4_01,
22532 { "codec4", "gsm_map.ms.codec4",
22533 FT_BYTES, BASE_NONE, NULL, 0,
22534 "Codec", HFILL }},
22535 { &hf_gsm_map_ms_codec5_01,
22536 { "codec5", "gsm_map.ms.codec5",
22537 FT_BYTES, BASE_NONE, NULL, 0,
22538 "Codec", HFILL }},
22539 { &hf_gsm_map_ms_codec6_01,
22540 { "codec6", "gsm_map.ms.codec6",
22541 FT_BYTES, BASE_NONE, NULL, 0,
22542 "Codec", HFILL }},
22543 { &hf_gsm_map_ms_codec7_01,
22544 { "codec7", "gsm_map.ms.codec7",
22545 FT_BYTES, BASE_NONE, NULL, 0,
22546 "Codec", HFILL }},
22547 { &hf_gsm_map_ms_codec8_01,
22548 { "codec8", "gsm_map.ms.codec8",
22549 FT_BYTES, BASE_NONE, NULL, 0,
22550 "Codec", HFILL }},
22551 { &hf_gsm_map_ms_RelocationNumberList_item,
22552 { "RelocationNumber", "gsm_map.ms.RelocationNumber_element",
22553 FT_NONE, BASE_NONE, NULL, 0,
22554 NULL, HFILL }},
22555 { &hf_gsm_map_ms_immediateResponsePreferred,
22556 { "immediateResponsePreferred", "gsm_map.ms.immediateResponsePreferred_element",
22557 FT_NONE, BASE_NONE, NULL, 0,
22558 NULL, HFILL }},
22559 { &hf_gsm_map_ms_re_synchronisationInfo,
22560 { "re-synchronisationInfo", "gsm_map.ms.re_synchronisationInfo_element",
22561 FT_NONE, BASE_NONE, NULL, 0,
22562 NULL, HFILL }},
22563 { &hf_gsm_map_ms_requestingNodeType,
22564 { "requestingNodeType", "gsm_map.ms.requestingNodeType",
22565 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_RequestingNodeType_vals), 0,
22566 NULL, HFILL }},
22567 { &hf_gsm_map_ms_requestingPLMN_Id,
22568 { "requestingPLMN-Id", "gsm_map.ms.requestingPLMN_Id",
22569 FT_BYTES, BASE_NONE, NULL, 0,
22570 "PLMN_Id", HFILL }},
22571 { &hf_gsm_map_ms_numberOfRequestedAdditional_Vectors,
22572 { "numberOfRequestedAdditional-Vectors", "gsm_map.ms.numberOfRequestedAdditional_Vectors",
22573 FT_UINT32, BASE_DEC, NULL, 0,
22574 "NumberOfRequestedVectors", HFILL }},
22575 { &hf_gsm_map_ms_additionalVectorsAreForEPS,
22576 { "additionalVectorsAreForEPS", "gsm_map.ms.additionalVectorsAreForEPS_element",
22577 FT_NONE, BASE_NONE, NULL, 0,
22578 NULL, HFILL }},
22579 { &hf_gsm_map_ms_auts,
22580 { "auts", "gsm_map.ms.auts",
22581 FT_BYTES, BASE_NONE, NULL, 0,
22582 NULL, HFILL }},
22583 { &hf_gsm_map_ms_eps_AuthenticationSetList,
22584 { "eps-AuthenticationSetList", "gsm_map.ms.eps_AuthenticationSetList",
22585 FT_UINT32, BASE_DEC, NULL, 0,
22586 NULL, HFILL }},
22587 { &hf_gsm_map_ms_EPS_AuthenticationSetList_item,
22588 { "EPC-AV", "gsm_map.ms.EPC_AV_element",
22589 FT_NONE, BASE_NONE, NULL, 0,
22590 NULL, HFILL }},
22591 { &hf_gsm_map_ms_kasme,
22592 { "kasme", "gsm_map.ms.kasme",
22593 FT_BYTES, BASE_NONE, NULL, 0,
22594 NULL, HFILL }},
22595 { &hf_gsm_map_ms_imei,
22596 { "imei", "gsm_map.ms.imei",
22597 FT_BYTES, BASE_NONE, NULL, 0,
22598 NULL, HFILL }},
22599 { &hf_gsm_map_ms_requestedEquipmentInfo,
22600 { "requestedEquipmentInfo", "gsm_map.ms.requestedEquipmentInfo",
22601 FT_BYTES, BASE_NONE, NULL, 0,
22602 NULL, HFILL }},
22603 { &hf_gsm_map_ms_equipmentStatus,
22604 { "equipmentStatus", "gsm_map.ms.equipmentStatus",
22605 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_EquipmentStatus_vals), 0,
22606 NULL, HFILL }},
22607 { &hf_gsm_map_ms_bmuef,
22608 { "bmuef", "gsm_map.ms.bmuef_element",
22609 FT_NONE, BASE_NONE, NULL, 0,
22610 "UESBI_Iu", HFILL }},
22611 { &hf_gsm_map_ms_uesbi_IuA,
22612 { "uesbi-IuA", "gsm_map.ms.uesbi_IuA",
22613 FT_BYTES, BASE_NONE, NULL, 0,
22614 NULL, HFILL }},
22615 { &hf_gsm_map_ms_uesbi_IuB,
22616 { "uesbi-IuB", "gsm_map.ms.uesbi_IuB",
22617 FT_BYTES, BASE_NONE, NULL, 0,
22618 NULL, HFILL }},
22619 { &hf_gsm_map_ms_CSG_SubscriptionDataList_item,
22620 { "CSG-SubscriptionData", "gsm_map.ms.CSG_SubscriptionData_element",
22621 FT_NONE, BASE_NONE, NULL, 0,
22622 NULL, HFILL }},
22623 { &hf_gsm_map_ms_csg_Id,
22624 { "csg-Id", "gsm_map.ms.csg_Id",
22625 FT_BYTES, BASE_NONE, NULL, 0,
22626 NULL, HFILL }},
22627 { &hf_gsm_map_ms_expirationDate,
22628 { "expirationDate", "gsm_map.ms.expirationDate",
22629 FT_BYTES, BASE_NONE, NULL, 0,
22630 "Time", HFILL }},
22631 { &hf_gsm_map_ms_lipa_AllowedAPNList,
22632 { "lipa-AllowedAPNList", "gsm_map.ms.lipa_AllowedAPNList",
22633 FT_UINT32, BASE_DEC, NULL, 0,
22634 NULL, HFILL }},
22635 { &hf_gsm_map_ms_plmn_Id,
22636 { "plmn-Id", "gsm_map.ms.plmn_Id",
22637 FT_BYTES, BASE_NONE, NULL, 0,
22638 NULL, HFILL }},
22639 { &hf_gsm_map_ms_VPLMN_CSG_SubscriptionDataList_item,
22640 { "CSG-SubscriptionData", "gsm_map.ms.CSG_SubscriptionData_element",
22641 FT_NONE, BASE_NONE, NULL, 0,
22642 NULL, HFILL }},
22643 { &hf_gsm_map_ms_LIPA_AllowedAPNList_item,
22644 { "APN", "gsm_map.ms.APN",
22645 FT_BYTES, BASE_NONE, NULL, 0,
22646 NULL, HFILL }},
22647 { &hf_gsm_map_ms_apn_oi_Replacement,
22648 { "apn-oi-Replacement", "gsm_map.ms.apn_oi_Replacement",
22649 FT_BYTES, BASE_NONE, NULL, 0,
22650 NULL, HFILL }},
22651 { &hf_gsm_map_ms_rfsp_id,
22652 { "rfsp-id", "gsm_map.ms.rfsp_id",
22653 FT_UINT32, BASE_DEC, NULL, 0,
22654 NULL, HFILL }},
22655 { &hf_gsm_map_ms_ambr,
22656 { "ambr", "gsm_map.ms.ambr_element",
22657 FT_NONE, BASE_NONE, NULL, 0,
22658 NULL, HFILL }},
22659 { &hf_gsm_map_ms_apn_ConfigurationProfile,
22660 { "apn-ConfigurationProfile", "gsm_map.ms.apn_ConfigurationProfile_element",
22661 FT_NONE, BASE_NONE, NULL, 0,
22662 NULL, HFILL }},
22663 { &hf_gsm_map_ms_stn_sr,
22664 { "stn-sr", "gsm_map.ms.stn_sr",
22665 FT_BYTES, BASE_NONE, NULL, 0,
22666 "ISDN_AddressString", HFILL }},
22667 { &hf_gsm_map_ms_mps_CSPriority,
22668 { "mps-CSPriority", "gsm_map.ms.mps_CSPriority_element",
22669 FT_NONE, BASE_NONE, NULL, 0,
22670 NULL, HFILL }},
22671 { &hf_gsm_map_ms_mps_EPSPriority,
22672 { "mps-EPSPriority", "gsm_map.ms.mps_EPSPriority_element",
22673 FT_NONE, BASE_NONE, NULL, 0,
22674 NULL, HFILL }},
22675 { &hf_gsm_map_ms_subscribed_vsrvcc,
22676 { "subscribed-vsrvcc", "gsm_map.ms.subscribed_vsrvcc_element",
22677 FT_NONE, BASE_NONE, NULL, 0,
22678 NULL, HFILL }},
22679 { &hf_gsm_map_ms_defaultContext,
22680 { "defaultContext", "gsm_map.ms.defaultContext",
22681 FT_UINT32, BASE_DEC, NULL, 0,
22682 "ContextId", HFILL }},
22683 { &hf_gsm_map_ms_completeDataListIncluded,
22684 { "completeDataListIncluded", "gsm_map.ms.completeDataListIncluded_element",
22685 FT_NONE, BASE_NONE, NULL, 0,
22686 NULL, HFILL }},
22687 { &hf_gsm_map_ms_epsDataList,
22688 { "epsDataList", "gsm_map.ms.epsDataList",
22689 FT_UINT32, BASE_DEC, NULL, 0,
22690 "EPS_DataList", HFILL }},
22691 { &hf_gsm_map_ms_EPS_DataList_item,
22692 { "APN-Configuration", "gsm_map.ms.APN_Configuration_element",
22693 FT_NONE, BASE_NONE, NULL, 0,
22694 NULL, HFILL }},
22695 { &hf_gsm_map_ms_pdn_Type,
22696 { "pdn-Type", "gsm_map.ms.pdn_Type",
22697 FT_BYTES, BASE_NONE, NULL, 0,
22698 NULL, HFILL }},
22699 { &hf_gsm_map_ms_servedPartyIP_IPv4_Address,
22700 { "servedPartyIP-IPv4-Address", "gsm_map.ms.servedPartyIP_IPv4_Address",
22701 FT_BYTES, BASE_NONE, NULL, 0,
22702 "PDP_Address", HFILL }},
22703 { &hf_gsm_map_ms_eps_qos_Subscribed,
22704 { "eps-qos-Subscribed", "gsm_map.ms.eps_qos_Subscribed_element",
22705 FT_NONE, BASE_NONE, NULL, 0,
22706 NULL, HFILL }},
22707 { &hf_gsm_map_ms_pdn_gw_AllocationType,
22708 { "pdn-gw-AllocationType", "gsm_map.ms.pdn_gw_AllocationType",
22709 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_PDN_GW_AllocationType_vals), 0,
22710 NULL, HFILL }},
22711 { &hf_gsm_map_ms_vplmnAddressAllowed,
22712 { "vplmnAddressAllowed", "gsm_map.ms.vplmnAddressAllowed_element",
22713 FT_NONE, BASE_NONE, NULL, 0,
22714 NULL, HFILL }},
22715 { &hf_gsm_map_ms_chargingCharacteristics,
22716 { "chargingCharacteristics", "gsm_map.ms.chargingCharacteristics",
22717 FT_UINT16, BASE_DEC, VALS(chargingcharacteristics_values), 0x0f00,
22718 NULL, HFILL }},
22719 { &hf_gsm_map_ms_specificAPNInfoList,
22720 { "specificAPNInfoList", "gsm_map.ms.specificAPNInfoList",
22721 FT_UINT32, BASE_DEC, NULL, 0,
22722 NULL, HFILL }},
22723 { &hf_gsm_map_ms_servedPartyIP_IPv6_Address,
22724 { "servedPartyIP-IPv6-Address", "gsm_map.ms.servedPartyIP_IPv6_Address",
22725 FT_BYTES, BASE_NONE, NULL, 0,
22726 "PDP_Address", HFILL }},
22727 { &hf_gsm_map_ms_sipto_Permission,
22728 { "sipto-Permission", "gsm_map.ms.sipto_Permission",
22729 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SIPTO_Permission_vals), 0,
22730 NULL, HFILL }},
22731 { &hf_gsm_map_ms_lipa_Permission,
22732 { "lipa-Permission", "gsm_map.ms.lipa_Permission",
22733 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_LIPA_Permission_vals), 0,
22734 NULL, HFILL }},
22735 { &hf_gsm_map_ms_qos_Class_Identifier,
22736 { "qos-Class-Identifier", "gsm_map.ms.qos_Class_Identifier",
22737 FT_UINT32, BASE_DEC, NULL, 0,
22738 NULL, HFILL }},
22739 { &hf_gsm_map_ms_allocation_Retention_Priority,
22740 { "allocation-Retention-Priority", "gsm_map.ms.allocation_Retention_Priority_element",
22741 FT_NONE, BASE_NONE, NULL, 0,
22742 NULL, HFILL }},
22743 { &hf_gsm_map_ms_max_RequestedBandwidth_UL,
22744 { "max-RequestedBandwidth-UL", "gsm_map.ms.max_RequestedBandwidth_UL",
22745 FT_INT32, BASE_DEC, NULL, 0,
22746 "Bandwidth", HFILL }},
22747 { &hf_gsm_map_ms_max_RequestedBandwidth_DL,
22748 { "max-RequestedBandwidth-DL", "gsm_map.ms.max_RequestedBandwidth_DL",
22749 FT_INT32, BASE_DEC, NULL, 0,
22750 "Bandwidth", HFILL }},
22751 { &hf_gsm_map_ms_SpecificAPNInfoList_item,
22752 { "SpecificAPNInfo", "gsm_map.ms.SpecificAPNInfo_element",
22753 FT_NONE, BASE_NONE, NULL, 0,
22754 NULL, HFILL }},
22755 { &hf_gsm_map_ms_priority_level,
22756 { "priority-level", "gsm_map.ms.priority_level",
22757 FT_INT32, BASE_DEC, NULL, 0,
22758 "INTEGER", HFILL }},
22759 { &hf_gsm_map_ms_pre_emption_capability,
22760 { "pre-emption-capability", "gsm_map.ms.pre_emption_capability",
22761 FT_BOOLEAN, BASE_NONE, NULL, 0,
22762 "BOOLEAN", HFILL }},
22763 { &hf_gsm_map_ms_pre_emption_vulnerability,
22764 { "pre-emption-vulnerability", "gsm_map.ms.pre_emption_vulnerability",
22765 FT_BOOLEAN, BASE_NONE, NULL, 0,
22766 "BOOLEAN", HFILL }},
22767 { &hf_gsm_map_ms_pdn_gw_ipv4_Address,
22768 { "pdn-gw-ipv4-Address", "gsm_map.ms.pdn_gw_ipv4_Address",
22769 FT_BYTES, BASE_NONE, NULL, 0,
22770 "PDP_Address", HFILL }},
22771 { &hf_gsm_map_ms_pdn_gw_ipv6_Address,
22772 { "pdn-gw-ipv6-Address", "gsm_map.ms.pdn_gw_ipv6_Address",
22773 FT_BYTES, BASE_NONE, NULL, 0,
22774 "PDP_Address", HFILL }},
22775 { &hf_gsm_map_ms_pdn_gw_name,
22776 { "pdn-gw-name", "gsm_map.ms.pdn_gw_name",
22777 FT_BYTES, BASE_NONE, NULL, 0,
22778 "FQDN", HFILL }},
22779 { &hf_gsm_map_ms_gmlc_List,
22780 { "gmlc-List", "gsm_map.ms.gmlc_List",
22781 FT_UINT32, BASE_DEC, NULL, 0,
22782 NULL, HFILL }},
22783 { &hf_gsm_map_ms_lcs_PrivacyExceptionList,
22784 { "lcs-PrivacyExceptionList", "gsm_map.ms.lcs_PrivacyExceptionList",
22785 FT_UINT32, BASE_DEC, NULL, 0,
22786 NULL, HFILL }},
22787 { &hf_gsm_map_ms_molr_List,
22788 { "molr-List", "gsm_map.ms.molr_List",
22789 FT_UINT32, BASE_DEC, NULL, 0,
22790 NULL, HFILL }},
22791 { &hf_gsm_map_ms_add_lcs_PrivacyExceptionList,
22792 { "add-lcs-PrivacyExceptionList", "gsm_map.ms.add_lcs_PrivacyExceptionList",
22793 FT_UINT32, BASE_DEC, NULL, 0,
22794 "LCS_PrivacyExceptionList", HFILL }},
22795 { &hf_gsm_map_ms_GMLC_List_item,
22796 { "ISDN-AddressString", "gsm_map.ms.ISDN_AddressString",
22797 FT_BYTES, BASE_NONE, NULL, 0,
22798 NULL, HFILL }},
22799 { &hf_gsm_map_ms_GPRSDataList_item,
22800 { "PDP-Context", "gsm_map.ms.PDP_Context_element",
22801 FT_NONE, BASE_NONE, NULL, 0,
22802 NULL, HFILL }},
22803 { &hf_gsm_map_ms_pdp_ContextId,
22804 { "pdp-ContextId", "gsm_map.ms.pdp_ContextId",
22805 FT_UINT32, BASE_DEC, NULL, 0,
22806 "ContextId", HFILL }},
22807 { &hf_gsm_map_ms_pdp_Type,
22808 { "pdp-Type", "gsm_map.ms.pdp_Type",
22809 FT_BYTES, BASE_NONE, NULL, 0,
22810 NULL, HFILL }},
22811 { &hf_gsm_map_ms_pdp_Address,
22812 { "pdp-Address", "gsm_map.ms.pdp_Address",
22813 FT_BYTES, BASE_NONE, NULL, 0,
22814 NULL, HFILL }},
22815 { &hf_gsm_map_ms_qos_Subscribed,
22816 { "qos-Subscribed", "gsm_map.ms.qos_Subscribed",
22817 FT_BYTES, BASE_NONE, NULL, 0,
22818 NULL, HFILL }},
22819 { &hf_gsm_map_ms_ext_QoS_Subscribed,
22820 { "ext-QoS-Subscribed", "gsm_map.ms.ext_QoS_Subscribed",
22821 FT_BYTES, BASE_NONE, NULL, 0,
22822 NULL, HFILL }},
22823 { &hf_gsm_map_ms_pdp_ChargingCharacteristics,
22824 { "pdp-ChargingCharacteristics", "gsm_map.ms.pdp_ChargingCharacteristics",
22825 FT_UINT16, BASE_DEC, VALS(chargingcharacteristics_values), 0x0f00,
22826 "ChargingCharacteristics", HFILL }},
22827 { &hf_gsm_map_ms_ext2_QoS_Subscribed,
22828 { "ext2-QoS-Subscribed", "gsm_map.ms.ext2_QoS_Subscribed",
22829 FT_BYTES, BASE_NONE, NULL, 0,
22830 NULL, HFILL }},
22831 { &hf_gsm_map_ms_ext3_QoS_Subscribed,
22832 { "ext3-QoS-Subscribed", "gsm_map.ms.ext3_QoS_Subscribed",
22833 FT_BYTES, BASE_NONE, NULL, 0,
22834 NULL, HFILL }},
22835 { &hf_gsm_map_ms_ext4_QoS_Subscribed,
22836 { "ext4-QoS-Subscribed", "gsm_map.ms.ext4_QoS_Subscribed",
22837 FT_BYTES, BASE_NONE, NULL, 0,
22838 NULL, HFILL }},
22839 { &hf_gsm_map_ms_ext_pdp_Type,
22840 { "ext-pdp-Type", "gsm_map.ms.ext_pdp_Type",
22841 FT_BYTES, BASE_NONE, NULL, 0,
22842 NULL, HFILL }},
22843 { &hf_gsm_map_ms_ext_pdp_Address,
22844 { "ext-pdp-Address", "gsm_map.ms.ext_pdp_Address",
22845 FT_BYTES, BASE_NONE, NULL, 0,
22846 "PDP_Address", HFILL }},
22847 { &hf_gsm_map_ms_gprsDataList,
22848 { "gprsDataList", "gsm_map.ms.gprsDataList",
22849 FT_UINT32, BASE_DEC, NULL, 0,
22850 NULL, HFILL }},
22851 { &hf_gsm_map_ms_gprs_CSI,
22852 { "gprs-CSI", "gsm_map.ms.gprs_CSI_element",
22853 FT_NONE, BASE_NONE, NULL, 0,
22854 NULL, HFILL }},
22855 { &hf_gsm_map_ms_mo_sms_CSI,
22856 { "mo-sms-CSI", "gsm_map.ms.mo_sms_CSI_element",
22857 FT_NONE, BASE_NONE, NULL, 0,
22858 "SMS_CSI", HFILL }},
22859 { &hf_gsm_map_ms_mt_sms_CSI,
22860 { "mt-sms-CSI", "gsm_map.ms.mt_sms_CSI_element",
22861 FT_NONE, BASE_NONE, NULL, 0,
22862 "SMS_CSI", HFILL }},
22863 { &hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList,
22864 { "mt-smsCAMELTDP-CriteriaList", "gsm_map.ms.mt_smsCAMELTDP_CriteriaList",
22865 FT_UINT32, BASE_DEC, NULL, 0,
22866 NULL, HFILL }},
22867 { &hf_gsm_map_ms_mg_csi,
22868 { "mg-csi", "gsm_map.ms.mg_csi_element",
22869 FT_NONE, BASE_NONE, NULL, 0,
22870 NULL, HFILL }},
22871 { &hf_gsm_map_ms_gprs_CamelTDPDataList,
22872 { "gprs-CamelTDPDataList", "gsm_map.ms.gprs_CamelTDPDataList",
22873 FT_UINT32, BASE_DEC, NULL, 0,
22874 NULL, HFILL }},
22875 { &hf_gsm_map_ms_camelCapabilityHandling,
22876 { "camelCapabilityHandling", "gsm_map.ms.camelCapabilityHandling",
22877 FT_UINT32, BASE_DEC, NULL, 0,
22878 NULL, HFILL }},
22879 { &hf_gsm_map_ms_notificationToCSE,
22880 { "notificationToCSE", "gsm_map.ms.notificationToCSE_element",
22881 FT_NONE, BASE_NONE, NULL, 0,
22882 NULL, HFILL }},
22883 { &hf_gsm_map_ms_csi_Active,
22884 { "csi-Active", "gsm_map.ms.csi_Active_element",
22885 FT_NONE, BASE_NONE, NULL, 0,
22886 NULL, HFILL }},
22887 { &hf_gsm_map_ms_GPRS_CamelTDPDataList_item,
22888 { "GPRS-CamelTDPData", "gsm_map.ms.GPRS_CamelTDPData_element",
22889 FT_NONE, BASE_NONE, NULL, 0,
22890 NULL, HFILL }},
22891 { &hf_gsm_map_ms_gprs_TriggerDetectionPoint,
22892 { "gprs-TriggerDetectionPoint", "gsm_map.ms.gprs_TriggerDetectionPoint",
22893 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_GPRS_TriggerDetectionPoint_vals), 0,
22894 NULL, HFILL }},
22895 { &hf_gsm_map_ms_serviceKey,
22896 { "serviceKey", "gsm_map.ms.serviceKey",
22897 FT_UINT32, BASE_DEC, NULL, 0,
22898 NULL, HFILL }},
22899 { &hf_gsm_map_ms_gsmSCF_Address,
22900 { "gsmSCF-Address", "gsm_map.ms.gsmSCF_Address",
22901 FT_BYTES, BASE_NONE, NULL, 0,
22902 "ISDN_AddressString", HFILL }},
22903 { &hf_gsm_map_ms_defaultSessionHandling,
22904 { "defaultSessionHandling", "gsm_map.ms.defaultSessionHandling",
22905 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_DefaultGPRS_Handling_vals), 0,
22906 "DefaultGPRS_Handling", HFILL }},
22907 { &hf_gsm_map_ms_LSADataList_item,
22908 { "LSAData", "gsm_map.ms.LSAData_element",
22909 FT_NONE, BASE_NONE, NULL, 0,
22910 NULL, HFILL }},
22911 { &hf_gsm_map_ms_lsaIdentity,
22912 { "lsaIdentity", "gsm_map.ms.lsaIdentity",
22913 FT_BYTES, BASE_NONE, NULL, 0,
22914 NULL, HFILL }},
22915 { &hf_gsm_map_ms_lsaAttributes,
22916 { "lsaAttributes", "gsm_map.ms.lsaAttributes",
22917 FT_BYTES, BASE_NONE, NULL, 0,
22918 NULL, HFILL }},
22919 { &hf_gsm_map_ms_lsaActiveModeIndicator,
22920 { "lsaActiveModeIndicator", "gsm_map.ms.lsaActiveModeIndicator_element",
22921 FT_NONE, BASE_NONE, NULL, 0,
22922 NULL, HFILL }},
22923 { &hf_gsm_map_ms_lsaOnlyAccessIndicator,
22924 { "lsaOnlyAccessIndicator", "gsm_map.ms.lsaOnlyAccessIndicator",
22925 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_LSAOnlyAccessIndicator_vals), 0,
22926 NULL, HFILL }},
22927 { &hf_gsm_map_ms_lsaDataList,
22928 { "lsaDataList", "gsm_map.ms.lsaDataList",
22929 FT_UINT32, BASE_DEC, NULL, 0,
22930 NULL, HFILL }},
22931 { &hf_gsm_map_ms_msisdn,
22932 { "msisdn", "gsm_map.ms.msisdn",
22933 FT_BYTES, BASE_NONE, NULL, 0,
22934 "ISDN_AddressString", HFILL }},
22935 { &hf_gsm_map_ms_category,
22936 { "category", "gsm_map.ms.category",
22937 FT_BYTES, BASE_NONE, NULL, 0,
22938 NULL, HFILL }},
22939 { &hf_gsm_map_ms_subscriberStatus,
22940 { "subscriberStatus", "gsm_map.ms.subscriberStatus",
22941 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SubscriberStatus_vals), 0,
22942 NULL, HFILL }},
22943 { &hf_gsm_map_ms_bearerServiceList,
22944 { "bearerServiceList", "gsm_map.ms.bearerServiceList",
22945 FT_UINT32, BASE_DEC, NULL, 0,
22946 NULL, HFILL }},
22947 { &hf_gsm_map_ms_teleserviceList,
22948 { "teleserviceList", "gsm_map.ms.teleserviceList",
22949 FT_UINT32, BASE_DEC, NULL, 0,
22950 NULL, HFILL }},
22951 { &hf_gsm_map_ms_provisionedSS,
22952 { "provisionedSS", "gsm_map.ms.provisionedSS",
22953 FT_UINT32, BASE_DEC, NULL, 0,
22954 "Ext_SS_InfoList", HFILL }},
22955 { &hf_gsm_map_ms_odb_Data,
22956 { "odb-Data", "gsm_map.ms.odb_Data_element",
22957 FT_NONE, BASE_NONE, NULL, 0,
22958 NULL, HFILL }},
22959 { &hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature,
22960 { "roamingRestrictionDueToUnsupportedFeature", "gsm_map.ms.roamingRestrictionDueToUnsupportedFeature_element",
22961 FT_NONE, BASE_NONE, NULL, 0,
22962 NULL, HFILL }},
22963 { &hf_gsm_map_ms_vbsSubscriptionData,
22964 { "vbsSubscriptionData", "gsm_map.ms.vbsSubscriptionData",
22965 FT_UINT32, BASE_DEC, NULL, 0,
22966 "VBSDataList", HFILL }},
22967 { &hf_gsm_map_ms_vgcsSubscriptionData,
22968 { "vgcsSubscriptionData", "gsm_map.ms.vgcsSubscriptionData",
22969 FT_UINT32, BASE_DEC, NULL, 0,
22970 "VGCSDataList", HFILL }},
22971 { &hf_gsm_map_ms_vlrCamelSubscriptionInfo,
22972 { "vlrCamelSubscriptionInfo", "gsm_map.ms.vlrCamelSubscriptionInfo_element",
22973 FT_NONE, BASE_NONE, NULL, 0,
22974 NULL, HFILL }},
22975 { &hf_gsm_map_ms_BearerServiceList_item,
22976 { "Ext-BearerServiceCode", "gsm_map.ms.Ext_BearerServiceCode",
22977 FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0,
22978 NULL, HFILL }},
22979 { &hf_gsm_map_ms_TeleserviceList_item,
22980 { "Ext-TeleserviceCode", "gsm_map.ms.Ext_TeleserviceCode",
22981 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
22982 NULL, HFILL }},
22983 { &hf_gsm_map_ms_odb_GeneralData,
22984 { "odb-GeneralData", "gsm_map.ms.odb_GeneralData",
22985 FT_BYTES, BASE_NONE, NULL, 0,
22986 NULL, HFILL }},
22987 { &hf_gsm_map_ms_odb_HPLMN_Data,
22988 { "odb-HPLMN-Data", "gsm_map.ms.odb_HPLMN_Data",
22989 FT_BYTES, BASE_NONE, NULL, 0,
22990 NULL, HFILL }},
22991 { &hf_gsm_map_ms_Ext_SS_InfoList_item,
22992 { "Ext-SS-Info", "gsm_map.ms.Ext_SS_Info",
22993 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_Ext_SS_Info_vals), 0,
22994 NULL, HFILL }},
22995 { &hf_gsm_map_ms_forwardingInfo,
22996 { "forwardingInfo", "gsm_map.ms.forwardingInfo_element",
22997 FT_NONE, BASE_NONE, NULL, 0,
22998 "Ext_ForwInfo", HFILL }},
22999 { &hf_gsm_map_ms_callBarringInfo,
23000 { "callBarringInfo", "gsm_map.ms.callBarringInfo_element",
23001 FT_NONE, BASE_NONE, NULL, 0,
23002 "Ext_CallBarInfo", HFILL }},
23003 { &hf_gsm_map_ms_cug_Info,
23004 { "cug-Info", "gsm_map.ms.cug_Info_element",
23005 FT_NONE, BASE_NONE, NULL, 0,
23006 NULL, HFILL }},
23007 { &hf_gsm_map_ms_ss_Data,
23008 { "ss-Data", "gsm_map.ms.ss_Data_element",
23009 FT_NONE, BASE_NONE, NULL, 0,
23010 "Ext_SS_Data", HFILL }},
23011 { &hf_gsm_map_ms_emlpp_Info,
23012 { "emlpp-Info", "gsm_map.ms.emlpp_Info_element",
23013 FT_NONE, BASE_NONE, NULL, 0,
23014 NULL, HFILL }},
23015 { &hf_gsm_map_ms_ss_Code,
23016 { "ss-Code", "gsm_map.ms.ss_Code",
23017 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
23018 NULL, HFILL }},
23019 { &hf_gsm_map_ms_forwardingFeatureList,
23020 { "forwardingFeatureList", "gsm_map.ms.forwardingFeatureList",
23021 FT_UINT32, BASE_DEC, NULL, 0,
23022 "Ext_ForwFeatureList", HFILL }},
23023 { &hf_gsm_map_ms_Ext_ForwFeatureList_item,
23024 { "Ext-ForwFeature", "gsm_map.ms.Ext_ForwFeature_element",
23025 FT_NONE, BASE_NONE, NULL, 0,
23026 NULL, HFILL }},
23027 { &hf_gsm_map_ms_basicService,
23028 { "basicService", "gsm_map.ms.basicService",
23029 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
23030 "Ext_BasicServiceCode", HFILL }},
23031 { &hf_gsm_map_ms_ss_Status,
23032 { "ss-Status", "gsm_map.ms.ss_Status",
23033 FT_BYTES, BASE_NONE, NULL, 0,
23034 "Ext_SS_Status", HFILL }},
23035 { &hf_gsm_map_ms_forwardedToNumber,
23036 { "forwardedToNumber", "gsm_map.ms.forwardedToNumber",
23037 FT_BYTES, BASE_NONE, NULL, 0,
23038 "ISDN_AddressString", HFILL }},
23039 { &hf_gsm_map_ms_forwardedToSubaddress,
23040 { "forwardedToSubaddress", "gsm_map.ms.forwardedToSubaddress",
23041 FT_BYTES, BASE_NONE, NULL, 0,
23042 "ISDN_SubaddressString", HFILL }},
23043 { &hf_gsm_map_ms_forwardingOptions,
23044 { "forwardingOptions", "gsm_map.ms.forwardingOptions",
23045 FT_BYTES, BASE_NONE, NULL, 0,
23046 NULL, HFILL }},
23047 { &hf_gsm_map_ms_noReplyConditionTime,
23048 { "noReplyConditionTime", "gsm_map.ms.noReplyConditionTime",
23049 FT_UINT32, BASE_DEC, NULL, 0,
23050 "Ext_NoRepCondTime", HFILL }},
23051 { &hf_gsm_map_ms_longForwardedToNumber,
23052 { "longForwardedToNumber", "gsm_map.ms.longForwardedToNumber",
23053 FT_BYTES, BASE_NONE, NULL, 0,
23054 "FTN_AddressString", HFILL }},
23055 { &hf_gsm_map_ms_callBarringFeatureList,
23056 { "callBarringFeatureList", "gsm_map.ms.callBarringFeatureList",
23057 FT_UINT32, BASE_DEC, NULL, 0,
23058 "Ext_CallBarFeatureList", HFILL }},
23059 { &hf_gsm_map_ms_Ext_CallBarFeatureList_item,
23060 { "Ext-CallBarringFeature", "gsm_map.ms.Ext_CallBarringFeature_element",
23061 FT_NONE, BASE_NONE, NULL, 0,
23062 NULL, HFILL }},
23063 { &hf_gsm_map_ms_cug_SubscriptionList,
23064 { "cug-SubscriptionList", "gsm_map.ms.cug_SubscriptionList",
23065 FT_UINT32, BASE_DEC, NULL, 0,
23066 NULL, HFILL }},
23067 { &hf_gsm_map_ms_cug_FeatureList,
23068 { "cug-FeatureList", "gsm_map.ms.cug_FeatureList",
23069 FT_UINT32, BASE_DEC, NULL, 0,
23070 NULL, HFILL }},
23071 { &hf_gsm_map_ms_CUG_SubscriptionList_item,
23072 { "CUG-Subscription", "gsm_map.ms.CUG_Subscription_element",
23073 FT_NONE, BASE_NONE, NULL, 0,
23074 NULL, HFILL }},
23075 { &hf_gsm_map_ms_cug_Index,
23076 { "cug-Index", "gsm_map.ms.cug_Index",
23077 FT_UINT32, BASE_DEC, NULL, 0,
23078 NULL, HFILL }},
23079 { &hf_gsm_map_ms_cug_Interlock,
23080 { "cug-Interlock", "gsm_map.ms.cug_Interlock",
23081 FT_BYTES, BASE_NONE, NULL, 0,
23082 NULL, HFILL }},
23083 { &hf_gsm_map_ms_intraCUG_Options,
23084 { "intraCUG-Options", "gsm_map.ms.intraCUG_Options",
23085 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_IntraCUG_Options_vals), 0,
23086 NULL, HFILL }},
23087 { &hf_gsm_map_ms_basicServiceGroupList,
23088 { "basicServiceGroupList", "gsm_map.ms.basicServiceGroupList",
23089 FT_UINT32, BASE_DEC, NULL, 0,
23090 "Ext_BasicServiceGroupList", HFILL }},
23091 { &hf_gsm_map_ms_CUG_FeatureList_item,
23092 { "CUG-Feature", "gsm_map.ms.CUG_Feature_element",
23093 FT_NONE, BASE_NONE, NULL, 0,
23094 NULL, HFILL }},
23095 { &hf_gsm_map_ms_Ext_BasicServiceGroupList_item,
23096 { "Ext-BasicServiceCode", "gsm_map.ms.Ext_BasicServiceCode",
23097 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
23098 NULL, HFILL }},
23099 { &hf_gsm_map_ms_preferentialCUG_Indicator,
23100 { "preferentialCUG-Indicator", "gsm_map.ms.preferentialCUG_Indicator",
23101 FT_UINT32, BASE_DEC, NULL, 0,
23102 "CUG_Index", HFILL }},
23103 { &hf_gsm_map_ms_interCUG_Restrictions,
23104 { "interCUG-Restrictions", "gsm_map.ms.interCUG_Restrictions",
23105 FT_BYTES, BASE_NONE, NULL, 0,
23106 NULL, HFILL }},
23107 { &hf_gsm_map_ms_ss_SubscriptionOption,
23108 { "ss-SubscriptionOption", "gsm_map.ms.ss_SubscriptionOption",
23109 FT_UINT32, BASE_DEC, VALS(gsm_map_ss_SS_SubscriptionOption_vals), 0,
23110 NULL, HFILL }},
23111 { &hf_gsm_map_ms_LCS_PrivacyExceptionList_item,
23112 { "LCS-PrivacyClass", "gsm_map.ms.LCS_PrivacyClass_element",
23113 FT_NONE, BASE_NONE, NULL, 0,
23114 NULL, HFILL }},
23115 { &hf_gsm_map_ms_notificationToMSUser,
23116 { "notificationToMSUser", "gsm_map.ms.notificationToMSUser",
23117 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NotificationToMSUser_vals), 0,
23118 NULL, HFILL }},
23119 { &hf_gsm_map_ms_externalClientList,
23120 { "externalClientList", "gsm_map.ms.externalClientList",
23121 FT_UINT32, BASE_DEC, NULL, 0,
23122 NULL, HFILL }},
23123 { &hf_gsm_map_ms_plmnClientList,
23124 { "plmnClientList", "gsm_map.ms.plmnClientList",
23125 FT_UINT32, BASE_DEC, NULL, 0,
23126 NULL, HFILL }},
23127 { &hf_gsm_map_ms_ext_externalClientList,
23128 { "ext-externalClientList", "gsm_map.ms.ext_externalClientList",
23129 FT_UINT32, BASE_DEC, NULL, 0,
23130 NULL, HFILL }},
23131 { &hf_gsm_map_ms_serviceTypeList,
23132 { "serviceTypeList", "gsm_map.ms.serviceTypeList",
23133 FT_UINT32, BASE_DEC, NULL, 0,
23134 NULL, HFILL }},
23135 { &hf_gsm_map_ms_ExternalClientList_item,
23136 { "ExternalClient", "gsm_map.ms.ExternalClient_element",
23137 FT_NONE, BASE_NONE, NULL, 0,
23138 NULL, HFILL }},
23139 { &hf_gsm_map_ms_PLMNClientList_item,
23140 { "LCSClientInternalID", "gsm_map.ms.LCSClientInternalID",
23141 FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientInternalID_vals), 0,
23142 NULL, HFILL }},
23143 { &hf_gsm_map_ms_Ext_ExternalClientList_item,
23144 { "ExternalClient", "gsm_map.ms.ExternalClient_element",
23145 FT_NONE, BASE_NONE, NULL, 0,
23146 NULL, HFILL }},
23147 { &hf_gsm_map_ms_clientIdentity,
23148 { "clientIdentity", "gsm_map.ms.clientIdentity_element",
23149 FT_NONE, BASE_NONE, NULL, 0,
23150 "LCSClientExternalID", HFILL }},
23151 { &hf_gsm_map_ms_gmlc_Restriction,
23152 { "gmlc-Restriction", "gsm_map.ms.gmlc_Restriction",
23153 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_GMLC_Restriction_vals), 0,
23154 NULL, HFILL }},
23155 { &hf_gsm_map_ms_ServiceTypeList_item,
23156 { "ServiceType", "gsm_map.ms.ServiceType_element",
23157 FT_NONE, BASE_NONE, NULL, 0,
23158 NULL, HFILL }},
23159 { &hf_gsm_map_ms_serviceTypeIdentity,
23160 { "serviceTypeIdentity", "gsm_map.ms.serviceTypeIdentity",
23161 FT_UINT32, BASE_DEC, VALS(gsm_map_LCSServiceTypeID_vals), 0,
23162 "LCSServiceTypeID", HFILL }},
23163 { &hf_gsm_map_ms_MOLR_List_item,
23164 { "MOLR-Class", "gsm_map.ms.MOLR_Class_element",
23165 FT_NONE, BASE_NONE, NULL, 0,
23166 NULL, HFILL }},
23167 { &hf_gsm_map_ms_ZoneCodeList_item,
23168 { "ZoneCode", "gsm_map.ms.ZoneCode",
23169 FT_BYTES, BASE_NONE, NULL, 0,
23170 NULL, HFILL }},
23171 { &hf_gsm_map_ms_ss_List,
23172 { "ss-List", "gsm_map.ms.ss_List",
23173 FT_UINT32, BASE_DEC, NULL, 0,
23174 NULL, HFILL }},
23175 { &hf_gsm_map_ms_regionalSubscriptionResponse,
23176 { "regionalSubscriptionResponse", "gsm_map.ms.regionalSubscriptionResponse",
23177 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_RegionalSubscriptionResponse_vals), 0,
23178 NULL, HFILL }},
23179 { &hf_gsm_map_ms_basicServiceList,
23180 { "basicServiceList", "gsm_map.ms.basicServiceList",
23181 FT_UINT32, BASE_DEC, NULL, 0,
23182 NULL, HFILL }},
23183 { &hf_gsm_map_ms_regionalSubscriptionIdentifier,
23184 { "regionalSubscriptionIdentifier", "gsm_map.ms.regionalSubscriptionIdentifier",
23185 FT_BYTES, BASE_NONE, NULL, 0,
23186 "ZoneCode", HFILL }},
23187 { &hf_gsm_map_ms_vbsGroupIndication,
23188 { "vbsGroupIndication", "gsm_map.ms.vbsGroupIndication_element",
23189 FT_NONE, BASE_NONE, NULL, 0,
23190 NULL, HFILL }},
23191 { &hf_gsm_map_ms_vgcsGroupIndication,
23192 { "vgcsGroupIndication", "gsm_map.ms.vgcsGroupIndication_element",
23193 FT_NONE, BASE_NONE, NULL, 0,
23194 NULL, HFILL }},
23195 { &hf_gsm_map_ms_camelSubscriptionInfoWithdraw,
23196 { "camelSubscriptionInfoWithdraw", "gsm_map.ms.camelSubscriptionInfoWithdraw_element",
23197 FT_NONE, BASE_NONE, NULL, 0,
23198 NULL, HFILL }},
23199 { &hf_gsm_map_ms_gprsSubscriptionDataWithdraw,
23200 { "gprsSubscriptionDataWithdraw", "gsm_map.ms.gprsSubscriptionDataWithdraw",
23201 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_GPRSSubscriptionDataWithdraw_vals), 0,
23202 NULL, HFILL }},
23203 { &hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsuppportedFeature,
23204 { "roamingRestrictedInSgsnDueToUnsuppportedFeature", "gsm_map.ms.roamingRestrictedInSgsnDueToUnsuppportedFeature_element",
23205 FT_NONE, BASE_NONE, NULL, 0,
23206 NULL, HFILL }},
23207 { &hf_gsm_map_ms_lsaInformationWithdraw,
23208 { "lsaInformationWithdraw", "gsm_map.ms.lsaInformationWithdraw",
23209 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_LSAInformationWithdraw_vals), 0,
23210 NULL, HFILL }},
23211 { &hf_gsm_map_ms_gmlc_ListWithdraw,
23212 { "gmlc-ListWithdraw", "gsm_map.ms.gmlc_ListWithdraw_element",
23213 FT_NONE, BASE_NONE, NULL, 0,
23214 NULL, HFILL }},
23215 { &hf_gsm_map_ms_istInformationWithdraw,
23216 { "istInformationWithdraw", "gsm_map.ms.istInformationWithdraw_element",
23217 FT_NONE, BASE_NONE, NULL, 0,
23218 NULL, HFILL }},
23219 { &hf_gsm_map_ms_specificCSI_Withdraw,
23220 { "specificCSI-Withdraw", "gsm_map.ms.specificCSI_Withdraw",
23221 FT_BYTES, BASE_NONE, NULL, 0,
23222 NULL, HFILL }},
23223 { &hf_gsm_map_ms_chargingCharacteristicsWithdraw,
23224 { "chargingCharacteristicsWithdraw", "gsm_map.ms.chargingCharacteristicsWithdraw_element",
23225 FT_NONE, BASE_NONE, NULL, 0,
23226 NULL, HFILL }},
23227 { &hf_gsm_map_ms_stn_srWithdraw,
23228 { "stn-srWithdraw", "gsm_map.ms.stn_srWithdraw_element",
23229 FT_NONE, BASE_NONE, NULL, 0,
23230 NULL, HFILL }},
23231 { &hf_gsm_map_ms_epsSubscriptionDataWithdraw,
23232 { "epsSubscriptionDataWithdraw", "gsm_map.ms.epsSubscriptionDataWithdraw",
23233 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_EPS_SubscriptionDataWithdraw_vals), 0,
23234 "EPS_SubscriptionDataWithdraw", HFILL }},
23235 { &hf_gsm_map_ms_apn_oi_replacementWithdraw,
23236 { "apn-oi-replacementWithdraw", "gsm_map.ms.apn_oi_replacementWithdraw_element",
23237 FT_NONE, BASE_NONE, NULL, 0,
23238 NULL, HFILL }},
23239 { &hf_gsm_map_ms_csg_SubscriptionDeleted,
23240 { "csg-SubscriptionDeleted", "gsm_map.ms.csg_SubscriptionDeleted_element",
23241 FT_NONE, BASE_NONE, NULL, 0,
23242 NULL, HFILL }},
23243 { &hf_gsm_map_ms_subscribedPeriodicTAU_RAU_TimerWithdraw,
23244 { "subscribedPeriodicTAU-RAU-TimerWithdraw", "gsm_map.ms.subscribedPeriodicTAU_RAU_TimerWithdraw_element",
23245 FT_NONE, BASE_NONE, NULL, 0,
23246 NULL, HFILL }},
23247 { &hf_gsm_map_ms_subscribedPeriodicLAU_TimerWithdraw,
23248 { "subscribedPeriodicLAU-TimerWithdraw", "gsm_map.ms.subscribedPeriodicLAU_TimerWithdraw_element",
23249 FT_NONE, BASE_NONE, NULL, 0,
23250 NULL, HFILL }},
23251 { &hf_gsm_map_ms_subscribed_vsrvccWithdraw,
23252 { "subscribed-vsrvccWithdraw", "gsm_map.ms.subscribed_vsrvccWithdraw_element",
23253 FT_NONE, BASE_NONE, NULL, 0,
23254 NULL, HFILL }},
23255 { &hf_gsm_map_ms_vplmn_Csg_SubscriptionDeleted,
23256 { "vplmn-Csg-SubscriptionDeleted", "gsm_map.ms.vplmn_Csg_SubscriptionDeleted_element",
23257 FT_NONE, BASE_NONE, NULL, 0,
23258 NULL, HFILL }},
23259 { &hf_gsm_map_ms_additionalMSISDN_Withdraw,
23260 { "additionalMSISDN-Withdraw", "gsm_map.ms.additionalMSISDN_Withdraw_element",
23261 FT_NONE, BASE_NONE, NULL, 0,
23262 NULL, HFILL }},
23263 { &hf_gsm_map_ms_allGPRSData,
23264 { "allGPRSData", "gsm_map.ms.allGPRSData_element",
23265 FT_NONE, BASE_NONE, NULL, 0,
23266 NULL, HFILL }},
23267 { &hf_gsm_map_ms_contextIdList,
23268 { "contextIdList", "gsm_map.ms.contextIdList",
23269 FT_UINT32, BASE_DEC, NULL, 0,
23270 NULL, HFILL }},
23271 { &hf_gsm_map_ms_allEPS_Data,
23272 { "allEPS-Data", "gsm_map.ms.allEPS_Data_element",
23273 FT_NONE, BASE_NONE, NULL, 0,
23274 NULL, HFILL }},
23275 { &hf_gsm_map_ms_ContextIdList_item,
23276 { "ContextId", "gsm_map.ms.ContextId",
23277 FT_UINT32, BASE_DEC, NULL, 0,
23278 NULL, HFILL }},
23279 { &hf_gsm_map_ms_allLSAData,
23280 { "allLSAData", "gsm_map.ms.allLSAData_element",
23281 FT_NONE, BASE_NONE, NULL, 0,
23282 NULL, HFILL }},
23283 { &hf_gsm_map_ms_lsaIdentityList,
23284 { "lsaIdentityList", "gsm_map.ms.lsaIdentityList",
23285 FT_UINT32, BASE_DEC, NULL, 0,
23286 NULL, HFILL }},
23287 { &hf_gsm_map_ms_LSAIdentityList_item,
23288 { "LSAIdentity", "gsm_map.ms.LSAIdentity",
23289 FT_BYTES, BASE_NONE, NULL, 0,
23290 NULL, HFILL }},
23291 { &hf_gsm_map_ms_BasicServiceList_item,
23292 { "Ext-BasicServiceCode", "gsm_map.ms.Ext_BasicServiceCode",
23293 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
23294 NULL, HFILL }},
23295 { &hf_gsm_map_ms_o_CSI,
23296 { "o-CSI", "gsm_map.ms.o_CSI_element",
23297 FT_NONE, BASE_NONE, NULL, 0,
23298 NULL, HFILL }},
23299 { &hf_gsm_map_ms_ss_CSI,
23300 { "ss-CSI", "gsm_map.ms.ss_CSI_element",
23301 FT_NONE, BASE_NONE, NULL, 0,
23302 NULL, HFILL }},
23303 { &hf_gsm_map_ms_o_BcsmCamelTDP_CriteriaList,
23304 { "o-BcsmCamelTDP-CriteriaList", "gsm_map.ms.o_BcsmCamelTDP_CriteriaList",
23305 FT_UINT32, BASE_DEC, NULL, 0,
23306 "O_BcsmCamelTDPCriteriaList", HFILL }},
23307 { &hf_gsm_map_ms_tif_CSI,
23308 { "tif-CSI", "gsm_map.ms.tif_CSI_element",
23309 FT_NONE, BASE_NONE, NULL, 0,
23310 NULL, HFILL }},
23311 { &hf_gsm_map_ms_m_CSI,
23312 { "m-CSI", "gsm_map.ms.m_CSI_element",
23313 FT_NONE, BASE_NONE, NULL, 0,
23314 NULL, HFILL }},
23315 { &hf_gsm_map_ms_vt_CSI,
23316 { "vt-CSI", "gsm_map.ms.vt_CSI_element",
23317 FT_NONE, BASE_NONE, NULL, 0,
23318 "T_CSI", HFILL }},
23319 { &hf_gsm_map_ms_t_BCSM_CAMEL_TDP_CriteriaList,
23320 { "t-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.ms.t_BCSM_CAMEL_TDP_CriteriaList",
23321 FT_UINT32, BASE_DEC, NULL, 0,
23322 NULL, HFILL }},
23323 { &hf_gsm_map_ms_d_CSI,
23324 { "d-CSI", "gsm_map.ms.d_CSI_element",
23325 FT_NONE, BASE_NONE, NULL, 0,
23326 NULL, HFILL }},
23327 { &hf_gsm_map_ms_MT_smsCAMELTDP_CriteriaList_item,
23328 { "MT-smsCAMELTDP-Criteria", "gsm_map.ms.MT_smsCAMELTDP_Criteria_element",
23329 FT_NONE, BASE_NONE, NULL, 0,
23330 NULL, HFILL }},
23331 { &hf_gsm_map_ms_sms_TriggerDetectionPoint,
23332 { "sms-TriggerDetectionPoint", "gsm_map.ms.sms_TriggerDetectionPoint",
23333 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SMS_TriggerDetectionPoint_vals), 0,
23334 NULL, HFILL }},
23335 { &hf_gsm_map_ms_tpdu_TypeCriterion,
23336 { "tpdu-TypeCriterion", "gsm_map.ms.tpdu_TypeCriterion",
23337 FT_UINT32, BASE_DEC, NULL, 0,
23338 NULL, HFILL }},
23339 { &hf_gsm_map_ms_TPDU_TypeCriterion_item,
23340 { "MT-SMS-TPDU-Type", "gsm_map.ms.MT_SMS_TPDU_Type",
23341 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_MT_SMS_TPDU_Type_vals), 0,
23342 NULL, HFILL }},
23343 { &hf_gsm_map_ms_dp_AnalysedInfoCriteriaList,
23344 { "dp-AnalysedInfoCriteriaList", "gsm_map.ms.dp_AnalysedInfoCriteriaList",
23345 FT_UINT32, BASE_DEC, NULL, 0,
23346 NULL, HFILL }},
23347 { &hf_gsm_map_ms_DP_AnalysedInfoCriteriaList_item,
23348 { "DP-AnalysedInfoCriterium", "gsm_map.ms.DP_AnalysedInfoCriterium_element",
23349 FT_NONE, BASE_NONE, NULL, 0,
23350 NULL, HFILL }},
23351 { &hf_gsm_map_ms_dialledNumber,
23352 { "dialledNumber", "gsm_map.ms.dialledNumber",
23353 FT_BYTES, BASE_NONE, NULL, 0,
23354 "ISDN_AddressString", HFILL }},
23355 { &hf_gsm_map_ms_defaultCallHandling,
23356 { "defaultCallHandling", "gsm_map.ms.defaultCallHandling",
23357 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_DefaultCallHandling_vals), 0,
23358 NULL, HFILL }},
23359 { &hf_gsm_map_ms_ss_CamelData,
23360 { "ss-CamelData", "gsm_map.ms.ss_CamelData_element",
23361 FT_NONE, BASE_NONE, NULL, 0,
23362 NULL, HFILL }},
23363 { &hf_gsm_map_ms_ss_EventList,
23364 { "ss-EventList", "gsm_map.ms.ss_EventList",
23365 FT_UINT32, BASE_DEC, NULL, 0,
23366 NULL, HFILL }},
23367 { &hf_gsm_map_ms_SS_EventList_item,
23368 { "SS-Code", "gsm_map.ms.SS_Code",
23369 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
23370 NULL, HFILL }},
23371 { &hf_gsm_map_ms_o_BcsmCamelTDPDataList,
23372 { "o-BcsmCamelTDPDataList", "gsm_map.ms.o_BcsmCamelTDPDataList",
23373 FT_UINT32, BASE_DEC, NULL, 0,
23374 NULL, HFILL }},
23375 { &hf_gsm_map_ms_csiActive,
23376 { "csiActive", "gsm_map.ms.csiActive_element",
23377 FT_NONE, BASE_NONE, NULL, 0,
23378 NULL, HFILL }},
23379 { &hf_gsm_map_ms_O_BcsmCamelTDPDataList_item,
23380 { "O-BcsmCamelTDPData", "gsm_map.ms.O_BcsmCamelTDPData_element",
23381 FT_NONE, BASE_NONE, NULL, 0,
23382 NULL, HFILL }},
23383 { &hf_gsm_map_ms_o_BcsmTriggerDetectionPoint,
23384 { "o-BcsmTriggerDetectionPoint", "gsm_map.ms.o_BcsmTriggerDetectionPoint",
23385 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_O_BcsmTriggerDetectionPoint_vals), 0,
23386 NULL, HFILL }},
23387 { &hf_gsm_map_ms_O_BcsmCamelTDPCriteriaList_item,
23388 { "O-BcsmCamelTDP-Criteria", "gsm_map.ms.O_BcsmCamelTDP_Criteria_element",
23389 FT_NONE, BASE_NONE, NULL, 0,
23390 NULL, HFILL }},
23391 { &hf_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_item,
23392 { "T-BCSM-CAMEL-TDP-Criteria", "gsm_map.ms.T_BCSM_CAMEL_TDP_Criteria_element",
23393 FT_NONE, BASE_NONE, NULL, 0,
23394 NULL, HFILL }},
23395 { &hf_gsm_map_ms_destinationNumberCriteria,
23396 { "destinationNumberCriteria", "gsm_map.ms.destinationNumberCriteria_element",
23397 FT_NONE, BASE_NONE, NULL, 0,
23398 NULL, HFILL }},
23399 { &hf_gsm_map_ms_basicServiceCriteria,
23400 { "basicServiceCriteria", "gsm_map.ms.basicServiceCriteria",
23401 FT_UINT32, BASE_DEC, NULL, 0,
23402 NULL, HFILL }},
23403 { &hf_gsm_map_ms_callTypeCriteria,
23404 { "callTypeCriteria", "gsm_map.ms.callTypeCriteria",
23405 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_CallTypeCriteria_vals), 0,
23406 NULL, HFILL }},
23407 { &hf_gsm_map_ms_o_CauseValueCriteria,
23408 { "o-CauseValueCriteria", "gsm_map.ms.o_CauseValueCriteria",
23409 FT_UINT32, BASE_DEC, NULL, 0,
23410 NULL, HFILL }},
23411 { &hf_gsm_map_ms_t_BCSM_TriggerDetectionPoint,
23412 { "t-BCSM-TriggerDetectionPoint", "gsm_map.ms.t_BCSM_TriggerDetectionPoint",
23413 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_T_BcsmTriggerDetectionPoint_vals), 0,
23414 "T_BcsmTriggerDetectionPoint", HFILL }},
23415 { &hf_gsm_map_ms_t_CauseValueCriteria,
23416 { "t-CauseValueCriteria", "gsm_map.ms.t_CauseValueCriteria",
23417 FT_UINT32, BASE_DEC, NULL, 0,
23418 NULL, HFILL }},
23419 { &hf_gsm_map_ms_matchType,
23420 { "matchType", "gsm_map.ms.matchType",
23421 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_MatchType_vals), 0,
23422 NULL, HFILL }},
23423 { &hf_gsm_map_ms_destinationNumberList,
23424 { "destinationNumberList", "gsm_map.ms.destinationNumberList",
23425 FT_UINT32, BASE_DEC, NULL, 0,
23426 NULL, HFILL }},
23427 { &hf_gsm_map_ms_destinationNumberLengthList,
23428 { "destinationNumberLengthList", "gsm_map.ms.destinationNumberLengthList",
23429 FT_UINT32, BASE_DEC, NULL, 0,
23430 NULL, HFILL }},
23431 { &hf_gsm_map_ms_DestinationNumberList_item,
23432 { "ISDN-AddressString", "gsm_map.ms.ISDN_AddressString",
23433 FT_BYTES, BASE_NONE, NULL, 0,
23434 NULL, HFILL }},
23435 { &hf_gsm_map_ms_DestinationNumberLengthList_item,
23436 { "DestinationNumberLengthList item", "gsm_map.ms.DestinationNumberLengthList_item",
23437 FT_UINT32, BASE_DEC, NULL, 0,
23438 "INTEGER_1_maxNumOfISDN_AddressDigits", HFILL }},
23439 { &hf_gsm_map_ms_BasicServiceCriteria_item,
23440 { "Ext-BasicServiceCode", "gsm_map.ms.Ext_BasicServiceCode",
23441 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
23442 NULL, HFILL }},
23443 { &hf_gsm_map_ms_O_CauseValueCriteria_item,
23444 { "CauseValue", "gsm_map.ms.CauseValue",
23445 FT_BYTES, BASE_NONE, NULL, 0,
23446 NULL, HFILL }},
23447 { &hf_gsm_map_ms_T_CauseValueCriteria_item,
23448 { "CauseValue", "gsm_map.ms.CauseValue",
23449 FT_BYTES, BASE_NONE, NULL, 0,
23450 NULL, HFILL }},
23451 { &hf_gsm_map_ms_sms_CAMEL_TDP_DataList,
23452 { "sms-CAMEL-TDP-DataList", "gsm_map.ms.sms_CAMEL_TDP_DataList",
23453 FT_UINT32, BASE_DEC, NULL, 0,
23454 NULL, HFILL }},
23455 { &hf_gsm_map_ms_SMS_CAMEL_TDP_DataList_item,
23456 { "SMS-CAMEL-TDP-Data", "gsm_map.ms.SMS_CAMEL_TDP_Data_element",
23457 FT_NONE, BASE_NONE, NULL, 0,
23458 NULL, HFILL }},
23459 { &hf_gsm_map_ms_defaultSMS_Handling,
23460 { "defaultSMS-Handling", "gsm_map.ms.defaultSMS_Handling",
23461 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_DefaultSMS_Handling_vals), 0,
23462 NULL, HFILL }},
23463 { &hf_gsm_map_ms_mobilityTriggers,
23464 { "mobilityTriggers", "gsm_map.ms.mobilityTriggers",
23465 FT_UINT32, BASE_DEC, NULL, 0,
23466 NULL, HFILL }},
23467 { &hf_gsm_map_ms_MobilityTriggers_item,
23468 { "MM-Code", "gsm_map.ms.MM_Code",
23469 FT_BYTES, BASE_NONE, NULL, 0,
23470 NULL, HFILL }},
23471 { &hf_gsm_map_ms_t_BcsmCamelTDPDataList,
23472 { "t-BcsmCamelTDPDataList", "gsm_map.ms.t_BcsmCamelTDPDataList",
23473 FT_UINT32, BASE_DEC, NULL, 0,
23474 NULL, HFILL }},
23475 { &hf_gsm_map_ms_T_BcsmCamelTDPDataList_item,
23476 { "T-BcsmCamelTDPData", "gsm_map.ms.T_BcsmCamelTDPData_element",
23477 FT_NONE, BASE_NONE, NULL, 0,
23478 NULL, HFILL }},
23479 { &hf_gsm_map_ms_t_BcsmTriggerDetectionPoint,
23480 { "t-BcsmTriggerDetectionPoint", "gsm_map.ms.t_BcsmTriggerDetectionPoint",
23481 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_T_BcsmTriggerDetectionPoint_vals), 0,
23482 NULL, HFILL }},
23483 { &hf_gsm_map_ms_ggsn_Address,
23484 { "ggsn-Address", "gsm_map.ms.ggsn_Address",
23485 FT_BYTES, BASE_NONE, NULL, 0,
23486 "GSN_Address", HFILL }},
23487 { &hf_gsm_map_ms_ggsn_Number,
23488 { "ggsn-Number", "gsm_map.ms.ggsn_Number",
23489 FT_BYTES, BASE_NONE, NULL, 0,
23490 "ISDN_AddressString", HFILL }},
23491 { &hf_gsm_map_ms_mobileNotReachableReason,
23492 { "mobileNotReachableReason", "gsm_map.ms.mobileNotReachableReason",
23493 FT_UINT32, BASE_DEC, NULL, 0,
23494 "AbsentSubscriberDiagnosticSM", HFILL }},
23495 { &hf_gsm_map_ms_sendingNodenumber,
23496 { "sendingNodenumber", "gsm_map.ms.sendingNodenumber",
23497 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SendingNode_Number_vals), 0,
23498 "SendingNode_Number", HFILL }},
23499 { &hf_gsm_map_ms_hlr_List,
23500 { "hlr-List", "gsm_map.ms.hlr_List",
23501 FT_UINT32, BASE_DEC, NULL, 0,
23502 NULL, HFILL }},
23503 { &hf_gsm_map_ms_css_Number,
23504 { "css-Number", "gsm_map.ms.css_Number",
23505 FT_BYTES, BASE_NONE, NULL, 0,
23506 "ISDN_AddressString", HFILL }},
23507 { &hf_gsm_map_ms_msNotReachable,
23508 { "msNotReachable", "gsm_map.ms.msNotReachable_element",
23509 FT_NONE, BASE_NONE, NULL, 0,
23510 NULL, HFILL }},
23511 { &hf_gsm_map_ms_VBSDataList_item,
23512 { "VoiceBroadcastData", "gsm_map.ms.VoiceBroadcastData_element",
23513 FT_NONE, BASE_NONE, NULL, 0,
23514 NULL, HFILL }},
23515 { &hf_gsm_map_ms_VGCSDataList_item,
23516 { "VoiceGroupCallData", "gsm_map.ms.VoiceGroupCallData_element",
23517 FT_NONE, BASE_NONE, NULL, 0,
23518 NULL, HFILL }},
23519 { &hf_gsm_map_ms_groupId,
23520 { "groupId", "gsm_map.ms.groupId",
23521 FT_BYTES, BASE_NONE, NULL, 0,
23522 NULL, HFILL }},
23523 { &hf_gsm_map_ms_additionalSubscriptions,
23524 { "additionalSubscriptions", "gsm_map.ms.additionalSubscriptions",
23525 FT_BYTES, BASE_NONE, NULL, 0,
23526 NULL, HFILL }},
23527 { &hf_gsm_map_ms_additionalInfo,
23528 { "additionalInfo", "gsm_map.ms.additionalInfo",
23529 FT_BYTES, BASE_NONE, NULL, 0,
23530 NULL, HFILL }},
23531 { &hf_gsm_map_ms_longGroupId,
23532 { "longGroupId", "gsm_map.ms.longGroupId",
23533 FT_BYTES, BASE_NONE, NULL, 0,
23534 "Long_GroupId", HFILL }},
23535 { &hf_gsm_map_ms_groupid,
23536 { "groupid", "gsm_map.ms.groupid",
23537 FT_BYTES, BASE_NONE, NULL, 0,
23538 NULL, HFILL }},
23539 { &hf_gsm_map_ms_broadcastInitEntitlement,
23540 { "broadcastInitEntitlement", "gsm_map.ms.broadcastInitEntitlement_element",
23541 FT_NONE, BASE_NONE, NULL, 0,
23542 NULL, HFILL }},
23543 { &hf_gsm_map_ms_requestedInfo,
23544 { "requestedInfo", "gsm_map.ms.requestedInfo_element",
23545 FT_NONE, BASE_NONE, NULL, 0,
23546 NULL, HFILL }},
23547 { &hf_gsm_map_ms_callPriority,
23548 { "callPriority", "gsm_map.ms.callPriority",
23549 FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0,
23550 "EMLPP_Priority", HFILL }},
23551 { &hf_gsm_map_ms_subscriberInfo,
23552 { "subscriberInfo", "gsm_map.ms.subscriberInfo_element",
23553 FT_NONE, BASE_NONE, NULL, 0,
23554 NULL, HFILL }},
23555 { &hf_gsm_map_ms_locationInformation,
23556 { "locationInformation", "gsm_map.ms.locationInformation_element",
23557 FT_NONE, BASE_NONE, NULL, 0,
23558 NULL, HFILL }},
23559 { &hf_gsm_map_ms_subscriberState,
23560 { "subscriberState", "gsm_map.ms.subscriberState",
23561 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SubscriberState_vals), 0,
23562 NULL, HFILL }},
23563 { &hf_gsm_map_ms_locationInformationGPRS,
23564 { "locationInformationGPRS", "gsm_map.ms.locationInformationGPRS_element",
23565 FT_NONE, BASE_NONE, NULL, 0,
23566 NULL, HFILL }},
23567 { &hf_gsm_map_ms_ps_SubscriberState,
23568 { "ps-SubscriberState", "gsm_map.ms.ps_SubscriberState",
23569 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_PS_SubscriberState_vals), 0,
23570 NULL, HFILL }},
23571 { &hf_gsm_map_ms_ms_Classmark2,
23572 { "ms-Classmark2", "gsm_map.ms.ms_Classmark2",
23573 FT_BYTES, BASE_NONE, NULL, 0,
23574 NULL, HFILL }},
23575 { &hf_gsm_map_ms_gprs_MS_Class,
23576 { "gprs-MS-Class", "gsm_map.ms.gprs_MS_Class_element",
23577 FT_NONE, BASE_NONE, NULL, 0,
23578 "GPRSMSClass", HFILL }},
23579 { &hf_gsm_map_ms_mnpInfoRes,
23580 { "mnpInfoRes", "gsm_map.ms.mnpInfoRes_element",
23581 FT_NONE, BASE_NONE, NULL, 0,
23582 NULL, HFILL }},
23583 { &hf_gsm_map_ms_imsVoiceOverPS_SessionsIndication,
23584 { "imsVoiceOverPS-SessionsIndication", "gsm_map.ms.imsVoiceOverPS_SessionsIndication",
23585 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_IMS_VoiceOverPS_SessionsInd_vals), 0,
23586 "IMS_VoiceOverPS_SessionsInd", HFILL }},
23587 { &hf_gsm_map_ms_lastUE_ActivityTime,
23588 { "lastUE-ActivityTime", "gsm_map.ms.lastUE_ActivityTime",
23589 FT_BYTES, BASE_NONE, NULL, 0,
23590 "Time", HFILL }},
23591 { &hf_gsm_map_ms_lastRAT_Type,
23592 { "lastRAT-Type", "gsm_map.ms.lastRAT_Type",
23593 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_Used_RAT_Type_vals), 0,
23594 "Used_RAT_Type", HFILL }},
23595 { &hf_gsm_map_ms_eps_SubscriberState,
23596 { "eps-SubscriberState", "gsm_map.ms.eps_SubscriberState",
23597 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_PS_SubscriberState_vals), 0,
23598 "PS_SubscriberState", HFILL }},
23599 { &hf_gsm_map_ms_locationInformationEPS,
23600 { "locationInformationEPS", "gsm_map.ms.locationInformationEPS_element",
23601 FT_NONE, BASE_NONE, NULL, 0,
23602 NULL, HFILL }},
23603 { &hf_gsm_map_ms_timeZone,
23604 { "timeZone", "gsm_map.ms.timeZone",
23605 FT_BYTES, BASE_NONE, NULL, 0,
23606 NULL, HFILL }},
23607 { &hf_gsm_map_ms_daylightSavingTime,
23608 { "daylightSavingTime", "gsm_map.ms.daylightSavingTime",
23609 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_DaylightSavingTime_vals), 0,
23610 NULL, HFILL }},
23611 { &hf_gsm_map_ms_routeingNumber,
23612 { "routeingNumber", "gsm_map.ms.routeingNumber",
23613 FT_BYTES, BASE_NONE, NULL, 0,
23614 NULL, HFILL }},
23615 { &hf_gsm_map_ms_numberPortabilityStatus,
23616 { "numberPortabilityStatus", "gsm_map.ms.numberPortabilityStatus",
23617 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NumberPortabilityStatus_vals), 0,
23618 NULL, HFILL }},
23619 { &hf_gsm_map_ms_mSNetworkCapability,
23620 { "mSNetworkCapability", "gsm_map.ms.mSNetworkCapability",
23621 FT_BYTES, BASE_NONE, NULL, 0,
23622 NULL, HFILL }},
23623 { &hf_gsm_map_ms_mSRadioAccessCapability,
23624 { "mSRadioAccessCapability", "gsm_map.ms.mSRadioAccessCapability",
23625 FT_BYTES, BASE_NONE, NULL, 0,
23626 NULL, HFILL }},
23627 { &hf_gsm_map_ms_locationInformation_01,
23628 { "locationInformation", "gsm_map.ms.locationInformation_element",
23629 FT_NONE, BASE_NONE, NULL, 0,
23630 NULL, HFILL }},
23631 { &hf_gsm_map_ms_subscriberState_01,
23632 { "subscriberState", "gsm_map.ms.subscriberState_element",
23633 FT_NONE, BASE_NONE, NULL, 0,
23634 NULL, HFILL }},
23635 { &hf_gsm_map_ms_currentLocation,
23636 { "currentLocation", "gsm_map.ms.currentLocation_element",
23637 FT_NONE, BASE_NONE, NULL, 0,
23638 NULL, HFILL }},
23639 { &hf_gsm_map_ms_requestedDomain,
23640 { "requestedDomain", "gsm_map.ms.requestedDomain",
23641 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_DomainType_vals), 0,
23642 "DomainType", HFILL }},
23643 { &hf_gsm_map_ms_imei_01,
23644 { "imei", "gsm_map.ms.imei_null_element",
23645 FT_NONE, BASE_NONE, NULL, 0,
23646 NULL, HFILL }},
23647 { &hf_gsm_map_ms_ms_classmark,
23648 { "ms-classmark", "gsm_map.ms.ms_classmark_element",
23649 FT_NONE, BASE_NONE, NULL, 0,
23650 NULL, HFILL }},
23651 { &hf_gsm_map_ms_mnpRequestedInfo,
23652 { "mnpRequestedInfo", "gsm_map.ms.mnpRequestedInfo_element",
23653 FT_NONE, BASE_NONE, NULL, 0,
23654 NULL, HFILL }},
23655 { &hf_gsm_map_ms_locationInformationEPS_Supported,
23656 { "locationInformationEPS-Supported", "gsm_map.ms.locationInformationEPS_Supported_element",
23657 FT_NONE, BASE_NONE, NULL, 0,
23658 NULL, HFILL }},
23659 { &hf_gsm_map_ms_t_adsData,
23660 { "t-adsData", "gsm_map.ms.t_adsData_element",
23661 FT_NONE, BASE_NONE, NULL, 0,
23662 NULL, HFILL }},
23663 { &hf_gsm_map_ms_requestedNodes,
23664 { "requestedNodes", "gsm_map.ms.requestedNodes",
23665 FT_BYTES, BASE_NONE, NULL, 0,
23666 NULL, HFILL }},
23667 { &hf_gsm_map_ms_servingNodeIndication,
23668 { "servingNodeIndication", "gsm_map.ms.servingNodeIndication_element",
23669 FT_NONE, BASE_NONE, NULL, 0,
23670 NULL, HFILL }},
23671 { &hf_gsm_map_ms_localTimeZoneRequest,
23672 { "localTimeZoneRequest", "gsm_map.ms.localTimeZoneRequest_element",
23673 FT_NONE, BASE_NONE, NULL, 0,
23674 NULL, HFILL }},
23675 { &hf_gsm_map_ms_ageOfLocationInformation,
23676 { "ageOfLocationInformation", "gsm_map.ms.ageOfLocationInformation",
23677 FT_UINT32, BASE_DEC, NULL, 0,
23678 NULL, HFILL }},
23679 { &hf_gsm_map_ms_geographicalInformation,
23680 { "geographicalInformation", "gsm_map.ms.geographicalInformation",
23681 FT_BYTES, BASE_NONE, NULL, 0,
23682 NULL, HFILL }},
23683 { &hf_gsm_map_ms_vlr_number,
23684 { "vlr-number", "gsm_map.ms.vlr_number",
23685 FT_BYTES, BASE_NONE, NULL, 0,
23686 "ISDN_AddressString", HFILL }},
23687 { &hf_gsm_map_ms_locationNumber,
23688 { "locationNumber", "gsm_map.ms.locationNumber",
23689 FT_BYTES, BASE_NONE, NULL, 0,
23690 NULL, HFILL }},
23691 { &hf_gsm_map_ms_cellGlobalIdOrServiceAreaIdOrLAI,
23692 { "cellGlobalIdOrServiceAreaIdOrLAI", "gsm_map.ms.cellGlobalIdOrServiceAreaIdOrLAI",
23693 FT_UINT32, BASE_DEC, VALS(gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals), 0,
23694 NULL, HFILL }},
23695 { &hf_gsm_map_ms_selectedLSA_Id,
23696 { "selectedLSA-Id", "gsm_map.ms.selectedLSA_Id",
23697 FT_BYTES, BASE_NONE, NULL, 0,
23698 "LSAIdentity", HFILL }},
23699 { &hf_gsm_map_ms_geodeticInformation,
23700 { "geodeticInformation", "gsm_map.ms.geodeticInformation",
23701 FT_BYTES, BASE_NONE, NULL, 0,
23702 NULL, HFILL }},
23703 { &hf_gsm_map_ms_currentLocationRetrieved,
23704 { "currentLocationRetrieved", "gsm_map.ms.currentLocationRetrieved_element",
23705 FT_NONE, BASE_NONE, NULL, 0,
23706 NULL, HFILL }},
23707 { &hf_gsm_map_ms_sai_Present,
23708 { "sai-Present", "gsm_map.ms.sai_Present_element",
23709 FT_NONE, BASE_NONE, NULL, 0,
23710 NULL, HFILL }},
23711 { &hf_gsm_map_ms_userCSGInformation,
23712 { "userCSGInformation", "gsm_map.ms.userCSGInformation_element",
23713 FT_NONE, BASE_NONE, NULL, 0,
23714 NULL, HFILL }},
23715 { &hf_gsm_map_ms_e_utranCellGlobalIdentity,
23716 { "e-utranCellGlobalIdentity", "gsm_map.ms.e_utranCellGlobalIdentity",
23717 FT_BYTES, BASE_NONE, NULL, 0,
23718 "E_UTRAN_CGI", HFILL }},
23719 { &hf_gsm_map_ms_trackingAreaIdentity,
23720 { "trackingAreaIdentity", "gsm_map.ms.trackingAreaIdentity",
23721 FT_BYTES, BASE_NONE, NULL, 0,
23722 "TA_Id", HFILL }},
23723 { &hf_gsm_map_ms_mme_Name,
23724 { "mme-Name", "gsm_map.ms.mme_Name",
23725 FT_BYTES, BASE_NONE, NULL, 0,
23726 "DiameterIdentity", HFILL }},
23727 { &hf_gsm_map_ms_routeingAreaIdentity,
23728 { "routeingAreaIdentity", "gsm_map.ms.routeingAreaIdentity",
23729 FT_BYTES, BASE_NONE, NULL, 0,
23730 "RAIdentity", HFILL }},
23731 { &hf_gsm_map_ms_selectedLSAIdentity,
23732 { "selectedLSAIdentity", "gsm_map.ms.selectedLSAIdentity",
23733 FT_BYTES, BASE_NONE, NULL, 0,
23734 "LSAIdentity", HFILL }},
23735 { &hf_gsm_map_ms_accessMode,
23736 { "accessMode", "gsm_map.ms.accessMode",
23737 FT_BYTES, BASE_NONE, NULL, 0,
23738 "OCTET_STRING_SIZE_1", HFILL }},
23739 { &hf_gsm_map_ms_cmi,
23740 { "cmi", "gsm_map.ms.cmi",
23741 FT_BYTES, BASE_NONE, NULL, 0,
23742 "OCTET_STRING_SIZE_1", HFILL }},
23743 { &hf_gsm_map_ms_assumedIdle,
23744 { "assumedIdle", "gsm_map.ms.assumedIdle_element",
23745 FT_NONE, BASE_NONE, NULL, 0,
23746 NULL, HFILL }},
23747 { &hf_gsm_map_ms_camelBusy,
23748 { "camelBusy", "gsm_map.ms.camelBusy_element",
23749 FT_NONE, BASE_NONE, NULL, 0,
23750 NULL, HFILL }},
23751 { &hf_gsm_map_ms_netDetNotReachable,
23752 { "netDetNotReachable", "gsm_map.ms.netDetNotReachable",
23753 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NotReachableReason_vals), 0,
23754 "NotReachableReason", HFILL }},
23755 { &hf_gsm_map_ms_notProvidedFromVLR,
23756 { "notProvidedFromVLR", "gsm_map.ms.notProvidedFromVLR_element",
23757 FT_NONE, BASE_NONE, NULL, 0,
23758 NULL, HFILL }},
23759 { &hf_gsm_map_ms_notProvidedFromSGSNorMME,
23760 { "notProvidedFromSGSNorMME", "gsm_map.ms.notProvidedFromSGSNorMME_element",
23761 FT_NONE, BASE_NONE, NULL, 0,
23762 NULL, HFILL }},
23763 { &hf_gsm_map_ms_ps_Detached,
23764 { "ps-Detached", "gsm_map.ms.ps_Detached_element",
23765 FT_NONE, BASE_NONE, NULL, 0,
23766 NULL, HFILL }},
23767 { &hf_gsm_map_ms_ps_AttachedNotReachableForPaging,
23768 { "ps-AttachedNotReachableForPaging", "gsm_map.ms.ps_AttachedNotReachableForPaging_element",
23769 FT_NONE, BASE_NONE, NULL, 0,
23770 NULL, HFILL }},
23771 { &hf_gsm_map_ms_ps_AttachedReachableForPaging,
23772 { "ps-AttachedReachableForPaging", "gsm_map.ms.ps_AttachedReachableForPaging_element",
23773 FT_NONE, BASE_NONE, NULL, 0,
23774 NULL, HFILL }},
23775 { &hf_gsm_map_ms_ps_PDP_ActiveNotReachableForPaging,
23776 { "ps-PDP-ActiveNotReachableForPaging", "gsm_map.ms.ps_PDP_ActiveNotReachableForPaging",
23777 FT_UINT32, BASE_DEC, NULL, 0,
23778 "PDP_ContextInfoList", HFILL }},
23779 { &hf_gsm_map_ms_ps_PDP_ActiveReachableForPaging,
23780 { "ps-PDP-ActiveReachableForPaging", "gsm_map.ms.ps_PDP_ActiveReachableForPaging",
23781 FT_UINT32, BASE_DEC, NULL, 0,
23782 "PDP_ContextInfoList", HFILL }},
23783 { &hf_gsm_map_ms_PDP_ContextInfoList_item,
23784 { "PDP-ContextInfo", "gsm_map.ms.PDP_ContextInfo_element",
23785 FT_NONE, BASE_NONE, NULL, 0,
23786 NULL, HFILL }},
23787 { &hf_gsm_map_ms_pdp_ContextIdentifier,
23788 { "pdp-ContextIdentifier", "gsm_map.ms.pdp_ContextIdentifier",
23789 FT_UINT32, BASE_DEC, NULL, 0,
23790 "ContextId", HFILL }},
23791 { &hf_gsm_map_ms_pdp_ContextActive,
23792 { "pdp-ContextActive", "gsm_map.ms.pdp_ContextActive_element",
23793 FT_NONE, BASE_NONE, NULL, 0,
23794 NULL, HFILL }},
23795 { &hf_gsm_map_ms_apn_Subscribed,
23796 { "apn-Subscribed", "gsm_map.ms.apn_Subscribed",
23797 FT_BYTES, BASE_NONE, NULL, 0,
23798 "APN", HFILL }},
23799 { &hf_gsm_map_ms_apn_InUse,
23800 { "apn-InUse", "gsm_map.ms.apn_InUse",
23801 FT_BYTES, BASE_NONE, NULL, 0,
23802 "APN", HFILL }},
23803 { &hf_gsm_map_ms_nsapi,
23804 { "nsapi", "gsm_map.ms.nsapi",
23805 FT_UINT32, BASE_DEC, NULL, 0,
23806 NULL, HFILL }},
23807 { &hf_gsm_map_ms_transactionId,
23808 { "transactionId", "gsm_map.ms.transactionId",
23809 FT_BYTES, BASE_NONE, NULL, 0,
23810 NULL, HFILL }},
23811 { &hf_gsm_map_ms_teid_ForGnAndGp,
23812 { "teid-ForGnAndGp", "gsm_map.ms.teid_ForGnAndGp",
23813 FT_BYTES, BASE_NONE, NULL, 0,
23814 "TEID", HFILL }},
23815 { &hf_gsm_map_ms_teid_ForIu,
23816 { "teid-ForIu", "gsm_map.ms.teid_ForIu",
23817 FT_BYTES, BASE_NONE, NULL, 0,
23818 "TEID", HFILL }},
23819 { &hf_gsm_map_ms_qos_Subscribed_01,
23820 { "qos-Subscribed", "gsm_map.ms.qos_Subscribed",
23821 FT_BYTES, BASE_NONE, NULL, 0,
23822 "Ext_QoS_Subscribed", HFILL }},
23823 { &hf_gsm_map_ms_qos_Requested,
23824 { "qos-Requested", "gsm_map.ms.qos_Requested",
23825 FT_BYTES, BASE_NONE, NULL, 0,
23826 "Ext_QoS_Subscribed", HFILL }},
23827 { &hf_gsm_map_ms_qos_Negotiated,
23828 { "qos-Negotiated", "gsm_map.ms.qos_Negotiated",
23829 FT_BYTES, BASE_NONE, NULL, 0,
23830 "Ext_QoS_Subscribed", HFILL }},
23831 { &hf_gsm_map_ms_chargingId,
23832 { "chargingId", "gsm_map.ms.chargingId",
23833 FT_BYTES, BASE_NONE, NULL, 0,
23834 "GPRSChargingID", HFILL }},
23835 { &hf_gsm_map_ms_rnc_Address,
23836 { "rnc-Address", "gsm_map.ms.rnc_Address",
23837 FT_BYTES, BASE_NONE, NULL, 0,
23838 "GSN_Address", HFILL }},
23839 { &hf_gsm_map_ms_qos2_Subscribed,
23840 { "qos2-Subscribed", "gsm_map.ms.qos2_Subscribed",
23841 FT_BYTES, BASE_NONE, NULL, 0,
23842 "Ext2_QoS_Subscribed", HFILL }},
23843 { &hf_gsm_map_ms_qos2_Requested,
23844 { "qos2-Requested", "gsm_map.ms.qos2_Requested",
23845 FT_BYTES, BASE_NONE, NULL, 0,
23846 "Ext2_QoS_Subscribed", HFILL }},
23847 { &hf_gsm_map_ms_qos2_Negotiated,
23848 { "qos2-Negotiated", "gsm_map.ms.qos2_Negotiated",
23849 FT_BYTES, BASE_NONE, NULL, 0,
23850 "Ext2_QoS_Subscribed", HFILL }},
23851 { &hf_gsm_map_ms_qos3_Subscribed,
23852 { "qos3-Subscribed", "gsm_map.ms.qos3_Subscribed",
23853 FT_BYTES, BASE_NONE, NULL, 0,
23854 "Ext3_QoS_Subscribed", HFILL }},
23855 { &hf_gsm_map_ms_qos3_Requested,
23856 { "qos3-Requested", "gsm_map.ms.qos3_Requested",
23857 FT_BYTES, BASE_NONE, NULL, 0,
23858 "Ext3_QoS_Subscribed", HFILL }},
23859 { &hf_gsm_map_ms_qos3_Negotiated,
23860 { "qos3-Negotiated", "gsm_map.ms.qos3_Negotiated",
23861 FT_BYTES, BASE_NONE, NULL, 0,
23862 "Ext3_QoS_Subscribed", HFILL }},
23863 { &hf_gsm_map_ms_qos4_Subscribed,
23864 { "qos4-Subscribed", "gsm_map.ms.qos4_Subscribed",
23865 FT_BYTES, BASE_NONE, NULL, 0,
23866 "Ext4_QoS_Subscribed", HFILL }},
23867 { &hf_gsm_map_ms_qos4_Requested,
23868 { "qos4-Requested", "gsm_map.ms.qos4_Requested",
23869 FT_BYTES, BASE_NONE, NULL, 0,
23870 "Ext4_QoS_Subscribed", HFILL }},
23871 { &hf_gsm_map_ms_qos4_Negotiated,
23872 { "qos4-Negotiated", "gsm_map.ms.qos4_Negotiated",
23873 FT_BYTES, BASE_NONE, NULL, 0,
23874 "Ext4_QoS_Subscribed", HFILL }},
23875 { &hf_gsm_map_ms_subscriberIdentity,
23876 { "subscriberIdentity", "gsm_map.ms.subscriberIdentity",
23877 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberIdentity_vals), 0,
23878 NULL, HFILL }},
23879 { &hf_gsm_map_ms_requestedSubscriptionInfo,
23880 { "requestedSubscriptionInfo", "gsm_map.ms.requestedSubscriptionInfo_element",
23881 FT_NONE, BASE_NONE, NULL, 0,
23882 NULL, HFILL }},
23883 { &hf_gsm_map_ms_callForwardingData,
23884 { "callForwardingData", "gsm_map.ms.callForwardingData_element",
23885 FT_NONE, BASE_NONE, NULL, 0,
23886 NULL, HFILL }},
23887 { &hf_gsm_map_ms_callBarringData,
23888 { "callBarringData", "gsm_map.ms.callBarringData_element",
23889 FT_NONE, BASE_NONE, NULL, 0,
23890 NULL, HFILL }},
23891 { &hf_gsm_map_ms_odb_Info,
23892 { "odb-Info", "gsm_map.ms.odb_Info_element",
23893 FT_NONE, BASE_NONE, NULL, 0,
23894 NULL, HFILL }},
23895 { &hf_gsm_map_ms_camel_SubscriptionInfo,
23896 { "camel-SubscriptionInfo", "gsm_map.ms.camel_SubscriptionInfo_element",
23897 FT_NONE, BASE_NONE, NULL, 0,
23898 NULL, HFILL }},
23899 { &hf_gsm_map_ms_supportedVLR_CAMEL_Phases,
23900 { "supportedVLR-CAMEL-Phases", "gsm_map.ms.supportedVLR_CAMEL_Phases",
23901 FT_BYTES, BASE_NONE, NULL, 0,
23902 "SupportedCamelPhases", HFILL }},
23903 { &hf_gsm_map_ms_supportedSGSN_CAMEL_Phases,
23904 { "supportedSGSN-CAMEL-Phases", "gsm_map.ms.supportedSGSN_CAMEL_Phases",
23905 FT_BYTES, BASE_NONE, NULL, 0,
23906 "SupportedCamelPhases", HFILL }},
23907 { &hf_gsm_map_ms_offeredCamel4CSIsInVLR,
23908 { "offeredCamel4CSIsInVLR", "gsm_map.ms.offeredCamel4CSIsInVLR",
23909 FT_BYTES, BASE_NONE, NULL, 0,
23910 "OfferedCamel4CSIs", HFILL }},
23911 { &hf_gsm_map_ms_offeredCamel4CSIsInSGSN,
23912 { "offeredCamel4CSIsInSGSN", "gsm_map.ms.offeredCamel4CSIsInSGSN",
23913 FT_BYTES, BASE_NONE, NULL, 0,
23914 "OfferedCamel4CSIs", HFILL }},
23915 { &hf_gsm_map_ms_msisdn_BS_List,
23916 { "msisdn-BS-List", "gsm_map.ms.msisdn_BS_List",
23917 FT_UINT32, BASE_DEC, NULL, 0,
23918 NULL, HFILL }},
23919 { &hf_gsm_map_ms_cw_Data,
23920 { "cw-Data", "gsm_map.ms.cw_Data_element",
23921 FT_NONE, BASE_NONE, NULL, 0,
23922 "CallWaitingData", HFILL }},
23923 { &hf_gsm_map_ms_ch_Data,
23924 { "ch-Data", "gsm_map.ms.ch_Data_element",
23925 FT_NONE, BASE_NONE, NULL, 0,
23926 "CallHoldData", HFILL }},
23927 { &hf_gsm_map_ms_clip_Data,
23928 { "clip-Data", "gsm_map.ms.clip_Data_element",
23929 FT_NONE, BASE_NONE, NULL, 0,
23930 "ClipData", HFILL }},
23931 { &hf_gsm_map_ms_clir_Data,
23932 { "clir-Data", "gsm_map.ms.clir_Data_element",
23933 FT_NONE, BASE_NONE, NULL, 0,
23934 "ClirData", HFILL }},
23935 { &hf_gsm_map_ms_ect_data,
23936 { "ect-data", "gsm_map.ms.ect_data_element",
23937 FT_NONE, BASE_NONE, NULL, 0,
23938 "EctData", HFILL }},
23939 { &hf_gsm_map_ms_cwFeatureList,
23940 { "cwFeatureList", "gsm_map.ms.cwFeatureList",
23941 FT_UINT32, BASE_DEC, NULL, 0,
23942 "Ext_CwFeatureList", HFILL }},
23943 { &hf_gsm_map_ms_Ext_CwFeatureList_item,
23944 { "Ext-CwFeature", "gsm_map.ms.Ext_CwFeature_element",
23945 FT_NONE, BASE_NONE, NULL, 0,
23946 NULL, HFILL }},
23947 { &hf_gsm_map_ms_overrideCategory,
23948 { "overrideCategory", "gsm_map.ms.overrideCategory",
23949 FT_UINT32, BASE_DEC, VALS(gsm_map_ss_OverrideCategory_vals), 0,
23950 NULL, HFILL }},
23951 { &hf_gsm_map_ms_cliRestrictionOption,
23952 { "cliRestrictionOption", "gsm_map.ms.cliRestrictionOption",
23953 FT_UINT32, BASE_DEC, VALS(gsm_map_ss_CliRestrictionOption_vals), 0,
23954 NULL, HFILL }},
23955 { &hf_gsm_map_ms_requestedSS_Info,
23956 { "requestedSS-Info", "gsm_map.ms.requestedSS_Info_element",
23957 FT_NONE, BASE_NONE, NULL, 0,
23958 "SS_ForBS_Code", HFILL }},
23959 { &hf_gsm_map_ms_odb,
23960 { "odb", "gsm_map.ms.odb_element",
23961 FT_NONE, BASE_NONE, NULL, 0,
23962 NULL, HFILL }},
23963 { &hf_gsm_map_ms_requestedCAMEL_SubscriptionInfo,
23964 { "requestedCAMEL-SubscriptionInfo", "gsm_map.ms.requestedCAMEL_SubscriptionInfo",
23965 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_RequestedCAMEL_SubscriptionInfo_vals), 0,
23966 NULL, HFILL }},
23967 { &hf_gsm_map_ms_supportedVLR_CAMEL_Phases_01,
23968 { "supportedVLR-CAMEL-Phases", "gsm_map.ms.supportedVLR_CAMEL_Phases_element",
23969 FT_NONE, BASE_NONE, NULL, 0,
23970 NULL, HFILL }},
23971 { &hf_gsm_map_ms_supportedSGSN_CAMEL_Phases_01,
23972 { "supportedSGSN-CAMEL-Phases", "gsm_map.ms.supportedSGSN_CAMEL_Phases_element",
23973 FT_NONE, BASE_NONE, NULL, 0,
23974 NULL, HFILL }},
23975 { &hf_gsm_map_ms_additionalRequestedCAMEL_SubscriptionInfo,
23976 { "additionalRequestedCAMEL-SubscriptionInfo", "gsm_map.ms.additionalRequestedCAMEL_SubscriptionInfo",
23977 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo_vals), 0,
23978 NULL, HFILL }},
23979 { &hf_gsm_map_ms_msisdn_BS_List_01,
23980 { "msisdn-BS-List", "gsm_map.ms.msisdn_BS_List_element",
23981 FT_NONE, BASE_NONE, NULL, 0,
23982 NULL, HFILL }},
23983 { &hf_gsm_map_ms_csg_SubscriptionDataRequested,
23984 { "csg-SubscriptionDataRequested", "gsm_map.ms.csg_SubscriptionDataRequested_element",
23985 FT_NONE, BASE_NONE, NULL, 0,
23986 NULL, HFILL }},
23987 { &hf_gsm_map_ms_cw_Info,
23988 { "cw-Info", "gsm_map.ms.cw_Info_element",
23989 FT_NONE, BASE_NONE, NULL, 0,
23990 NULL, HFILL }},
23991 { &hf_gsm_map_ms_clip_Info,
23992 { "clip-Info", "gsm_map.ms.clip_Info_element",
23993 FT_NONE, BASE_NONE, NULL, 0,
23994 NULL, HFILL }},
23995 { &hf_gsm_map_ms_clir_Info,
23996 { "clir-Info", "gsm_map.ms.clir_Info_element",
23997 FT_NONE, BASE_NONE, NULL, 0,
23998 NULL, HFILL }},
23999 { &hf_gsm_map_ms_hold_Info,
24000 { "hold-Info", "gsm_map.ms.hold_Info_element",
24001 FT_NONE, BASE_NONE, NULL, 0,
24002 NULL, HFILL }},
24003 { &hf_gsm_map_ms_ect_Info,
24004 { "ect-Info", "gsm_map.ms.ect_Info_element",
24005 FT_NONE, BASE_NONE, NULL, 0,
24006 NULL, HFILL }},
24007 { &hf_gsm_map_ms_MSISDN_BS_List_item,
24008 { "MSISDN-BS", "gsm_map.ms.MSISDN_BS_element",
24009 FT_NONE, BASE_NONE, NULL, 0,
24010 NULL, HFILL }},
24011 { &hf_gsm_map_ms_password,
24012 { "password", "gsm_map.ms.password",
24013 FT_STRING, BASE_NONE, NULL, 0,
24014 NULL, HFILL }},
24015 { &hf_gsm_map_ms_wrongPasswordAttemptsCounter,
24016 { "wrongPasswordAttemptsCounter", "gsm_map.ms.wrongPasswordAttemptsCounter",
24017 FT_UINT32, BASE_DEC, NULL, 0,
24018 NULL, HFILL }},
24019 { &hf_gsm_map_ms_t_CSI,
24020 { "t-CSI", "gsm_map.ms.t_CSI_element",
24021 FT_NONE, BASE_NONE, NULL, 0,
24022 NULL, HFILL }},
24023 { &hf_gsm_map_ms_vt_BCSM_CAMEL_TDP_CriteriaList,
24024 { "vt-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.ms.vt_BCSM_CAMEL_TDP_CriteriaList",
24025 FT_UINT32, BASE_DEC, NULL, 0,
24026 "T_BCSM_CAMEL_TDP_CriteriaList", HFILL }},
24027 { &hf_gsm_map_ms_tif_CSI_NotificationToCSE,
24028 { "tif-CSI-NotificationToCSE", "gsm_map.ms.tif_CSI_NotificationToCSE_element",
24029 FT_NONE, BASE_NONE, NULL, 0,
24030 NULL, HFILL }},
24031 { &hf_gsm_map_ms_specificCSIDeletedList,
24032 { "specificCSIDeletedList", "gsm_map.ms.specificCSIDeletedList",
24033 FT_BYTES, BASE_NONE, NULL, 0,
24034 "SpecificCSI_Withdraw", HFILL }},
24035 { &hf_gsm_map_ms_o_IM_CSI,
24036 { "o-IM-CSI", "gsm_map.ms.o_IM_CSI_element",
24037 FT_NONE, BASE_NONE, NULL, 0,
24038 "O_CSI", HFILL }},
24039 { &hf_gsm_map_ms_o_IM_BcsmCamelTDP_CriteriaList,
24040 { "o-IM-BcsmCamelTDP-CriteriaList", "gsm_map.ms.o_IM_BcsmCamelTDP_CriteriaList",
24041 FT_UINT32, BASE_DEC, NULL, 0,
24042 "O_BcsmCamelTDPCriteriaList", HFILL }},
24043 { &hf_gsm_map_ms_d_IM_CSI,
24044 { "d-IM-CSI", "gsm_map.ms.d_IM_CSI_element",
24045 FT_NONE, BASE_NONE, NULL, 0,
24046 "D_CSI", HFILL }},
24047 { &hf_gsm_map_ms_vt_IM_CSI,
24048 { "vt-IM-CSI", "gsm_map.ms.vt_IM_CSI_element",
24049 FT_NONE, BASE_NONE, NULL, 0,
24050 "T_CSI", HFILL }},
24051 { &hf_gsm_map_ms_vt_IM_BCSM_CAMEL_TDP_CriteriaList,
24052 { "vt-IM-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.ms.vt_IM_BCSM_CAMEL_TDP_CriteriaList",
24053 FT_UINT32, BASE_DEC, NULL, 0,
24054 "T_BCSM_CAMEL_TDP_CriteriaList", HFILL }},
24055 { &hf_gsm_map_ms_modificationRequestFor_CF_Info,
24056 { "modificationRequestFor-CF-Info", "gsm_map.ms.modificationRequestFor_CF_Info_element",
24057 FT_NONE, BASE_NONE, NULL, 0,
24058 NULL, HFILL }},
24059 { &hf_gsm_map_ms_modificationRequestFor_CB_Info,
24060 { "modificationRequestFor-CB-Info", "gsm_map.ms.modificationRequestFor_CB_Info_element",
24061 FT_NONE, BASE_NONE, NULL, 0,
24062 NULL, HFILL }},
24063 { &hf_gsm_map_ms_modificationRequestFor_CSI,
24064 { "modificationRequestFor-CSI", "gsm_map.ms.modificationRequestFor_CSI_element",
24065 FT_NONE, BASE_NONE, NULL, 0,
24066 NULL, HFILL }},
24067 { &hf_gsm_map_ms_modificationRequestFor_ODB_data,
24068 { "modificationRequestFor-ODB-data", "gsm_map.ms.modificationRequestFor_ODB_data_element",
24069 FT_NONE, BASE_NONE, NULL, 0,
24070 NULL, HFILL }},
24071 { &hf_gsm_map_ms_modificationRequestFor_IP_SM_GW_Data,
24072 { "modificationRequestFor-IP-SM-GW-Data", "gsm_map.ms.modificationRequestFor_IP_SM_GW_Data_element",
24073 FT_NONE, BASE_NONE, NULL, 0,
24074 NULL, HFILL }},
24075 { &hf_gsm_map_ms_activationRequestForUE_reachability,
24076 { "activationRequestForUE-reachability", "gsm_map.ms.activationRequestForUE_reachability",
24077 FT_BYTES, BASE_NONE, NULL, 0,
24078 "RequestedServingNode", HFILL }},
24079 { &hf_gsm_map_ms_modificationRequestFor_CSG,
24080 { "modificationRequestFor-CSG", "gsm_map.ms.modificationRequestFor_CSG_element",
24081 FT_NONE, BASE_NONE, NULL, 0,
24082 NULL, HFILL }},
24083 { &hf_gsm_map_ms_modificationRequestFor_CW_Data,
24084 { "modificationRequestFor-CW-Data", "gsm_map.ms.modificationRequestFor_CW_Data_element",
24085 FT_NONE, BASE_NONE, NULL, 0,
24086 "ModificationRequestFor_CW_Info", HFILL }},
24087 { &hf_gsm_map_ms_modificationRequestFor_CLIP_Data,
24088 { "modificationRequestFor-CLIP-Data", "gsm_map.ms.modificationRequestFor_CLIP_Data_element",
24089 FT_NONE, BASE_NONE, NULL, 0,
24090 "ModificationRequestFor_CLIP_Info", HFILL }},
24091 { &hf_gsm_map_ms_modificationRequestFor_CLIR_Data,
24092 { "modificationRequestFor-CLIR-Data", "gsm_map.ms.modificationRequestFor_CLIR_Data_element",
24093 FT_NONE, BASE_NONE, NULL, 0,
24094 "ModificationRequestFor_CLIR_Info", HFILL }},
24095 { &hf_gsm_map_ms_modificationRequestFor_HOLD_Data,
24096 { "modificationRequestFor-HOLD-Data", "gsm_map.ms.modificationRequestFor_HOLD_Data_element",
24097 FT_NONE, BASE_NONE, NULL, 0,
24098 "ModificationRequestFor_CH_Info", HFILL }},
24099 { &hf_gsm_map_ms_modificationRequestFor_ECT_Data,
24100 { "modificationRequestFor-ECT-Data", "gsm_map.ms.modificationRequestFor_ECT_Data_element",
24101 FT_NONE, BASE_NONE, NULL, 0,
24102 "ModificationRequestFor_ECT_Info", HFILL }},
24103 { &hf_gsm_map_ms_modifyNotificationToCSE,
24104 { "modifyNotificationToCSE", "gsm_map.ms.modifyNotificationToCSE",
24105 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_ModificationInstruction_vals), 0,
24106 "ModificationInstruction", HFILL }},
24107 { &hf_gsm_map_ms_ss_InfoFor_CSE,
24108 { "ss-InfoFor-CSE", "gsm_map.ms.ss_InfoFor_CSE",
24109 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_Ext_SS_InfoFor_CSE_vals), 0,
24110 "Ext_SS_InfoFor_CSE", HFILL }},
24111 { &hf_gsm_map_ms_serviceCentreAddress,
24112 { "serviceCentreAddress", "gsm_map.ms.serviceCentreAddress",
24113 FT_BYTES, BASE_NONE, NULL, 0,
24114 "AddressString", HFILL }},
24115 { &hf_gsm_map_ms_forwardedToNumber_01,
24116 { "forwardedToNumber", "gsm_map.ms.forwardedToNumber",
24117 FT_BYTES, BASE_NONE, NULL, 0,
24118 "AddressString", HFILL }},
24119 { &hf_gsm_map_ms_odb_data,
24120 { "odb-data", "gsm_map.ms.odb_data_element",
24121 FT_NONE, BASE_NONE, NULL, 0,
24122 NULL, HFILL }},
24123 { &hf_gsm_map_ms_requestedCamel_SubscriptionInfo,
24124 { "requestedCamel-SubscriptionInfo", "gsm_map.ms.requestedCamel_SubscriptionInfo",
24125 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_RequestedCAMEL_SubscriptionInfo_vals), 0,
24126 NULL, HFILL }},
24127 { &hf_gsm_map_ms_modifyCSI_State,
24128 { "modifyCSI-State", "gsm_map.ms.modifyCSI_State",
24129 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_ModificationInstruction_vals), 0,
24130 "ModificationInstruction", HFILL }},
24131 { &hf_gsm_map_ms_modifyRegistrationStatus,
24132 { "modifyRegistrationStatus", "gsm_map.ms.modifyRegistrationStatus",
24133 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_ModificationInstruction_vals), 0,
24134 "ModificationInstruction", HFILL }},
24135 { &hf_gsm_map_ms_ip_sm_gw_DiameterAddress,
24136 { "ip-sm-gw-DiameterAddress", "gsm_map.ms.ip_sm_gw_DiameterAddress_element",
24137 FT_NONE, BASE_NONE, NULL, 0,
24138 "NetworkNodeDiameterAddress", HFILL }},
24139 { &hf_gsm_map_ms_forwardingInfoFor_CSE,
24140 { "forwardingInfoFor-CSE", "gsm_map.ms.forwardingInfoFor_CSE_element",
24141 FT_NONE, BASE_NONE, NULL, 0,
24142 "Ext_ForwardingInfoFor_CSE", HFILL }},
24143 { &hf_gsm_map_ms_callBarringInfoFor_CSE,
24144 { "callBarringInfoFor-CSE", "gsm_map.ms.callBarringInfoFor_CSE_element",
24145 FT_NONE, BASE_NONE, NULL, 0,
24146 "Ext_CallBarringInfoFor_CSE", HFILL }},
24147 { &hf_gsm_map_ms_allInformationSent,
24148 { "allInformationSent", "gsm_map.ms.allInformationSent_element",
24149 FT_NONE, BASE_NONE, NULL, 0,
24150 NULL, HFILL }},
24151 { &hf_gsm_map_ms_ue_reachable,
24152 { "ue-reachable", "gsm_map.ms.ue_reachable",
24153 FT_BYTES, BASE_NONE, NULL, 0,
24154 "ServingNode", HFILL }},
24155 { &hf_gsm_map_ms_eventMet,
24156 { "eventMet", "gsm_map.ms.eventMet",
24157 FT_BYTES, BASE_NONE, NULL, 0,
24158 "MM_Code", HFILL }},
24159 { &hf_gsm_map_ms_supportedCAMELPhases,
24160 { "supportedCAMELPhases", "gsm_map.ms.supportedCAMELPhases",
24161 FT_BYTES, BASE_NONE, NULL, 0,
24162 NULL, HFILL }},
24163 { &hf_gsm_map_ms_offeredCamel4Functionalities,
24164 { "offeredCamel4Functionalities", "gsm_map.ms.offeredCamel4Functionalities",
24165 FT_BYTES, BASE_NONE, NULL, 0,
24166 NULL, HFILL }},
24167 { &hf_gsm_map_ms_temporaryEmptySubscriptiondataIndicator,
24168 { "temporaryEmptySubscriptiondataIndicator", "gsm_map.ms.temporaryEmptySubscriptiondataIndicator_element",
24169 FT_NONE, BASE_NONE, NULL, 0,
24170 NULL, HFILL }},
24171 { &hf_gsm_map_ms_naea_PreferredCI,
24172 { "naea-PreferredCI", "gsm_map.ms.naea_PreferredCI_element",
24173 FT_NONE, BASE_NONE, NULL, 0,
24174 NULL, HFILL }},
24175 { &hf_gsm_map_ms_gprsSubscriptionData,
24176 { "gprsSubscriptionData", "gsm_map.ms.gprsSubscriptionData_element",
24177 FT_NONE, BASE_NONE, NULL, 0,
24178 NULL, HFILL }},
24179 { &hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsupportedFeature,
24180 { "roamingRestrictedInSgsnDueToUnsupportedFeature", "gsm_map.ms.roamingRestrictedInSgsnDueToUnsupportedFeature_element",
24181 FT_NONE, BASE_NONE, NULL, 0,
24182 NULL, HFILL }},
24183 { &hf_gsm_map_ms_networkAccessMode,
24184 { "networkAccessMode", "gsm_map.ms.networkAccessMode",
24185 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NetworkAccessMode_vals), 0,
24186 NULL, HFILL }},
24187 { &hf_gsm_map_ms_lsaInformation,
24188 { "lsaInformation", "gsm_map.ms.lsaInformation_element",
24189 FT_NONE, BASE_NONE, NULL, 0,
24190 NULL, HFILL }},
24191 { &hf_gsm_map_ms_lmu_Indicator,
24192 { "lmu-Indicator", "gsm_map.ms.lmu_Indicator_element",
24193 FT_NONE, BASE_NONE, NULL, 0,
24194 NULL, HFILL }},
24195 { &hf_gsm_map_ms_lcsInformation,
24196 { "lcsInformation", "gsm_map.ms.lcsInformation_element",
24197 FT_NONE, BASE_NONE, NULL, 0,
24198 NULL, HFILL }},
24199 { &hf_gsm_map_ms_istAlertTimer,
24200 { "istAlertTimer", "gsm_map.ms.istAlertTimer",
24201 FT_UINT32, BASE_DEC, NULL, 0,
24202 "IST_AlertTimerValue", HFILL }},
24203 { &hf_gsm_map_ms_superChargerSupportedInHLR,
24204 { "superChargerSupportedInHLR", "gsm_map.ms.superChargerSupportedInHLR",
24205 FT_BYTES, BASE_NONE, NULL, 0,
24206 "AgeIndicator", HFILL }},
24207 { &hf_gsm_map_ms_mc_SS_Info,
24208 { "mc-SS-Info", "gsm_map.ms.mc_SS_Info_element",
24209 FT_NONE, BASE_NONE, NULL, 0,
24210 NULL, HFILL }},
24211 { &hf_gsm_map_ms_cs_AllocationRetentionPriority,
24212 { "cs-AllocationRetentionPriority", "gsm_map.ms.cs_AllocationRetentionPriority",
24213 FT_BYTES, BASE_NONE, NULL, 0,
24214 NULL, HFILL }},
24215 { &hf_gsm_map_ms_sgsn_CAMEL_SubscriptionInfo,
24216 { "sgsn-CAMEL-SubscriptionInfo", "gsm_map.ms.sgsn_CAMEL_SubscriptionInfo_element",
24217 FT_NONE, BASE_NONE, NULL, 0,
24218 NULL, HFILL }},
24219 { &hf_gsm_map_ms_accessRestrictionData,
24220 { "accessRestrictionData", "gsm_map.ms.accessRestrictionData",
24221 FT_BYTES, BASE_NONE, NULL, 0,
24222 NULL, HFILL }},
24223 { &hf_gsm_map_ms_ics_Indicator,
24224 { "ics-Indicator", "gsm_map.ms.ics_Indicator",
24225 FT_BOOLEAN, BASE_NONE, NULL, 0,
24226 "BOOLEAN", HFILL }},
24227 { &hf_gsm_map_ms_eps_SubscriptionData,
24228 { "eps-SubscriptionData", "gsm_map.ms.eps_SubscriptionData_element",
24229 FT_NONE, BASE_NONE, NULL, 0,
24230 NULL, HFILL }},
24231 { &hf_gsm_map_ms_ue_ReachabilityRequestIndicator,
24232 { "ue-ReachabilityRequestIndicator", "gsm_map.ms.ue_ReachabilityRequestIndicator_element",
24233 FT_NONE, BASE_NONE, NULL, 0,
24234 NULL, HFILL }},
24235 { &hf_gsm_map_ms_subscribedPeriodicRAUTAUtimer,
24236 { "subscribedPeriodicRAUTAUtimer", "gsm_map.ms.subscribedPeriodicRAUTAUtimer",
24237 FT_UINT32, BASE_DEC, NULL, 0,
24238 NULL, HFILL }},
24239 { &hf_gsm_map_ms_vplmnLIPAAllowed,
24240 { "vplmnLIPAAllowed", "gsm_map.ms.vplmnLIPAAllowed_element",
24241 FT_NONE, BASE_NONE, NULL, 0,
24242 NULL, HFILL }},
24243 { &hf_gsm_map_ms_mdtUserConsent,
24244 { "mdtUserConsent", "gsm_map.ms.mdtUserConsent",
24245 FT_BOOLEAN, BASE_NONE, NULL, 0,
24246 "BOOLEAN", HFILL }},
24247 { &hf_gsm_map_ms_subscribedPeriodicLAUtimer,
24248 { "subscribedPeriodicLAUtimer", "gsm_map.ms.subscribedPeriodicLAUtimer",
24249 FT_UINT32, BASE_DEC, NULL, 0,
24250 NULL, HFILL }},
24251 { &hf_gsm_map_ms_vplmn_Csg_SubscriptionDataList,
24252 { "vplmn-Csg-SubscriptionDataList", "gsm_map.ms.vplmn_Csg_SubscriptionDataList",
24253 FT_UINT32, BASE_DEC, NULL, 0,
24254 NULL, HFILL }},
24255 { &hf_gsm_map_ms_additionalMSISDN,
24256 { "additionalMSISDN", "gsm_map.ms.additionalMSISDN",
24257 FT_BYTES, BASE_NONE, NULL, 0,
24258 "ISDN_AddressString", HFILL }},
24259 { &hf_gsm_map_ms_psAndSMS_OnlyServiceProvision,
24260 { "psAndSMS-OnlyServiceProvision", "gsm_map.ms.psAndSMS_OnlyServiceProvision_element",
24261 FT_NONE, BASE_NONE, NULL, 0,
24262 NULL, HFILL }},
24263 { &hf_gsm_map_ms_smsInSGSNAllowed,
24264 { "smsInSGSNAllowed", "gsm_map.ms.smsInSGSNAllowed_element",
24265 FT_NONE, BASE_NONE, NULL, 0,
24266 NULL, HFILL }},
24267 { &hf_gsm_map_ms_SupportedRAT_Types_utran,
24268 { "utran", "gsm_map.ms.utran",
24269 FT_BOOLEAN, 8, NULL, 0x80,
24270 NULL, HFILL }},
24271 { &hf_gsm_map_ms_SupportedRAT_Types_geran,
24272 { "geran", "gsm_map.ms.geran",
24273 FT_BOOLEAN, 8, NULL, 0x40,
24274 NULL, HFILL }},
24275 { &hf_gsm_map_ms_SupportedRAT_Types_gan,
24276 { "gan", "gsm_map.ms.gan",
24277 FT_BOOLEAN, 8, NULL, 0x20,
24278 NULL, HFILL }},
24279 { &hf_gsm_map_ms_SupportedRAT_Types_i_hspa_evolution,
24280 { "i-hspa-evolution", "gsm_map.ms.i-hspa-evolution",
24281 FT_BOOLEAN, 8, NULL, 0x10,
24282 NULL, HFILL }},
24283 { &hf_gsm_map_ms_SupportedRAT_Types_e_utran,
24284 { "e-utran", "gsm_map.ms.e-utran",
24285 FT_BOOLEAN, 8, NULL, 0x08,
24286 NULL, HFILL }},
24287 { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet1,
24288 { "lcsCapabilitySet1", "gsm_map.ms.lcsCapabilitySet1",
24289 FT_BOOLEAN, 8, NULL, 0x80,
24290 NULL, HFILL }},
24291 { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet2,
24292 { "lcsCapabilitySet2", "gsm_map.ms.lcsCapabilitySet2",
24293 FT_BOOLEAN, 8, NULL, 0x40,
24294 NULL, HFILL }},
24295 { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet3,
24296 { "lcsCapabilitySet3", "gsm_map.ms.lcsCapabilitySet3",
24297 FT_BOOLEAN, 8, NULL, 0x20,
24298 NULL, HFILL }},
24299 { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet4,
24300 { "lcsCapabilitySet4", "gsm_map.ms.lcsCapabilitySet4",
24301 FT_BOOLEAN, 8, NULL, 0x10,
24302 NULL, HFILL }},
24303 { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet5,
24304 { "lcsCapabilitySet5", "gsm_map.ms.lcsCapabilitySet5",
24305 FT_BOOLEAN, 8, NULL, 0x08,
24306 NULL, HFILL }},
24307 { &hf_gsm_map_ms_ISR_Information_updateLocation,
24308 { "updateLocation", "gsm_map.ms.updateLocation",
24309 FT_BOOLEAN, 8, NULL, 0x80,
24310 NULL, HFILL }},
24311 { &hf_gsm_map_ms_ISR_Information_cancelSGSN,
24312 { "cancelSGSN", "gsm_map.ms.cancelSGSN",
24313 FT_BOOLEAN, 8, NULL, 0x40,
24314 NULL, HFILL }},
24315 { &hf_gsm_map_ms_ISR_Information_initialAttachIndicator,
24316 { "initialAttachIndicator", "gsm_map.ms.initialAttachIndicator",
24317 FT_BOOLEAN, 8, NULL, 0x20,
24318 NULL, HFILL }},
24319 { &hf_gsm_map_ms_SupportedFeatures_odb_all_apn,
24320 { "odb-all-apn", "gsm_map.ms.odb-all-apn",
24321 FT_BOOLEAN, 8, NULL, 0x80,
24322 NULL, HFILL }},
24323 { &hf_gsm_map_ms_SupportedFeatures_odb_HPLMN_APN,
24324 { "odb-HPLMN-APN", "gsm_map.ms.odb-HPLMN-APN",
24325 FT_BOOLEAN, 8, NULL, 0x40,
24326 NULL, HFILL }},
24327 { &hf_gsm_map_ms_SupportedFeatures_odb_VPLMN_APN,
24328 { "odb-VPLMN-APN", "gsm_map.ms.odb-VPLMN-APN",
24329 FT_BOOLEAN, 8, NULL, 0x20,
24330 NULL, HFILL }},
24331 { &hf_gsm_map_ms_SupportedFeatures_odb_all_og,
24332 { "odb-all-og", "gsm_map.ms.odb-all-og",
24333 FT_BOOLEAN, 8, NULL, 0x10,
24334 NULL, HFILL }},
24335 { &hf_gsm_map_ms_SupportedFeatures_odb_all_international_og,
24336 { "odb-all-international-og", "gsm_map.ms.odb-all-international-og",
24337 FT_BOOLEAN, 8, NULL, 0x08,
24338 NULL, HFILL }},
24339 { &hf_gsm_map_ms_SupportedFeatures_odb_all_int_og_not_to_HPLMN_country,
24340 { "odb-all-int-og-not-to-HPLMN-country", "gsm_map.ms.odb-all-int-og-not-to-HPLMN-country",
24341 FT_BOOLEAN, 8, NULL, 0x04,
24342 NULL, HFILL }},
24343 { &hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og,
24344 { "odb-all-interzonal-og", "gsm_map.ms.odb-all-interzonal-og",
24345 FT_BOOLEAN, 8, NULL, 0x02,
24346 NULL, HFILL }},
24347 { &hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og_not_to_HPLMN_country,
24348 { "odb-all-interzonal-og-not-to-HPLMN-country", "gsm_map.ms.odb-all-interzonal-og-not-to-HPLMN-country",
24349 FT_BOOLEAN, 8, NULL, 0x01,
24350 NULL, HFILL }},
24351 { &hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og_and_internat_og_not_to_HPLMN_country,
24352 { "odb-all-interzonal-og-and-internat-og-not-to-HPLMN-country", "gsm_map.ms.odb-all-interzonal-og-and-internat-og-not-to-HPLMN-country",
24353 FT_BOOLEAN, 8, NULL, 0x80,
24354 NULL, HFILL }},
24355 { &hf_gsm_map_ms_SupportedFeatures_regSub,
24356 { "regSub", "gsm_map.ms.regSub",
24357 FT_BOOLEAN, 8, NULL, 0x40,
24358 NULL, HFILL }},
24359 { &hf_gsm_map_ms_SupportedFeatures_trace,
24360 { "trace", "gsm_map.ms.trace",
24361 FT_BOOLEAN, 8, NULL, 0x20,
24362 NULL, HFILL }},
24363 { &hf_gsm_map_ms_SupportedFeatures_lcs_all_PrivExcep,
24364 { "lcs-all-PrivExcep", "gsm_map.ms.lcs-all-PrivExcep",
24365 FT_BOOLEAN, 8, NULL, 0x10,
24366 NULL, HFILL }},
24367 { &hf_gsm_map_ms_SupportedFeatures_lcs_universal,
24368 { "lcs-universal", "gsm_map.ms.lcs-universal",
24369 FT_BOOLEAN, 8, NULL, 0x08,
24370 NULL, HFILL }},
24371 { &hf_gsm_map_ms_SupportedFeatures_lcs_CallSessionRelated,
24372 { "lcs-CallSessionRelated", "gsm_map.ms.lcs-CallSessionRelated",
24373 FT_BOOLEAN, 8, NULL, 0x04,
24374 NULL, HFILL }},
24375 { &hf_gsm_map_ms_SupportedFeatures_lcs_CallSessionUnrelated,
24376 { "lcs-CallSessionUnrelated", "gsm_map.ms.lcs-CallSessionUnrelated",
24377 FT_BOOLEAN, 8, NULL, 0x02,
24378 NULL, HFILL }},
24379 { &hf_gsm_map_ms_SupportedFeatures_lcs_PLMN_operator,
24380 { "lcs-PLMN-operator", "gsm_map.ms.lcs-PLMN-operator",
24381 FT_BOOLEAN, 8, NULL, 0x01,
24382 NULL, HFILL }},
24383 { &hf_gsm_map_ms_SupportedFeatures_lcs_ServiceType,
24384 { "lcs-ServiceType", "gsm_map.ms.lcs-ServiceType",
24385 FT_BOOLEAN, 8, NULL, 0x80,
24386 NULL, HFILL }},
24387 { &hf_gsm_map_ms_SupportedFeatures_lcs_all_MOLR_SS,
24388 { "lcs-all-MOLR-SS", "gsm_map.ms.lcs-all-MOLR-SS",
24389 FT_BOOLEAN, 8, NULL, 0x40,
24390 NULL, HFILL }},
24391 { &hf_gsm_map_ms_SupportedFeatures_lcs_basicSelfLocation,
24392 { "lcs-basicSelfLocation", "gsm_map.ms.lcs-basicSelfLocation",
24393 FT_BOOLEAN, 8, NULL, 0x20,
24394 NULL, HFILL }},
24395 { &hf_gsm_map_ms_SupportedFeatures_lcs_autonomousSelfLocation,
24396 { "lcs-autonomousSelfLocation", "gsm_map.ms.lcs-autonomousSelfLocation",
24397 FT_BOOLEAN, 8, NULL, 0x10,
24398 NULL, HFILL }},
24399 { &hf_gsm_map_ms_SupportedFeatures_lcs_transferToThirdParty,
24400 { "lcs-transferToThirdParty", "gsm_map.ms.lcs-transferToThirdParty",
24401 FT_BOOLEAN, 8, NULL, 0x08,
24402 NULL, HFILL }},
24403 { &hf_gsm_map_ms_SupportedFeatures_sm_mo_pp,
24404 { "sm-mo-pp", "gsm_map.ms.sm-mo-pp",
24405 FT_BOOLEAN, 8, NULL, 0x04,
24406 NULL, HFILL }},
24407 { &hf_gsm_map_ms_SupportedFeatures_barring_OutgoingCalls,
24408 { "barring-OutgoingCalls", "gsm_map.ms.barring-OutgoingCalls",
24409 FT_BOOLEAN, 8, NULL, 0x02,
24410 NULL, HFILL }},
24411 { &hf_gsm_map_ms_SupportedFeatures_baoc,
24412 { "baoc", "gsm_map.ms.baoc",
24413 FT_BOOLEAN, 8, NULL, 0x01,
24414 NULL, HFILL }},
24415 { &hf_gsm_map_ms_SupportedFeatures_boic,
24416 { "boic", "gsm_map.ms.boic",
24417 FT_BOOLEAN, 8, NULL, 0x80,
24418 NULL, HFILL }},
24419 { &hf_gsm_map_ms_SupportedFeatures_boicExHC,
24420 { "boicExHC", "gsm_map.ms.boicExHC",
24421 FT_BOOLEAN, 8, NULL, 0x40,
24422 NULL, HFILL }},
24423 { &hf_gsm_map_ms_SupportedFeatures_localTimeZoneRetrieval,
24424 { "localTimeZoneRetrieval", "gsm_map.ms.localTimeZoneRetrieval",
24425 FT_BOOLEAN, 8, NULL, 0x20,
24426 NULL, HFILL }},
24427 { &hf_gsm_map_ms_SupportedFeatures_additionalMsisdn,
24428 { "additionalMsisdn", "gsm_map.ms.additionalMsisdn",
24429 FT_BOOLEAN, 8, NULL, 0x10,
24430 NULL, HFILL }},
24431 { &hf_gsm_map_ms_SupportedFeatures_smsInMME,
24432 { "smsInMME", "gsm_map.ms.smsInMME",
24433 FT_BOOLEAN, 8, NULL, 0x08,
24434 NULL, HFILL }},
24435 { &hf_gsm_map_ms_SupportedFeatures_smsInSGSN,
24436 { "smsInSGSN", "gsm_map.ms.smsInSGSN",
24437 FT_BOOLEAN, 8, NULL, 0x04,
24438 NULL, HFILL }},
24439 { &hf_gsm_map_ms_LCLS_Negotiation_permission_indicator_not_allowed_bit,
24440 { "permission-indicator-not-allowed-bit", "gsm_map.ms.permission-indicator-not-allowed-bit",
24441 FT_BOOLEAN, 8, NULL, 0x80,
24442 NULL, HFILL }},
24443 { &hf_gsm_map_ms_LCLS_Negotiation_permission_indicator_spare_bit,
24444 { "permission-indicator-spare-bit", "gsm_map.ms.permission-indicator-spare-bit",
24445 FT_BOOLEAN, 8, NULL, 0x40,
24446 NULL, HFILL }},
24447 { &hf_gsm_map_ms_LCLS_ConfigurationPreference_forward_data_sending_indicator,
24448 { "forward-data-sending-indicator", "gsm_map.ms.forward-data-sending-indicator",
24449 FT_BOOLEAN, 8, NULL, 0x80,
24450 NULL, HFILL }},
24451 { &hf_gsm_map_ms_LCLS_ConfigurationPreference_backward_data_sending_indicator,
24452 { "backward-data-sending-indicator", "gsm_map.ms.backward-data-sending-indicator",
24453 FT_BOOLEAN, 8, NULL, 0x40,
24454 NULL, HFILL }},
24455 { &hf_gsm_map_ms_LCLS_ConfigurationPreference_forward_data_reception_indicator,
24456 { "forward-data-reception-indicator", "gsm_map.ms.forward-data-reception-indicator",
24457 FT_BOOLEAN, 8, NULL, 0x20,
24458 NULL, HFILL }},
24459 { &hf_gsm_map_ms_LCLS_ConfigurationPreference_backward_data_reception_indicator,
24460 { "backward-data-reception-indicator", "gsm_map.ms.backward-data-reception-indicator",
24461 FT_BOOLEAN, 8, NULL, 0x10,
24462 NULL, HFILL }},
24463 { &hf_gsm_map_ms_RequestedEquipmentInfo_equipmentStatus,
24464 { "equipmentStatus", "gsm_map.ms.equipmentStatus",
24465 FT_BOOLEAN, 8, NULL, 0x80,
24466 NULL, HFILL }},
24467 { &hf_gsm_map_ms_RequestedEquipmentInfo_bmuef,
24468 { "bmuef", "gsm_map.ms.bmuef",
24469 FT_BOOLEAN, 8, NULL, 0x40,
24470 NULL, HFILL }},
24471 { &hf_gsm_map_ms_AccessRestrictionData_utranNotAllowed,
24472 { "utranNotAllowed", "gsm_map.ms.utranNotAllowed",
24473 FT_BOOLEAN, 8, NULL, 0x80,
24474 NULL, HFILL }},
24475 { &hf_gsm_map_ms_AccessRestrictionData_geranNotAllowed,
24476 { "geranNotAllowed", "gsm_map.ms.geranNotAllowed",
24477 FT_BOOLEAN, 8, NULL, 0x40,
24478 NULL, HFILL }},
24479 { &hf_gsm_map_ms_AccessRestrictionData_ganNotAllowed,
24480 { "ganNotAllowed", "gsm_map.ms.ganNotAllowed",
24481 FT_BOOLEAN, 8, NULL, 0x20,
24482 NULL, HFILL }},
24483 { &hf_gsm_map_ms_AccessRestrictionData_i_hspa_evolutionNotAllowed,
24484 { "i-hspa-evolutionNotAllowed", "gsm_map.ms.i-hspa-evolutionNotAllowed",
24485 FT_BOOLEAN, 8, NULL, 0x10,
24486 NULL, HFILL }},
24487 { &hf_gsm_map_ms_AccessRestrictionData_e_utranNotAllowed,
24488 { "e-utranNotAllowed", "gsm_map.ms.e-utranNotAllowed",
24489 FT_BOOLEAN, 8, NULL, 0x08,
24490 NULL, HFILL }},
24491 { &hf_gsm_map_ms_AccessRestrictionData_ho_toNon3GPP_AccessNotAllowed,
24492 { "ho-toNon3GPP-AccessNotAllowed", "gsm_map.ms.ho-toNon3GPP-AccessNotAllowed",
24493 FT_BOOLEAN, 8, NULL, 0x04,
24494 NULL, HFILL }},
24495 { &hf_gsm_map_ms_ODB_GeneralData_allOG_CallsBarred,
24496 { "allOG-CallsBarred", "gsm_map.ms.allOG-CallsBarred",
24497 FT_BOOLEAN, 8, NULL, 0x80,
24498 NULL, HFILL }},
24499 { &hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsBarred,
24500 { "internationalOGCallsBarred", "gsm_map.ms.internationalOGCallsBarred",
24501 FT_BOOLEAN, 8, NULL, 0x40,
24502 NULL, HFILL }},
24503 { &hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred,
24504 { "internationalOGCallsNotToHPLMN-CountryBarred", "gsm_map.ms.internationalOGCallsNotToHPLMN-CountryBarred",
24505 FT_BOOLEAN, 8, NULL, 0x20,
24506 NULL, HFILL }},
24507 { &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsBarred,
24508 { "interzonalOGCallsBarred", "gsm_map.ms.interzonalOGCallsBarred",
24509 FT_BOOLEAN, 8, NULL, 0x02,
24510 NULL, HFILL }},
24511 { &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred,
24512 { "interzonalOGCallsNotToHPLMN-CountryBarred", "gsm_map.ms.interzonalOGCallsNotToHPLMN-CountryBarred",
24513 FT_BOOLEAN, 8, NULL, 0x01,
24514 NULL, HFILL }},
24515 { &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred,
24516 { "interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred", "gsm_map.ms.interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred",
24517 FT_BOOLEAN, 8, NULL, 0x80,
24518 NULL, HFILL }},
24519 { &hf_gsm_map_ms_ODB_GeneralData_premiumRateInformationOGCallsBarred,
24520 { "premiumRateInformationOGCallsBarred", "gsm_map.ms.premiumRateInformationOGCallsBarred",
24521 FT_BOOLEAN, 8, NULL, 0x10,
24522 NULL, HFILL }},
24523 { &hf_gsm_map_ms_ODB_GeneralData_premiumRateEntertainementOGCallsBarred,
24524 { "premiumRateEntertainementOGCallsBarred", "gsm_map.ms.premiumRateEntertainementOGCallsBarred",
24525 FT_BOOLEAN, 8, NULL, 0x08,
24526 NULL, HFILL }},
24527 { &hf_gsm_map_ms_ODB_GeneralData_ss_AccessBarred,
24528 { "ss-AccessBarred", "gsm_map.ms.ss-AccessBarred",
24529 FT_BOOLEAN, 8, NULL, 0x04,
24530 NULL, HFILL }},
24531 { &hf_gsm_map_ms_ODB_GeneralData_allECT_Barred,
24532 { "allECT-Barred", "gsm_map.ms.allECT-Barred",
24533 FT_BOOLEAN, 8, NULL, 0x40,
24534 NULL, HFILL }},
24535 { &hf_gsm_map_ms_ODB_GeneralData_chargeableECT_Barred,
24536 { "chargeableECT-Barred", "gsm_map.ms.chargeableECT-Barred",
24537 FT_BOOLEAN, 8, NULL, 0x20,
24538 NULL, HFILL }},
24539 { &hf_gsm_map_ms_ODB_GeneralData_internationalECT_Barred,
24540 { "internationalECT-Barred", "gsm_map.ms.internationalECT-Barred",
24541 FT_BOOLEAN, 8, NULL, 0x10,
24542 NULL, HFILL }},
24543 { &hf_gsm_map_ms_ODB_GeneralData_interzonalECT_Barred,
24544 { "interzonalECT-Barred", "gsm_map.ms.interzonalECT-Barred",
24545 FT_BOOLEAN, 8, NULL, 0x08,
24546 NULL, HFILL }},
24547 { &hf_gsm_map_ms_ODB_GeneralData_doublyChargeableECT_Barred,
24548 { "doublyChargeableECT-Barred", "gsm_map.ms.doublyChargeableECT-Barred",
24549 FT_BOOLEAN, 8, NULL, 0x04,
24550 NULL, HFILL }},
24551 { &hf_gsm_map_ms_ODB_GeneralData_multipleECT_Barred,
24552 { "multipleECT-Barred", "gsm_map.ms.multipleECT-Barred",
24553 FT_BOOLEAN, 8, NULL, 0x02,
24554 NULL, HFILL }},
24555 { &hf_gsm_map_ms_ODB_GeneralData_allPacketOrientedServicesBarred,
24556 { "allPacketOrientedServicesBarred", "gsm_map.ms.allPacketOrientedServicesBarred",
24557 FT_BOOLEAN, 8, NULL, 0x01,
24558 NULL, HFILL }},
24559 { &hf_gsm_map_ms_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred,
24560 { "roamerAccessToHPLMN-AP-Barred", "gsm_map.ms.roamerAccessToHPLMN-AP-Barred",
24561 FT_BOOLEAN, 8, NULL, 0x80,
24562 NULL, HFILL }},
24563 { &hf_gsm_map_ms_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred,
24564 { "roamerAccessToVPLMN-AP-Barred", "gsm_map.ms.roamerAccessToVPLMN-AP-Barred",
24565 FT_BOOLEAN, 8, NULL, 0x40,
24566 NULL, HFILL }},
24567 { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred,
24568 { "roamingOutsidePLMNOG-CallsBarred", "gsm_map.ms.roamingOutsidePLMNOG-CallsBarred",
24569 FT_BOOLEAN, 8, NULL, 0x20,
24570 NULL, HFILL }},
24571 { &hf_gsm_map_ms_ODB_GeneralData_allIC_CallsBarred,
24572 { "allIC-CallsBarred", "gsm_map.ms.allIC-CallsBarred",
24573 FT_BOOLEAN, 8, NULL, 0x10,
24574 NULL, HFILL }},
24575 { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred,
24576 { "roamingOutsidePLMNIC-CallsBarred", "gsm_map.ms.roamingOutsidePLMNIC-CallsBarred",
24577 FT_BOOLEAN, 8, NULL, 0x08,
24578 NULL, HFILL }},
24579 { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred,
24580 { "roamingOutsidePLMNICountryIC-CallsBarred", "gsm_map.ms.roamingOutsidePLMNICountryIC-CallsBarred",
24581 FT_BOOLEAN, 8, NULL, 0x04,
24582 NULL, HFILL }},
24583 { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_Barred,
24584 { "roamingOutsidePLMN-Barred", "gsm_map.ms.roamingOutsidePLMN-Barred",
24585 FT_BOOLEAN, 8, NULL, 0x02,
24586 NULL, HFILL }},
24587 { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_CountryBarred,
24588 { "roamingOutsidePLMN-CountryBarred", "gsm_map.ms.roamingOutsidePLMN-CountryBarred",
24589 FT_BOOLEAN, 8, NULL, 0x01,
24590 NULL, HFILL }},
24591 { &hf_gsm_map_ms_ODB_GeneralData_registrationAllCF_Barred,
24592 { "registrationAllCF-Barred", "gsm_map.ms.registrationAllCF-Barred",
24593 FT_BOOLEAN, 8, NULL, 0x80,
24594 NULL, HFILL }},
24595 { &hf_gsm_map_ms_ODB_GeneralData_registrationCFNotToHPLMN_Barred,
24596 { "registrationCFNotToHPLMN-Barred", "gsm_map.ms.registrationCFNotToHPLMN-Barred",
24597 FT_BOOLEAN, 8, NULL, 0x40,
24598 NULL, HFILL }},
24599 { &hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCF_Barred,
24600 { "registrationInterzonalCF-Barred", "gsm_map.ms.registrationInterzonalCF-Barred",
24601 FT_BOOLEAN, 8, NULL, 0x20,
24602 NULL, HFILL }},
24603 { &hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred,
24604 { "registrationInterzonalCFNotToHPLMN-Barred", "gsm_map.ms.registrationInterzonalCFNotToHPLMN-Barred",
24605 FT_BOOLEAN, 8, NULL, 0x10,
24606 NULL, HFILL }},
24607 { &hf_gsm_map_ms_ODB_GeneralData_registrationInternationalCF_Barred,
24608 { "registrationInternationalCF-Barred", "gsm_map.ms.registrationInternationalCF-Barred",
24609 FT_BOOLEAN, 8, NULL, 0x08,
24610 NULL, HFILL }},
24611 { &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType1,
24612 { "plmn-SpecificBarringType1", "gsm_map.ms.plmn-SpecificBarringType1",
24613 FT_BOOLEAN, 8, NULL, 0x80,
24614 NULL, HFILL }},
24615 { &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType2,
24616 { "plmn-SpecificBarringType2", "gsm_map.ms.plmn-SpecificBarringType2",
24617 FT_BOOLEAN, 8, NULL, 0x40,
24618 NULL, HFILL }},
24619 { &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType3,
24620 { "plmn-SpecificBarringType3", "gsm_map.ms.plmn-SpecificBarringType3",
24621 FT_BOOLEAN, 8, NULL, 0x20,
24622 NULL, HFILL }},
24623 { &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType4,
24624 { "plmn-SpecificBarringType4", "gsm_map.ms.plmn-SpecificBarringType4",
24625 FT_BOOLEAN, 8, NULL, 0x10,
24626 NULL, HFILL }},
24627 { &hf_gsm_map_ms_SpecificCSI_Withdraw_o_csi,
24628 { "o-csi", "gsm_map.ms.o-csi",
24629 FT_BOOLEAN, 8, NULL, 0x80,
24630 NULL, HFILL }},
24631 { &hf_gsm_map_ms_SpecificCSI_Withdraw_ss_csi,
24632 { "ss-csi", "gsm_map.ms.ss-csi",
24633 FT_BOOLEAN, 8, NULL, 0x40,
24634 NULL, HFILL }},
24635 { &hf_gsm_map_ms_SpecificCSI_Withdraw_tif_csi,
24636 { "tif-csi", "gsm_map.ms.tif-csi",
24637 FT_BOOLEAN, 8, NULL, 0x20,
24638 NULL, HFILL }},
24639 { &hf_gsm_map_ms_SpecificCSI_Withdraw_d_csi,
24640 { "d-csi", "gsm_map.ms.d-csi",
24641 FT_BOOLEAN, 8, NULL, 0x10,
24642 NULL, HFILL }},
24643 { &hf_gsm_map_ms_SpecificCSI_Withdraw_vt_csi,
24644 { "vt-csi", "gsm_map.ms.vt-csi",
24645 FT_BOOLEAN, 8, NULL, 0x08,
24646 NULL, HFILL }},
24647 { &hf_gsm_map_ms_SpecificCSI_Withdraw_mo_sms_csi,
24648 { "mo-sms-csi", "gsm_map.ms.mo-sms-csi",
24649 FT_BOOLEAN, 8, NULL, 0x04,
24650 NULL, HFILL }},
24651 { &hf_gsm_map_ms_SpecificCSI_Withdraw_m_csi,
24652 { "m-csi", "gsm_map.ms.m-csi",
24653 FT_BOOLEAN, 8, NULL, 0x02,
24654 NULL, HFILL }},
24655 { &hf_gsm_map_ms_SpecificCSI_Withdraw_gprs_csi,
24656 { "gprs-csi", "gsm_map.ms.gprs-csi",
24657 FT_BOOLEAN, 8, NULL, 0x01,
24658 NULL, HFILL }},
24659 { &hf_gsm_map_ms_SpecificCSI_Withdraw_t_csi,
24660 { "t-csi", "gsm_map.ms.t-csi",
24661 FT_BOOLEAN, 8, NULL, 0x80,
24662 NULL, HFILL }},
24663 { &hf_gsm_map_ms_SpecificCSI_Withdraw_mt_sms_csi,
24664 { "mt-sms-csi", "gsm_map.ms.mt-sms-csi",
24665 FT_BOOLEAN, 8, NULL, 0x40,
24666 NULL, HFILL }},
24667 { &hf_gsm_map_ms_SpecificCSI_Withdraw_mg_csi,
24668 { "mg-csi", "gsm_map.ms.mg-csi",
24669 FT_BOOLEAN, 8, NULL, 0x20,
24670 NULL, HFILL }},
24671 { &hf_gsm_map_ms_SpecificCSI_Withdraw_o_IM_CSI,
24672 { "o-IM-CSI", "gsm_map.ms.o-IM-CSI",
24673 FT_BOOLEAN, 8, NULL, 0x10,
24674 NULL, HFILL }},
24675 { &hf_gsm_map_ms_SpecificCSI_Withdraw_d_IM_CSI,
24676 { "d-IM-CSI", "gsm_map.ms.d-IM-CSI",
24677 FT_BOOLEAN, 8, NULL, 0x08,
24678 NULL, HFILL }},
24679 { &hf_gsm_map_ms_SpecificCSI_Withdraw_vt_IM_CSI,
24680 { "vt-IM-CSI", "gsm_map.ms.vt-IM-CSI",
24681 FT_BOOLEAN, 8, NULL, 0x04,
24682 NULL, HFILL }},
24683 { &hf_gsm_map_ms_SupportedCamelPhases_phase1,
24684 { "phase1", "gsm_map.ms.phase1",
24685 FT_BOOLEAN, 8, NULL, 0x80,
24686 NULL, HFILL }},
24687 { &hf_gsm_map_ms_SupportedCamelPhases_phase2,
24688 { "phase2", "gsm_map.ms.phase2",
24689 FT_BOOLEAN, 8, NULL, 0x40,
24690 NULL, HFILL }},
24691 { &hf_gsm_map_ms_SupportedCamelPhases_phase3,
24692 { "phase3", "gsm_map.ms.phase3",
24693 FT_BOOLEAN, 8, NULL, 0x20,
24694 NULL, HFILL }},
24695 { &hf_gsm_map_ms_SupportedCamelPhases_phase4,
24696 { "phase4", "gsm_map.ms.phase4",
24697 FT_BOOLEAN, 8, NULL, 0x10,
24698 NULL, HFILL }},
24699 { &hf_gsm_map_ms_OfferedCamel4CSIs_o_csi,
24700 { "o-csi", "gsm_map.ms.o-csi",
24701 FT_BOOLEAN, 8, NULL, 0x80,
24702 NULL, HFILL }},
24703 { &hf_gsm_map_ms_OfferedCamel4CSIs_d_csi,
24704 { "d-csi", "gsm_map.ms.d-csi",
24705 FT_BOOLEAN, 8, NULL, 0x40,
24706 NULL, HFILL }},
24707 { &hf_gsm_map_ms_OfferedCamel4CSIs_vt_csi,
24708 { "vt-csi", "gsm_map.ms.vt-csi",
24709 FT_BOOLEAN, 8, NULL, 0x20,
24710 NULL, HFILL }},
24711 { &hf_gsm_map_ms_OfferedCamel4CSIs_t_csi,
24712 { "t-csi", "gsm_map.ms.t-csi",
24713 FT_BOOLEAN, 8, NULL, 0x10,
24714 NULL, HFILL }},
24715 { &hf_gsm_map_ms_OfferedCamel4CSIs_mt_sms_csi,
24716 { "mt-sms-csi", "gsm_map.ms.mt-sms-csi",
24717 FT_BOOLEAN, 8, NULL, 0x08,
24718 NULL, HFILL }},
24719 { &hf_gsm_map_ms_OfferedCamel4CSIs_mg_csi,
24720 { "mg-csi", "gsm_map.ms.mg-csi",
24721 FT_BOOLEAN, 8, NULL, 0x04,
24722 NULL, HFILL }},
24723 { &hf_gsm_map_ms_OfferedCamel4CSIs_psi_enhancements,
24724 { "psi-enhancements", "gsm_map.ms.psi-enhancements",
24725 FT_BOOLEAN, 8, NULL, 0x02,
24726 NULL, HFILL }},
24727 { &hf_gsm_map_ms_OfferedCamel4Functionalities_initiateCallAttempt,
24728 { "initiateCallAttempt", "gsm_map.ms.initiateCallAttempt",
24729 FT_BOOLEAN, 8, NULL, 0x80,
24730 NULL, HFILL }},
24731 { &hf_gsm_map_ms_OfferedCamel4Functionalities_splitLeg,
24732 { "splitLeg", "gsm_map.ms.splitLeg",
24733 FT_BOOLEAN, 8, NULL, 0x40,
24734 NULL, HFILL }},
24735 { &hf_gsm_map_ms_OfferedCamel4Functionalities_moveLeg,
24736 { "moveLeg", "gsm_map.ms.moveLeg",
24737 FT_BOOLEAN, 8, NULL, 0x20,
24738 NULL, HFILL }},
24739 { &hf_gsm_map_ms_OfferedCamel4Functionalities_disconnectLeg,
24740 { "disconnectLeg", "gsm_map.ms.disconnectLeg",
24741 FT_BOOLEAN, 8, NULL, 0x10,
24742 NULL, HFILL }},
24743 { &hf_gsm_map_ms_OfferedCamel4Functionalities_entityReleased,
24744 { "entityReleased", "gsm_map.ms.entityReleased",
24745 FT_BOOLEAN, 8, NULL, 0x08,
24746 NULL, HFILL }},
24747 { &hf_gsm_map_ms_OfferedCamel4Functionalities_dfc_WithArgument,
24748 { "dfc-WithArgument", "gsm_map.ms.dfc-WithArgument",
24749 FT_BOOLEAN, 8, NULL, 0x04,
24750 NULL, HFILL }},
24751 { &hf_gsm_map_ms_OfferedCamel4Functionalities_playTone,
24752 { "playTone", "gsm_map.ms.playTone",
24753 FT_BOOLEAN, 8, NULL, 0x02,
24754 NULL, HFILL }},
24755 { &hf_gsm_map_ms_OfferedCamel4Functionalities_dtmf_MidCall,
24756 { "dtmf-MidCall", "gsm_map.ms.dtmf-MidCall",
24757 FT_BOOLEAN, 8, NULL, 0x01,
24758 NULL, HFILL }},
24759 { &hf_gsm_map_ms_OfferedCamel4Functionalities_chargingIndicator,
24760 { "chargingIndicator", "gsm_map.ms.chargingIndicator",
24761 FT_BOOLEAN, 8, NULL, 0x80,
24762 NULL, HFILL }},
24763 { &hf_gsm_map_ms_OfferedCamel4Functionalities_alertingDP,
24764 { "alertingDP", "gsm_map.ms.alertingDP",
24765 FT_BOOLEAN, 8, NULL, 0x40,
24766 NULL, HFILL }},
24767 { &hf_gsm_map_ms_OfferedCamel4Functionalities_locationAtAlerting,
24768 { "locationAtAlerting", "gsm_map.ms.locationAtAlerting",
24769 FT_BOOLEAN, 8, NULL, 0x20,
24770 NULL, HFILL }},
24771 { &hf_gsm_map_ms_OfferedCamel4Functionalities_changeOfPositionDP,
24772 { "changeOfPositionDP", "gsm_map.ms.changeOfPositionDP",
24773 FT_BOOLEAN, 8, NULL, 0x10,
24774 NULL, HFILL }},
24775 { &hf_gsm_map_ms_OfferedCamel4Functionalities_or_Interactions,
24776 { "or-Interactions", "gsm_map.ms.or-Interactions",
24777 FT_BOOLEAN, 8, NULL, 0x08,
24778 NULL, HFILL }},
24779 { &hf_gsm_map_ms_OfferedCamel4Functionalities_warningToneEnhancements,
24780 { "warningToneEnhancements", "gsm_map.ms.warningToneEnhancements",
24781 FT_BOOLEAN, 8, NULL, 0x04,
24782 NULL, HFILL }},
24783 { &hf_gsm_map_ms_OfferedCamel4Functionalities_cf_Enhancements,
24784 { "cf-Enhancements", "gsm_map.ms.cf-Enhancements",
24785 FT_BOOLEAN, 8, NULL, 0x02,
24786 NULL, HFILL }},
24787 { &hf_gsm_map_ms_OfferedCamel4Functionalities_subscribedEnhancedDialledServices,
24788 { "subscribedEnhancedDialledServices", "gsm_map.ms.subscribedEnhancedDialledServices",
24789 FT_BOOLEAN, 8, NULL, 0x01,
24790 NULL, HFILL }},
24791 { &hf_gsm_map_ms_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices,
24792 { "servingNetworkEnhancedDialledServices", "gsm_map.ms.servingNetworkEnhancedDialledServices",
24793 FT_BOOLEAN, 8, NULL, 0x80,
24794 NULL, HFILL }},
24795 { &hf_gsm_map_ms_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP,
24796 { "criteriaForChangeOfPositionDP", "gsm_map.ms.criteriaForChangeOfPositionDP",
24797 FT_BOOLEAN, 8, NULL, 0x40,
24798 NULL, HFILL }},
24799 { &hf_gsm_map_ms_OfferedCamel4Functionalities_serviceChangeDP,
24800 { "serviceChangeDP", "gsm_map.ms.serviceChangeDP",
24801 FT_BOOLEAN, 8, NULL, 0x20,
24802 NULL, HFILL }},
24803 { &hf_gsm_map_ms_OfferedCamel4Functionalities_collectInformation,
24804 { "collectInformation", "gsm_map.ms.collectInformation",
24805 FT_BOOLEAN, 8, NULL, 0x10,
24806 NULL, HFILL }},
24807 { &hf_gsm_map_ms_AdditionalSubscriptions_privilegedUplinkRequest,
24808 { "privilegedUplinkRequest", "gsm_map.ms.privilegedUplinkRequest",
24809 FT_BOOLEAN, 8, NULL, 0x80,
24810 NULL, HFILL }},
24811 { &hf_gsm_map_ms_AdditionalSubscriptions_emergencyUplinkRequest,
24812 { "emergencyUplinkRequest", "gsm_map.ms.emergencyUplinkRequest",
24813 FT_BOOLEAN, 8, NULL, 0x40,
24814 NULL, HFILL }},
24815 { &hf_gsm_map_ms_AdditionalSubscriptions_emergencyReset,
24816 { "emergencyReset", "gsm_map.ms.emergencyReset",
24817 FT_BOOLEAN, 8, NULL, 0x20,
24818 NULL, HFILL }},
24819 { &hf_gsm_map_ms_RequestedNodes_mme,
24820 { "mme", "gsm_map.ms.mme",
24821 FT_BOOLEAN, 8, NULL, 0x80,
24822 NULL, HFILL }},
24823 { &hf_gsm_map_ms_RequestedNodes_sgsn,
24824 { "sgsn", "gsm_map.ms.sgsn",
24825 FT_BOOLEAN, 8, NULL, 0x40,
24826 NULL, HFILL }},
24827 { &hf_gsm_map_ms_RequestedServingNode_mmeAndSgsn,
24828 { "mmeAndSgsn", "gsm_map.ms.mmeAndSgsn",
24829 FT_BOOLEAN, 8, NULL, 0x80,
24830 NULL, HFILL }},
24831 { &hf_gsm_map_ms_ServingNode_mme,
24832 { "mme", "gsm_map.ms.mme",
24833 FT_BOOLEAN, 8, NULL, 0x80,
24834 NULL, HFILL }},
24835 { &hf_gsm_map_ms_ServingNode_sgsn,
24836 { "sgsn", "gsm_map.ms.sgsn",
24837 FT_BOOLEAN, 8, NULL, 0x40,
24838 NULL, HFILL }},
24840 /* --- Module MAP-CH-DataTypes --- --- --- */
24842 { &hf_gsm_map_ch_cug_Interlock,
24843 { "cug-Interlock", "gsm_map.ch.cug_Interlock",
24844 FT_BYTES, BASE_NONE, NULL, 0,
24845 NULL, HFILL }},
24846 { &hf_gsm_map_ch_cug_OutgoingAccess,
24847 { "cug-OutgoingAccess", "gsm_map.ch.cug_OutgoingAccess_element",
24848 FT_NONE, BASE_NONE, NULL, 0,
24849 NULL, HFILL }},
24850 { &hf_gsm_map_ch_extensionContainer,
24851 { "extensionContainer", "gsm_map.ch.extensionContainer_element",
24852 FT_NONE, BASE_NONE, NULL, 0,
24853 NULL, HFILL }},
24854 { &hf_gsm_map_ch_msisdn,
24855 { "msisdn", "gsm_map.ch.msisdn",
24856 FT_BYTES, BASE_NONE, NULL, 0,
24857 "ISDN_AddressString", HFILL }},
24858 { &hf_gsm_map_ch_cug_CheckInfo,
24859 { "cug-CheckInfo", "gsm_map.ch.cug_CheckInfo_element",
24860 FT_NONE, BASE_NONE, NULL, 0,
24861 NULL, HFILL }},
24862 { &hf_gsm_map_ch_numberOfForwarding,
24863 { "numberOfForwarding", "gsm_map.ch.numberOfForwarding",
24864 FT_UINT32, BASE_DEC, NULL, 0,
24865 NULL, HFILL }},
24866 { &hf_gsm_map_ch_interrogationType,
24867 { "interrogationType", "gsm_map.ch.interrogationType",
24868 FT_UINT32, BASE_DEC, VALS(gsm_map_ch_InterrogationType_vals), 0,
24869 NULL, HFILL }},
24870 { &hf_gsm_map_ch_or_Interrogation,
24871 { "or-Interrogation", "gsm_map.ch.or_Interrogation_element",
24872 FT_NONE, BASE_NONE, NULL, 0,
24873 NULL, HFILL }},
24874 { &hf_gsm_map_ch_or_Capability,
24875 { "or-Capability", "gsm_map.ch.or_Capability",
24876 FT_UINT32, BASE_DEC, NULL, 0,
24877 "OR_Phase", HFILL }},
24878 { &hf_gsm_map_ch_gmsc_OrGsmSCF_Address,
24879 { "gmsc-OrGsmSCF-Address", "gsm_map.ch.gmsc_OrGsmSCF_Address",
24880 FT_BYTES, BASE_NONE, NULL, 0,
24881 "ISDN_AddressString", HFILL }},
24882 { &hf_gsm_map_ch_callReferenceNumber,
24883 { "callReferenceNumber", "gsm_map.ch.callReferenceNumber",
24884 FT_BYTES, BASE_NONE, NULL, 0,
24885 NULL, HFILL }},
24886 { &hf_gsm_map_ch_forwardingReason,
24887 { "forwardingReason", "gsm_map.ch.forwardingReason",
24888 FT_UINT32, BASE_DEC, VALS(gsm_map_ch_ForwardingReason_vals), 0,
24889 NULL, HFILL }},
24890 { &hf_gsm_map_ch_basicServiceGroup,
24891 { "basicServiceGroup", "gsm_map.ch.basicServiceGroup",
24892 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
24893 "Ext_BasicServiceCode", HFILL }},
24894 { &hf_gsm_map_ch_networkSignalInfo,
24895 { "networkSignalInfo", "gsm_map.ch.networkSignalInfo_element",
24896 FT_NONE, BASE_NONE, NULL, 0,
24897 "ExternalSignalInfo", HFILL }},
24898 { &hf_gsm_map_ch_camelInfo,
24899 { "camelInfo", "gsm_map.ch.camelInfo_element",
24900 FT_NONE, BASE_NONE, NULL, 0,
24901 NULL, HFILL }},
24902 { &hf_gsm_map_ch_suppressionOfAnnouncement,
24903 { "suppressionOfAnnouncement", "gsm_map.ch.suppressionOfAnnouncement_element",
24904 FT_NONE, BASE_NONE, NULL, 0,
24905 NULL, HFILL }},
24906 { &hf_gsm_map_ch_alertingPattern,
24907 { "alertingPattern", "gsm_map.ch.alertingPattern",
24908 FT_BYTES, BASE_NONE, NULL, 0,
24909 NULL, HFILL }},
24910 { &hf_gsm_map_ch_ccbs_Call,
24911 { "ccbs-Call", "gsm_map.ch.ccbs_Call_element",
24912 FT_NONE, BASE_NONE, NULL, 0,
24913 NULL, HFILL }},
24914 { &hf_gsm_map_ch_supportedCCBS_Phase,
24915 { "supportedCCBS-Phase", "gsm_map.ch.supportedCCBS_Phase",
24916 FT_UINT32, BASE_DEC, NULL, 0,
24917 NULL, HFILL }},
24918 { &hf_gsm_map_ch_additionalSignalInfo,
24919 { "additionalSignalInfo", "gsm_map.ch.additionalSignalInfo_element",
24920 FT_NONE, BASE_NONE, NULL, 0,
24921 "Ext_ExternalSignalInfo", HFILL }},
24922 { &hf_gsm_map_ch_istSupportIndicator,
24923 { "istSupportIndicator", "gsm_map.ch.istSupportIndicator",
24924 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_IST_SupportIndicator_vals), 0,
24925 "IST_SupportIndicator", HFILL }},
24926 { &hf_gsm_map_ch_pre_pagingSupported,
24927 { "pre-pagingSupported", "gsm_map.ch.pre_pagingSupported_element",
24928 FT_NONE, BASE_NONE, NULL, 0,
24929 NULL, HFILL }},
24930 { &hf_gsm_map_ch_callDiversionTreatmentIndicator,
24931 { "callDiversionTreatmentIndicator", "gsm_map.ch.callDiversionTreatmentIndicator",
24932 FT_BYTES, BASE_NONE, NULL, 0,
24933 NULL, HFILL }},
24934 { &hf_gsm_map_ch_longFTN_Supported,
24935 { "longFTN-Supported", "gsm_map.ch.longFTN_Supported_element",
24936 FT_NONE, BASE_NONE, NULL, 0,
24937 NULL, HFILL }},
24938 { &hf_gsm_map_ch_suppress_VT_CSI,
24939 { "suppress-VT-CSI", "gsm_map.ch.suppress_VT_CSI_element",
24940 FT_NONE, BASE_NONE, NULL, 0,
24941 NULL, HFILL }},
24942 { &hf_gsm_map_ch_suppressIncomingCallBarring,
24943 { "suppressIncomingCallBarring", "gsm_map.ch.suppressIncomingCallBarring_element",
24944 FT_NONE, BASE_NONE, NULL, 0,
24945 NULL, HFILL }},
24946 { &hf_gsm_map_ch_gsmSCF_InitiatedCall,
24947 { "gsmSCF-InitiatedCall", "gsm_map.ch.gsmSCF_InitiatedCall_element",
24948 FT_NONE, BASE_NONE, NULL, 0,
24949 NULL, HFILL }},
24950 { &hf_gsm_map_ch_basicServiceGroup2,
24951 { "basicServiceGroup2", "gsm_map.ch.basicServiceGroup2",
24952 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
24953 "Ext_BasicServiceCode", HFILL }},
24954 { &hf_gsm_map_ch_networkSignalInfo2,
24955 { "networkSignalInfo2", "gsm_map.ch.networkSignalInfo2_element",
24956 FT_NONE, BASE_NONE, NULL, 0,
24957 "ExternalSignalInfo", HFILL }},
24958 { &hf_gsm_map_ch_suppressMTSS,
24959 { "suppressMTSS", "gsm_map.ch.suppressMTSS",
24960 FT_BYTES, BASE_NONE, NULL, 0,
24961 NULL, HFILL }},
24962 { &hf_gsm_map_ch_mtRoamingRetrySupported,
24963 { "mtRoamingRetrySupported", "gsm_map.ch.mtRoamingRetrySupported_element",
24964 FT_NONE, BASE_NONE, NULL, 0,
24965 NULL, HFILL }},
24966 { &hf_gsm_map_ch_callPriority,
24967 { "callPriority", "gsm_map.ch.callPriority",
24968 FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0,
24969 "EMLPP_Priority", HFILL }},
24970 { &hf_gsm_map_ch_imsi,
24971 { "imsi", "gsm_map.ch.imsi",
24972 FT_BYTES, BASE_NONE, NULL, 0,
24973 NULL, HFILL }},
24974 { &hf_gsm_map_ch_extendedRoutingInfo,
24975 { "extendedRoutingInfo", "gsm_map.ch.extendedRoutingInfo",
24976 FT_UINT32, BASE_DEC, VALS(gsm_map_ch_ExtendedRoutingInfo_vals), 0,
24977 NULL, HFILL }},
24978 { &hf_gsm_map_ch_cugSubscriptionFlag,
24979 { "cugSubscriptionFlag", "gsm_map.ch.cugSubscriptionFlag_element",
24980 FT_NONE, BASE_NONE, NULL, 0,
24981 NULL, HFILL }},
24982 { &hf_gsm_map_ch_subscriberInfo,
24983 { "subscriberInfo", "gsm_map.ch.subscriberInfo_element",
24984 FT_NONE, BASE_NONE, NULL, 0,
24985 NULL, HFILL }},
24986 { &hf_gsm_map_ch_ss_List,
24987 { "ss-List", "gsm_map.ch.ss_List",
24988 FT_UINT32, BASE_DEC, NULL, 0,
24989 NULL, HFILL }},
24990 { &hf_gsm_map_ch_basicService,
24991 { "basicService", "gsm_map.ch.basicService",
24992 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
24993 "Ext_BasicServiceCode", HFILL }},
24994 { &hf_gsm_map_ch_forwardingInterrogationRequired,
24995 { "forwardingInterrogationRequired", "gsm_map.ch.forwardingInterrogationRequired_element",
24996 FT_NONE, BASE_NONE, NULL, 0,
24997 NULL, HFILL }},
24998 { &hf_gsm_map_ch_vmsc_Address,
24999 { "vmsc-Address", "gsm_map.ch.vmsc_Address",
25000 FT_BYTES, BASE_NONE, NULL, 0,
25001 "ISDN_AddressString", HFILL }},
25002 { &hf_gsm_map_ch_naea_PreferredCI,
25003 { "naea-PreferredCI", "gsm_map.ch.naea_PreferredCI_element",
25004 FT_NONE, BASE_NONE, NULL, 0,
25005 NULL, HFILL }},
25006 { &hf_gsm_map_ch_ccbs_Indicators,
25007 { "ccbs-Indicators", "gsm_map.ch.ccbs_Indicators_element",
25008 FT_NONE, BASE_NONE, NULL, 0,
25009 NULL, HFILL }},
25010 { &hf_gsm_map_ch_numberPortabilityStatus,
25011 { "numberPortabilityStatus", "gsm_map.ch.numberPortabilityStatus",
25012 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NumberPortabilityStatus_vals), 0,
25013 NULL, HFILL }},
25014 { &hf_gsm_map_ch_istAlertTimer,
25015 { "istAlertTimer", "gsm_map.ch.istAlertTimer",
25016 FT_UINT32, BASE_DEC, NULL, 0,
25017 "IST_AlertTimerValue", HFILL }},
25018 { &hf_gsm_map_ch_supportedCamelPhasesInVMSC,
25019 { "supportedCamelPhasesInVMSC", "gsm_map.ch.supportedCamelPhasesInVMSC",
25020 FT_BYTES, BASE_NONE, NULL, 0,
25021 "SupportedCamelPhases", HFILL }},
25022 { &hf_gsm_map_ch_offeredCamel4CSIsInVMSC,
25023 { "offeredCamel4CSIsInVMSC", "gsm_map.ch.offeredCamel4CSIsInVMSC",
25024 FT_BYTES, BASE_NONE, NULL, 0,
25025 "OfferedCamel4CSIs", HFILL }},
25026 { &hf_gsm_map_ch_routingInfo2,
25027 { "routingInfo2", "gsm_map.ch.routingInfo2",
25028 FT_UINT32, BASE_DEC, VALS(gsm_map_ch_RoutingInfo_vals), 0,
25029 "RoutingInfo", HFILL }},
25030 { &hf_gsm_map_ch_ss_List2,
25031 { "ss-List2", "gsm_map.ch.ss_List2",
25032 FT_UINT32, BASE_DEC, NULL, 0,
25033 "SS_List", HFILL }},
25034 { &hf_gsm_map_ch_basicService2,
25035 { "basicService2", "gsm_map.ch.basicService2",
25036 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
25037 "Ext_BasicServiceCode", HFILL }},
25038 { &hf_gsm_map_ch_allowedServices,
25039 { "allowedServices", "gsm_map.ch.allowedServices",
25040 FT_BYTES, BASE_NONE, NULL, 0,
25041 NULL, HFILL }},
25042 { &hf_gsm_map_ch_unavailabilityCause,
25043 { "unavailabilityCause", "gsm_map.ch.unavailabilityCause",
25044 FT_UINT32, BASE_DEC, VALS(gsm_map_ch_UnavailabilityCause_vals), 0,
25045 NULL, HFILL }},
25046 { &hf_gsm_map_ch_releaseResourcesSupported,
25047 { "releaseResourcesSupported", "gsm_map.ch.releaseResourcesSupported_element",
25048 FT_NONE, BASE_NONE, NULL, 0,
25049 NULL, HFILL }},
25050 { &hf_gsm_map_ch_gsm_BearerCapability,
25051 { "gsm-BearerCapability", "gsm_map.ch.gsm_BearerCapability_element",
25052 FT_NONE, BASE_NONE, NULL, 0,
25053 "ExternalSignalInfo", HFILL }},
25054 { &hf_gsm_map_ch_ccbs_Possible,
25055 { "ccbs-Possible", "gsm_map.ch.ccbs_Possible_element",
25056 FT_NONE, BASE_NONE, NULL, 0,
25057 NULL, HFILL }},
25058 { &hf_gsm_map_ch_keepCCBS_CallIndicator,
25059 { "keepCCBS-CallIndicator", "gsm_map.ch.keepCCBS_CallIndicator_element",
25060 FT_NONE, BASE_NONE, NULL, 0,
25061 NULL, HFILL }},
25062 { &hf_gsm_map_ch_roamingNumber,
25063 { "roamingNumber", "gsm_map.ch.roamingNumber",
25064 FT_BYTES, BASE_NONE, NULL, 0,
25065 "ISDN_AddressString", HFILL }},
25066 { &hf_gsm_map_ch_forwardingData,
25067 { "forwardingData", "gsm_map.ch.forwardingData_element",
25068 FT_NONE, BASE_NONE, NULL, 0,
25069 NULL, HFILL }},
25070 { &hf_gsm_map_ch_forwardedToNumber,
25071 { "forwardedToNumber", "gsm_map.ch.forwardedToNumber",
25072 FT_BYTES, BASE_NONE, NULL, 0,
25073 "ISDN_AddressString", HFILL }},
25074 { &hf_gsm_map_ch_forwardedToSubaddress,
25075 { "forwardedToSubaddress", "gsm_map.ch.forwardedToSubaddress",
25076 FT_BYTES, BASE_NONE, NULL, 0,
25077 "ISDN_SubaddressString", HFILL }},
25078 { &hf_gsm_map_ch_forwardingOptions,
25079 { "forwardingOptions", "gsm_map.ch.forwardingOptions",
25080 FT_BYTES, BASE_NONE, NULL, 0,
25081 NULL, HFILL }},
25082 { &hf_gsm_map_ch_longForwardedToNumber,
25083 { "longForwardedToNumber", "gsm_map.ch.longForwardedToNumber",
25084 FT_BYTES, BASE_NONE, NULL, 0,
25085 "FTN_AddressString", HFILL }},
25086 { &hf_gsm_map_ch_msc_Number,
25087 { "msc-Number", "gsm_map.ch.msc_Number",
25088 FT_BYTES, BASE_NONE, NULL, 0,
25089 "ISDN_AddressString", HFILL }},
25090 { &hf_gsm_map_ch_lmsi,
25091 { "lmsi", "gsm_map.ch.lmsi",
25092 FT_BYTES, BASE_NONE, NULL, 0,
25093 NULL, HFILL }},
25094 { &hf_gsm_map_ch_gmsc_Address,
25095 { "gmsc-Address", "gsm_map.ch.gmsc_Address",
25096 FT_BYTES, BASE_NONE, NULL, 0,
25097 "ISDN_AddressString", HFILL }},
25098 { &hf_gsm_map_ch_supportedCamelPhasesInInterrogatingNode,
25099 { "supportedCamelPhasesInInterrogatingNode", "gsm_map.ch.supportedCamelPhasesInInterrogatingNode",
25100 FT_BYTES, BASE_NONE, NULL, 0,
25101 "SupportedCamelPhases", HFILL }},
25102 { &hf_gsm_map_ch_orNotSupportedInGMSC,
25103 { "orNotSupportedInGMSC", "gsm_map.ch.orNotSupportedInGMSC_element",
25104 FT_NONE, BASE_NONE, NULL, 0,
25105 NULL, HFILL }},
25106 { &hf_gsm_map_ch_offeredCamel4CSIsInInterrogatingNode,
25107 { "offeredCamel4CSIsInInterrogatingNode", "gsm_map.ch.offeredCamel4CSIsInInterrogatingNode",
25108 FT_BYTES, BASE_NONE, NULL, 0,
25109 "OfferedCamel4CSIs", HFILL }},
25110 { &hf_gsm_map_ch_pagingArea,
25111 { "pagingArea", "gsm_map.ch.pagingArea",
25112 FT_UINT32, BASE_DEC, NULL, 0,
25113 NULL, HFILL }},
25114 { &hf_gsm_map_ch_mtrf_Indicator,
25115 { "mtrf-Indicator", "gsm_map.ch.mtrf_Indicator_element",
25116 FT_NONE, BASE_NONE, NULL, 0,
25117 NULL, HFILL }},
25118 { &hf_gsm_map_ch_oldMSC_Number,
25119 { "oldMSC-Number", "gsm_map.ch.oldMSC_Number",
25120 FT_BYTES, BASE_NONE, NULL, 0,
25121 "ISDN_AddressString", HFILL }},
25122 { &hf_gsm_map_ch_o_CSI,
25123 { "o-CSI", "gsm_map.ch.o_CSI_element",
25124 FT_NONE, BASE_NONE, NULL, 0,
25125 NULL, HFILL }},
25126 { &hf_gsm_map_ch_uu_Data,
25127 { "uu-Data", "gsm_map.ch.uu_Data_element",
25128 FT_NONE, BASE_NONE, NULL, 0,
25129 NULL, HFILL }},
25130 { &hf_gsm_map_ch_allInformationSent,
25131 { "allInformationSent", "gsm_map.ch.allInformationSent_element",
25132 FT_NONE, BASE_NONE, NULL, 0,
25133 NULL, HFILL }},
25134 { &hf_gsm_map_ch_d_csi,
25135 { "d-csi", "gsm_map.ch.d_csi_element",
25136 FT_NONE, BASE_NONE, NULL, 0,
25137 NULL, HFILL }},
25138 { &hf_gsm_map_ch_o_BcsmCamelTDPCriteriaList,
25139 { "o-BcsmCamelTDPCriteriaList", "gsm_map.ch.o_BcsmCamelTDPCriteriaList",
25140 FT_UINT32, BASE_DEC, NULL, 0,
25141 NULL, HFILL }},
25142 { &hf_gsm_map_ch_mtRoamingRetry,
25143 { "mtRoamingRetry", "gsm_map.ch.mtRoamingRetry_element",
25144 FT_NONE, BASE_NONE, NULL, 0,
25145 NULL, HFILL }},
25146 { &hf_gsm_map_ch_uuIndicator,
25147 { "uuIndicator", "gsm_map.ch.uuIndicator",
25148 FT_BYTES, BASE_NONE, NULL, 0,
25149 NULL, HFILL }},
25150 { &hf_gsm_map_ch_uui,
25151 { "uui", "gsm_map.ch.uui",
25152 FT_BYTES, BASE_NONE, NULL, 0,
25153 NULL, HFILL }},
25154 { &hf_gsm_map_ch_uusCFInteraction,
25155 { "uusCFInteraction", "gsm_map.ch.uusCFInteraction_element",
25156 FT_NONE, BASE_NONE, NULL, 0,
25157 NULL, HFILL }},
25158 { &hf_gsm_map_ch_supportedCamelPhases,
25159 { "supportedCamelPhases", "gsm_map.ch.supportedCamelPhases",
25160 FT_BYTES, BASE_NONE, NULL, 0,
25161 NULL, HFILL }},
25162 { &hf_gsm_map_ch_suppress_T_CSI,
25163 { "suppress-T-CSI", "gsm_map.ch.suppress_T_CSI_element",
25164 FT_NONE, BASE_NONE, NULL, 0,
25165 NULL, HFILL }},
25166 { &hf_gsm_map_ch_offeredCamel4CSIs,
25167 { "offeredCamel4CSIs", "gsm_map.ch.offeredCamel4CSIs",
25168 FT_BYTES, BASE_NONE, NULL, 0,
25169 NULL, HFILL }},
25170 { &hf_gsm_map_ch_routingInfo,
25171 { "routingInfo", "gsm_map.ch.routingInfo",
25172 FT_UINT32, BASE_DEC, VALS(gsm_map_ch_RoutingInfo_vals), 0,
25173 NULL, HFILL }},
25174 { &hf_gsm_map_ch_camelRoutingInfo,
25175 { "camelRoutingInfo", "gsm_map.ch.camelRoutingInfo_element",
25176 FT_NONE, BASE_NONE, NULL, 0,
25177 NULL, HFILL }},
25178 { &hf_gsm_map_ch_gmscCamelSubscriptionInfo,
25179 { "gmscCamelSubscriptionInfo", "gsm_map.ch.gmscCamelSubscriptionInfo_element",
25180 FT_NONE, BASE_NONE, NULL, 0,
25181 NULL, HFILL }},
25182 { &hf_gsm_map_ch_t_CSI,
25183 { "t-CSI", "gsm_map.ch.t_CSI_element",
25184 FT_NONE, BASE_NONE, NULL, 0,
25185 NULL, HFILL }},
25186 { &hf_gsm_map_ch_o_BcsmCamelTDP_CriteriaList,
25187 { "o-BcsmCamelTDP-CriteriaList", "gsm_map.ch.o_BcsmCamelTDP_CriteriaList",
25188 FT_UINT32, BASE_DEC, NULL, 0,
25189 "O_BcsmCamelTDPCriteriaList", HFILL }},
25190 { &hf_gsm_map_ch_t_BCSM_CAMEL_TDP_CriteriaList,
25191 { "t-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.ch.t_BCSM_CAMEL_TDP_CriteriaList",
25192 FT_UINT32, BASE_DEC, NULL, 0,
25193 NULL, HFILL }},
25194 { &hf_gsm_map_ch_ccbs_Monitoring,
25195 { "ccbs-Monitoring", "gsm_map.ch.ccbs_Monitoring",
25196 FT_UINT32, BASE_DEC, VALS(gsm_map_ch_ReportingState_vals), 0,
25197 "ReportingState", HFILL }},
25198 { &hf_gsm_map_ch_ccbs_SubscriberStatus,
25199 { "ccbs-SubscriberStatus", "gsm_map.ch.ccbs_SubscriberStatus",
25200 FT_UINT32, BASE_DEC, VALS(gsm_map_ch_CCBS_SubscriberStatus_vals), 0,
25201 NULL, HFILL }},
25202 { &hf_gsm_map_ch_eventReportData,
25203 { "eventReportData", "gsm_map.ch.eventReportData_element",
25204 FT_NONE, BASE_NONE, NULL, 0,
25205 NULL, HFILL }},
25206 { &hf_gsm_map_ch_callReportdata,
25207 { "callReportdata", "gsm_map.ch.callReportdata_element",
25208 FT_NONE, BASE_NONE, NULL, 0,
25209 NULL, HFILL }},
25210 { &hf_gsm_map_ch_monitoringMode,
25211 { "monitoringMode", "gsm_map.ch.monitoringMode",
25212 FT_UINT32, BASE_DEC, VALS(gsm_map_ch_MonitoringMode_vals), 0,
25213 NULL, HFILL }},
25214 { &hf_gsm_map_ch_callOutcome,
25215 { "callOutcome", "gsm_map.ch.callOutcome",
25216 FT_UINT32, BASE_DEC, VALS(gsm_map_ch_CallOutcome_vals), 0,
25217 NULL, HFILL }},
25218 { &hf_gsm_map_ch_callInfo,
25219 { "callInfo", "gsm_map.ch.callInfo_element",
25220 FT_NONE, BASE_NONE, NULL, 0,
25221 "ExternalSignalInfo", HFILL }},
25222 { &hf_gsm_map_ch_ccbs_Feature,
25223 { "ccbs-Feature", "gsm_map.ch.ccbs_Feature_element",
25224 FT_NONE, BASE_NONE, NULL, 0,
25225 NULL, HFILL }},
25226 { &hf_gsm_map_ch_translatedB_Number,
25227 { "translatedB-Number", "gsm_map.ch.translatedB_Number",
25228 FT_BYTES, BASE_NONE, NULL, 0,
25229 "ISDN_AddressString", HFILL }},
25230 { &hf_gsm_map_ch_replaceB_Number,
25231 { "replaceB-Number", "gsm_map.ch.replaceB_Number_element",
25232 FT_NONE, BASE_NONE, NULL, 0,
25233 NULL, HFILL }},
25234 { &hf_gsm_map_ch_ruf_Outcome,
25235 { "ruf-Outcome", "gsm_map.ch.ruf_Outcome",
25236 FT_UINT32, BASE_DEC, VALS(gsm_map_ch_RUF_Outcome_vals), 0,
25237 NULL, HFILL }},
25238 { &hf_gsm_map_ch_istInformationWithdraw,
25239 { "istInformationWithdraw", "gsm_map.ch.istInformationWithdraw_element",
25240 FT_NONE, BASE_NONE, NULL, 0,
25241 NULL, HFILL }},
25242 { &hf_gsm_map_ch_callTerminationIndicator,
25243 { "callTerminationIndicator", "gsm_map.ch.callTerminationIndicator",
25244 FT_UINT32, BASE_DEC, VALS(gsm_map_ch_CallTerminationIndicator_vals), 0,
25245 NULL, HFILL }},
25246 { &hf_gsm_map_ch_msrn,
25247 { "msrn", "gsm_map.ch.msrn",
25248 FT_BYTES, BASE_NONE, NULL, 0,
25249 "ISDN_AddressString", HFILL }},
25250 { &hf_gsm_map_ch_SuppressMTSS_suppressCUG,
25251 { "suppressCUG", "gsm_map.ch.suppressCUG",
25252 FT_BOOLEAN, 8, NULL, 0x80,
25253 NULL, HFILL }},
25254 { &hf_gsm_map_ch_SuppressMTSS_suppressCCBS,
25255 { "suppressCCBS", "gsm_map.ch.suppressCCBS",
25256 FT_BOOLEAN, 8, NULL, 0x40,
25257 NULL, HFILL }},
25258 { &hf_gsm_map_ch_AllowedServices_firstServiceAllowed,
25259 { "firstServiceAllowed", "gsm_map.ch.firstServiceAllowed",
25260 FT_BOOLEAN, 8, NULL, 0x80,
25261 NULL, HFILL }},
25262 { &hf_gsm_map_ch_AllowedServices_secondServiceAllowed,
25263 { "secondServiceAllowed", "gsm_map.ch.secondServiceAllowed",
25264 FT_BOOLEAN, 8, NULL, 0x40,
25265 NULL, HFILL }},
25267 /* --- Module MAP-LCS-DataTypes --- --- --- */
25269 { &hf_gsm_map_lcs_gsm_map_lcs_LCS_ClientID_PDU,
25270 { "LCS-ClientID", "gsm_map.lcs.LCS_ClientID_element",
25271 FT_NONE, BASE_NONE, NULL, 0,
25272 NULL, HFILL }},
25273 { &hf_gsm_map_lcs_mlcNumber,
25274 { "mlcNumber", "gsm_map.lcs.mlcNumber",
25275 FT_BYTES, BASE_NONE, NULL, 0,
25276 "ISDN_AddressString", HFILL }},
25277 { &hf_gsm_map_lcs_targetMS,
25278 { "targetMS", "gsm_map.lcs.targetMS",
25279 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberIdentity_vals), 0,
25280 "SubscriberIdentity", HFILL }},
25281 { &hf_gsm_map_lcs_extensionContainer,
25282 { "extensionContainer", "gsm_map.lcs.extensionContainer_element",
25283 FT_NONE, BASE_NONE, NULL, 0,
25284 NULL, HFILL }},
25285 { &hf_gsm_map_lcs_lcsLocationInfo,
25286 { "lcsLocationInfo", "gsm_map.lcs.lcsLocationInfo_element",
25287 FT_NONE, BASE_NONE, NULL, 0,
25288 NULL, HFILL }},
25289 { &hf_gsm_map_lcs_v_gmlc_Address,
25290 { "v-gmlc-Address", "gsm_map.lcs.v_gmlc_Address",
25291 FT_BYTES, BASE_NONE, NULL, 0,
25292 "GSN_Address", HFILL }},
25293 { &hf_gsm_map_lcs_h_gmlc_Address,
25294 { "h-gmlc-Address", "gsm_map.lcs.h_gmlc_Address",
25295 FT_BYTES, BASE_NONE, NULL, 0,
25296 "GSN_Address", HFILL }},
25297 { &hf_gsm_map_lcs_ppr_Address,
25298 { "ppr-Address", "gsm_map.lcs.ppr_Address",
25299 FT_BYTES, BASE_NONE, NULL, 0,
25300 "GSN_Address", HFILL }},
25301 { &hf_gsm_map_lcs_additional_v_gmlc_Address,
25302 { "additional-v-gmlc-Address", "gsm_map.lcs.additional_v_gmlc_Address",
25303 FT_BYTES, BASE_NONE, NULL, 0,
25304 "GSN_Address", HFILL }},
25305 { &hf_gsm_map_lcs_networkNode_Number,
25306 { "networkNode-Number", "gsm_map.lcs.networkNode_Number",
25307 FT_BYTES, BASE_NONE, NULL, 0,
25308 "ISDN_AddressString", HFILL }},
25309 { &hf_gsm_map_lcs_lmsi,
25310 { "lmsi", "gsm_map.lcs.lmsi",
25311 FT_BYTES, BASE_NONE, NULL, 0,
25312 NULL, HFILL }},
25313 { &hf_gsm_map_lcs_gprsNodeIndicator,
25314 { "gprsNodeIndicator", "gsm_map.lcs.gprsNodeIndicator_element",
25315 FT_NONE, BASE_NONE, NULL, 0,
25316 NULL, HFILL }},
25317 { &hf_gsm_map_lcs_additional_Number,
25318 { "additional-Number", "gsm_map.lcs.additional_Number",
25319 FT_UINT32, BASE_DEC, VALS(gsm_map_sm_Additional_Number_vals), 0,
25320 NULL, HFILL }},
25321 { &hf_gsm_map_lcs_supportedLCS_CapabilitySets,
25322 { "supportedLCS-CapabilitySets", "gsm_map.lcs.supportedLCS_CapabilitySets",
25323 FT_BYTES, BASE_NONE, NULL, 0,
25324 NULL, HFILL }},
25325 { &hf_gsm_map_lcs_additional_LCS_CapabilitySets,
25326 { "additional-LCS-CapabilitySets", "gsm_map.lcs.additional_LCS_CapabilitySets",
25327 FT_BYTES, BASE_NONE, NULL, 0,
25328 "SupportedLCS_CapabilitySets", HFILL }},
25329 { &hf_gsm_map_lcs_mme_Name,
25330 { "mme-Name", "gsm_map.lcs.mme_Name",
25331 FT_BYTES, BASE_NONE, NULL, 0,
25332 "DiameterIdentity", HFILL }},
25333 { &hf_gsm_map_lcs_aaa_Server_Name,
25334 { "aaa-Server-Name", "gsm_map.lcs.aaa_Server_Name",
25335 FT_BYTES, BASE_NONE, NULL, 0,
25336 "DiameterIdentity", HFILL }},
25337 { &hf_gsm_map_lcs_locationType,
25338 { "locationType", "gsm_map.lcs.locationType_element",
25339 FT_NONE, BASE_NONE, NULL, 0,
25340 NULL, HFILL }},
25341 { &hf_gsm_map_lcs_mlc_Number,
25342 { "mlc-Number", "gsm_map.lcs.mlc_Number",
25343 FT_BYTES, BASE_NONE, NULL, 0,
25344 "ISDN_AddressString", HFILL }},
25345 { &hf_gsm_map_lcs_lcs_ClientID,
25346 { "lcs-ClientID", "gsm_map.lcs.lcs_ClientID_element",
25347 FT_NONE, BASE_NONE, NULL, 0,
25348 NULL, HFILL }},
25349 { &hf_gsm_map_lcs_privacyOverride,
25350 { "privacyOverride", "gsm_map.lcs.privacyOverride_element",
25351 FT_NONE, BASE_NONE, NULL, 0,
25352 NULL, HFILL }},
25353 { &hf_gsm_map_lcs_imsi,
25354 { "imsi", "gsm_map.lcs.imsi",
25355 FT_BYTES, BASE_NONE, NULL, 0,
25356 NULL, HFILL }},
25357 { &hf_gsm_map_lcs_msisdn,
25358 { "msisdn", "gsm_map.lcs.msisdn",
25359 FT_BYTES, BASE_NONE, NULL, 0,
25360 "ISDN_AddressString", HFILL }},
25361 { &hf_gsm_map_lcs_imei,
25362 { "imei", "gsm_map.lcs.imei",
25363 FT_BYTES, BASE_NONE, NULL, 0,
25364 NULL, HFILL }},
25365 { &hf_gsm_map_lcs_lcs_Priority,
25366 { "lcs-Priority", "gsm_map.lcs.lcs_Priority",
25367 FT_BYTES, BASE_NONE, NULL, 0,
25368 NULL, HFILL }},
25369 { &hf_gsm_map_lcs_lcs_QoS,
25370 { "lcs-QoS", "gsm_map.lcs.lcs_QoS_element",
25371 FT_NONE, BASE_NONE, NULL, 0,
25372 NULL, HFILL }},
25373 { &hf_gsm_map_lcs_supportedGADShapes,
25374 { "supportedGADShapes", "gsm_map.lcs.supportedGADShapes",
25375 FT_BYTES, BASE_NONE, NULL, 0,
25376 NULL, HFILL }},
25377 { &hf_gsm_map_lcs_lcs_ReferenceNumber,
25378 { "lcs-ReferenceNumber", "gsm_map.lcs.lcs_ReferenceNumber",
25379 FT_BYTES, BASE_NONE, NULL, 0,
25380 NULL, HFILL }},
25381 { &hf_gsm_map_lcs_lcsServiceTypeID,
25382 { "lcsServiceTypeID", "gsm_map.lcs.lcsServiceTypeID",
25383 FT_UINT32, BASE_DEC, VALS(gsm_map_LCSServiceTypeID_vals), 0,
25384 NULL, HFILL }},
25385 { &hf_gsm_map_lcs_lcsCodeword,
25386 { "lcsCodeword", "gsm_map.lcs.lcsCodeword_element",
25387 FT_NONE, BASE_NONE, NULL, 0,
25388 NULL, HFILL }},
25389 { &hf_gsm_map_lcs_lcs_PrivacyCheck,
25390 { "lcs-PrivacyCheck", "gsm_map.lcs.lcs_PrivacyCheck_element",
25391 FT_NONE, BASE_NONE, NULL, 0,
25392 NULL, HFILL }},
25393 { &hf_gsm_map_lcs_areaEventInfo,
25394 { "areaEventInfo", "gsm_map.lcs.areaEventInfo_element",
25395 FT_NONE, BASE_NONE, NULL, 0,
25396 NULL, HFILL }},
25397 { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator,
25398 { "mo-lrShortCircuitIndicator", "gsm_map.lcs.mo_lrShortCircuitIndicator_element",
25399 FT_NONE, BASE_NONE, NULL, 0,
25400 NULL, HFILL }},
25401 { &hf_gsm_map_lcs_periodicLDRInfo,
25402 { "periodicLDRInfo", "gsm_map.lcs.periodicLDRInfo_element",
25403 FT_NONE, BASE_NONE, NULL, 0,
25404 NULL, HFILL }},
25405 { &hf_gsm_map_lcs_reportingPLMNList,
25406 { "reportingPLMNList", "gsm_map.lcs.reportingPLMNList_element",
25407 FT_NONE, BASE_NONE, NULL, 0,
25408 NULL, HFILL }},
25409 { &hf_gsm_map_lcs_locationEstimateType,
25410 { "locationEstimateType", "gsm_map.lcs.locationEstimateType",
25411 FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LocationEstimateType_vals), 0,
25412 NULL, HFILL }},
25413 { &hf_gsm_map_lcs_deferredLocationEventType,
25414 { "deferredLocationEventType", "gsm_map.lcs.deferredLocationEventType",
25415 FT_BYTES, BASE_NONE, NULL, 0,
25416 NULL, HFILL }},
25417 { &hf_gsm_map_lcs_lcsClientType,
25418 { "lcsClientType", "gsm_map.lcs.lcsClientType",
25419 FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LCSClientType_vals), 0,
25420 NULL, HFILL }},
25421 { &hf_gsm_map_lcs_lcsClientExternalID,
25422 { "lcsClientExternalID", "gsm_map.lcs.lcsClientExternalID_element",
25423 FT_NONE, BASE_NONE, NULL, 0,
25424 NULL, HFILL }},
25425 { &hf_gsm_map_lcs_lcsClientDialedByMS,
25426 { "lcsClientDialedByMS", "gsm_map.lcs.lcsClientDialedByMS",
25427 FT_BYTES, BASE_NONE, NULL, 0,
25428 "AddressString", HFILL }},
25429 { &hf_gsm_map_lcs_lcsClientInternalID,
25430 { "lcsClientInternalID", "gsm_map.lcs.lcsClientInternalID",
25431 FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientInternalID_vals), 0,
25432 NULL, HFILL }},
25433 { &hf_gsm_map_lcs_lcsClientName,
25434 { "lcsClientName", "gsm_map.lcs.lcsClientName_element",
25435 FT_NONE, BASE_NONE, NULL, 0,
25436 NULL, HFILL }},
25437 { &hf_gsm_map_lcs_lcsAPN,
25438 { "lcsAPN", "gsm_map.lcs.lcsAPN",
25439 FT_BYTES, BASE_NONE, NULL, 0,
25440 "APN", HFILL }},
25441 { &hf_gsm_map_lcs_lcsRequestorID,
25442 { "lcsRequestorID", "gsm_map.lcs.lcsRequestorID_element",
25443 FT_NONE, BASE_NONE, NULL, 0,
25444 NULL, HFILL }},
25445 { &hf_gsm_map_lcs_dataCodingScheme,
25446 { "dataCodingScheme", "gsm_map.lcs.dataCodingScheme",
25447 FT_BYTES, BASE_NONE, NULL, 0,
25448 "USSD_DataCodingScheme", HFILL }},
25449 { &hf_gsm_map_lcs_nameString,
25450 { "nameString", "gsm_map.lcs.nameString",
25451 FT_BYTES, BASE_NONE, NULL, 0,
25452 NULL, HFILL }},
25453 { &hf_gsm_map_lcs_lcs_FormatIndicator,
25454 { "lcs-FormatIndicator", "gsm_map.lcs.lcs_FormatIndicator",
25455 FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LCS_FormatIndicator_vals), 0,
25456 NULL, HFILL }},
25457 { &hf_gsm_map_lcs_requestorIDString,
25458 { "requestorIDString", "gsm_map.lcs.requestorIDString",
25459 FT_BYTES, BASE_NONE, NULL, 0,
25460 NULL, HFILL }},
25461 { &hf_gsm_map_lcs_horizontal_accuracy,
25462 { "horizontal-accuracy", "gsm_map.lcs.horizontal_accuracy",
25463 FT_BYTES, BASE_NONE, NULL, 0,
25464 NULL, HFILL }},
25465 { &hf_gsm_map_lcs_verticalCoordinateRequest,
25466 { "verticalCoordinateRequest", "gsm_map.lcs.verticalCoordinateRequest_element",
25467 FT_NONE, BASE_NONE, NULL, 0,
25468 NULL, HFILL }},
25469 { &hf_gsm_map_lcs_vertical_accuracy,
25470 { "vertical-accuracy", "gsm_map.lcs.vertical_accuracy",
25471 FT_BYTES, BASE_NONE, NULL, 0,
25472 NULL, HFILL }},
25473 { &hf_gsm_map_lcs_responseTime,
25474 { "responseTime", "gsm_map.lcs.responseTime_element",
25475 FT_NONE, BASE_NONE, NULL, 0,
25476 NULL, HFILL }},
25477 { &hf_gsm_map_lcs_velocityRequest,
25478 { "velocityRequest", "gsm_map.lcs.velocityRequest_element",
25479 FT_NONE, BASE_NONE, NULL, 0,
25480 NULL, HFILL }},
25481 { &hf_gsm_map_lcs_responseTimeCategory,
25482 { "responseTimeCategory", "gsm_map.lcs.responseTimeCategory",
25483 FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_ResponseTimeCategory_vals), 0,
25484 NULL, HFILL }},
25485 { &hf_gsm_map_lcs_lcsCodewordString,
25486 { "lcsCodewordString", "gsm_map.lcs.lcsCodewordString",
25487 FT_BYTES, BASE_NONE, NULL, 0,
25488 NULL, HFILL }},
25489 { &hf_gsm_map_lcs_callSessionUnrelated,
25490 { "callSessionUnrelated", "gsm_map.lcs.callSessionUnrelated",
25491 FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_PrivacyCheckRelatedAction_vals), 0,
25492 "PrivacyCheckRelatedAction", HFILL }},
25493 { &hf_gsm_map_lcs_callSessionRelated,
25494 { "callSessionRelated", "gsm_map.lcs.callSessionRelated",
25495 FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_PrivacyCheckRelatedAction_vals), 0,
25496 "PrivacyCheckRelatedAction", HFILL }},
25497 { &hf_gsm_map_lcs_areaDefinition,
25498 { "areaDefinition", "gsm_map.lcs.areaDefinition_element",
25499 FT_NONE, BASE_NONE, NULL, 0,
25500 NULL, HFILL }},
25501 { &hf_gsm_map_lcs_occurrenceInfo,
25502 { "occurrenceInfo", "gsm_map.lcs.occurrenceInfo",
25503 FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_OccurrenceInfo_vals), 0,
25504 NULL, HFILL }},
25505 { &hf_gsm_map_lcs_intervalTime,
25506 { "intervalTime", "gsm_map.lcs.intervalTime",
25507 FT_UINT32, BASE_DEC, NULL, 0,
25508 NULL, HFILL }},
25509 { &hf_gsm_map_lcs_areaList,
25510 { "areaList", "gsm_map.lcs.areaList",
25511 FT_UINT32, BASE_DEC, NULL, 0,
25512 NULL, HFILL }},
25513 { &hf_gsm_map_lcs_AreaList_item,
25514 { "Area", "gsm_map.lcs.Area_element",
25515 FT_NONE, BASE_NONE, NULL, 0,
25516 NULL, HFILL }},
25517 { &hf_gsm_map_lcs_areaType,
25518 { "areaType", "gsm_map.lcs.areaType",
25519 FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_AreaType_vals), 0,
25520 NULL, HFILL }},
25521 { &hf_gsm_map_lcs_areaIdentification,
25522 { "areaIdentification", "gsm_map.lcs.areaIdentification",
25523 FT_BYTES, BASE_NONE, NULL, 0,
25524 NULL, HFILL }},
25525 { &hf_gsm_map_lcs_reportingAmount,
25526 { "reportingAmount", "gsm_map.lcs.reportingAmount",
25527 FT_UINT32, BASE_DEC, NULL, 0,
25528 NULL, HFILL }},
25529 { &hf_gsm_map_lcs_reportingInterval,
25530 { "reportingInterval", "gsm_map.lcs.reportingInterval",
25531 FT_UINT32, BASE_DEC, NULL, 0,
25532 NULL, HFILL }},
25533 { &hf_gsm_map_lcs_plmn_ListPrioritized,
25534 { "plmn-ListPrioritized", "gsm_map.lcs.plmn_ListPrioritized_element",
25535 FT_NONE, BASE_NONE, NULL, 0,
25536 NULL, HFILL }},
25537 { &hf_gsm_map_lcs_plmn_List,
25538 { "plmn-List", "gsm_map.lcs.plmn_List",
25539 FT_UINT32, BASE_DEC, NULL, 0,
25540 "PLMNList", HFILL }},
25541 { &hf_gsm_map_lcs_PLMNList_item,
25542 { "ReportingPLMN", "gsm_map.lcs.ReportingPLMN_element",
25543 FT_NONE, BASE_NONE, NULL, 0,
25544 NULL, HFILL }},
25545 { &hf_gsm_map_lcs_plmn_Id,
25546 { "plmn-Id", "gsm_map.lcs.plmn_Id",
25547 FT_BYTES, BASE_NONE, NULL, 0,
25548 NULL, HFILL }},
25549 { &hf_gsm_map_lcs_ran_Technology,
25550 { "ran-Technology", "gsm_map.lcs.ran_Technology",
25551 FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_RAN_Technology_vals), 0,
25552 NULL, HFILL }},
25553 { &hf_gsm_map_lcs_ran_PeriodicLocationSupport,
25554 { "ran-PeriodicLocationSupport", "gsm_map.lcs.ran_PeriodicLocationSupport_element",
25555 FT_NONE, BASE_NONE, NULL, 0,
25556 NULL, HFILL }},
25557 { &hf_gsm_map_lcs_locationEstimate,
25558 { "locationEstimate", "gsm_map.lcs.locationEstimate",
25559 FT_BYTES, BASE_NONE, NULL, 0,
25560 "Ext_GeographicalInformation", HFILL }},
25561 { &hf_gsm_map_lcs_ageOfLocationEstimate,
25562 { "ageOfLocationEstimate", "gsm_map.lcs.ageOfLocationEstimate",
25563 FT_UINT32, BASE_DEC, NULL, 0,
25564 "AgeOfLocationInformation", HFILL }},
25565 { &hf_gsm_map_lcs_add_LocationEstimate,
25566 { "add-LocationEstimate", "gsm_map.lcs.add_LocationEstimate",
25567 FT_BYTES, BASE_NONE, NULL, 0,
25568 "Add_GeographicalInformation", HFILL }},
25569 { &hf_gsm_map_lcs_deferredmt_lrResponseIndicator,
25570 { "deferredmt-lrResponseIndicator", "gsm_map.lcs.deferredmt_lrResponseIndicator_element",
25571 FT_NONE, BASE_NONE, NULL, 0,
25572 NULL, HFILL }},
25573 { &hf_gsm_map_lcs_geranPositioningData,
25574 { "geranPositioningData", "gsm_map.lcs.geranPositioningData",
25575 FT_BYTES, BASE_NONE, NULL, 0,
25576 "PositioningDataInformation", HFILL }},
25577 { &hf_gsm_map_lcs_utranPositioningData,
25578 { "utranPositioningData", "gsm_map.lcs.utranPositioningData",
25579 FT_BYTES, BASE_NONE, NULL, 0,
25580 "UtranPositioningDataInfo", HFILL }},
25581 { &hf_gsm_map_lcs_cellIdOrSai,
25582 { "cellIdOrSai", "gsm_map.lcs.cellIdOrSai",
25583 FT_UINT32, BASE_DEC, VALS(gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals), 0,
25584 "CellGlobalIdOrServiceAreaIdOrLAI", HFILL }},
25585 { &hf_gsm_map_lcs_sai_Present,
25586 { "sai-Present", "gsm_map.lcs.sai_Present_element",
25587 FT_NONE, BASE_NONE, NULL, 0,
25588 NULL, HFILL }},
25589 { &hf_gsm_map_lcs_accuracyFulfilmentIndicator,
25590 { "accuracyFulfilmentIndicator", "gsm_map.lcs.accuracyFulfilmentIndicator",
25591 FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_AccuracyFulfilmentIndicator_vals), 0,
25592 NULL, HFILL }},
25593 { &hf_gsm_map_lcs_velocityEstimate,
25594 { "velocityEstimate", "gsm_map.lcs.velocityEstimate",
25595 FT_BYTES, BASE_NONE, NULL, 0,
25596 NULL, HFILL }},
25597 { &hf_gsm_map_lcs_geranGANSSpositioningData,
25598 { "geranGANSSpositioningData", "gsm_map.lcs.geranGANSSpositioningData",
25599 FT_BYTES, BASE_NONE, NULL, 0,
25600 NULL, HFILL }},
25601 { &hf_gsm_map_lcs_utranGANSSpositioningData,
25602 { "utranGANSSpositioningData", "gsm_map.lcs.utranGANSSpositioningData",
25603 FT_BYTES, BASE_NONE, NULL, 0,
25604 NULL, HFILL }},
25605 { &hf_gsm_map_lcs_targetServingNodeForHandover,
25606 { "targetServingNodeForHandover", "gsm_map.lcs.targetServingNodeForHandover",
25607 FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_ServingNodeAddress_vals), 0,
25608 "ServingNodeAddress", HFILL }},
25609 { &hf_gsm_map_lcs_lcs_Event,
25610 { "lcs-Event", "gsm_map.lcs.lcs_Event",
25611 FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LCS_Event_vals), 0,
25612 NULL, HFILL }},
25613 { &hf_gsm_map_lcs_na_ESRD,
25614 { "na-ESRD", "gsm_map.lcs.na_ESRD",
25615 FT_BYTES, BASE_NONE, NULL, 0,
25616 "ISDN_AddressString", HFILL }},
25617 { &hf_gsm_map_lcs_na_ESRK,
25618 { "na-ESRK", "gsm_map.lcs.na_ESRK",
25619 FT_BYTES, BASE_NONE, NULL, 0,
25620 "ISDN_AddressString", HFILL }},
25621 { &hf_gsm_map_lcs_slr_ArgExtensionContainer,
25622 { "slr-ArgExtensionContainer", "gsm_map.lcs.slr_ArgExtensionContainer_element",
25623 FT_NONE, BASE_NONE, NULL, 0,
25624 NULL, HFILL }},
25625 { &hf_gsm_map_lcs_deferredmt_lrData,
25626 { "deferredmt-lrData", "gsm_map.lcs.deferredmt_lrData_element",
25627 FT_NONE, BASE_NONE, NULL, 0,
25628 NULL, HFILL }},
25629 { &hf_gsm_map_lcs_pseudonymIndicator,
25630 { "pseudonymIndicator", "gsm_map.lcs.pseudonymIndicator_element",
25631 FT_NONE, BASE_NONE, NULL, 0,
25632 NULL, HFILL }},
25633 { &hf_gsm_map_lcs_sequenceNumber,
25634 { "sequenceNumber", "gsm_map.lcs.sequenceNumber",
25635 FT_UINT32, BASE_DEC, NULL, 0,
25636 NULL, HFILL }},
25637 { &hf_gsm_map_lcs_terminationCause,
25638 { "terminationCause", "gsm_map.lcs.terminationCause",
25639 FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_TerminationCause_vals), 0,
25640 NULL, HFILL }},
25641 { &hf_gsm_map_lcs_msc_Number,
25642 { "msc-Number", "gsm_map.lcs.msc_Number",
25643 FT_BYTES, BASE_NONE, NULL, 0,
25644 "ISDN_AddressString", HFILL }},
25645 { &hf_gsm_map_lcs_sgsn_Number,
25646 { "sgsn-Number", "gsm_map.lcs.sgsn_Number",
25647 FT_BYTES, BASE_NONE, NULL, 0,
25648 "ISDN_AddressString", HFILL }},
25649 { &hf_gsm_map_lcs_mme_Number,
25650 { "mme-Number", "gsm_map.lcs.mme_Number",
25651 FT_BYTES, BASE_NONE, NULL, 0,
25652 "DiameterIdentity", HFILL }},
25653 { &hf_gsm_map_lcs_DeferredLocationEventType_msAvailable,
25654 { "msAvailable", "gsm_map.lcs.msAvailable",
25655 FT_BOOLEAN, 8, NULL, 0x80,
25656 NULL, HFILL }},
25657 { &hf_gsm_map_lcs_DeferredLocationEventType_enteringIntoArea,
25658 { "enteringIntoArea", "gsm_map.lcs.enteringIntoArea",
25659 FT_BOOLEAN, 8, NULL, 0x40,
25660 NULL, HFILL }},
25661 { &hf_gsm_map_lcs_DeferredLocationEventType_leavingFromArea,
25662 { "leavingFromArea", "gsm_map.lcs.leavingFromArea",
25663 FT_BOOLEAN, 8, NULL, 0x20,
25664 NULL, HFILL }},
25665 { &hf_gsm_map_lcs_DeferredLocationEventType_beingInsideArea,
25666 { "beingInsideArea", "gsm_map.lcs.beingInsideArea",
25667 FT_BOOLEAN, 8, NULL, 0x10,
25668 NULL, HFILL }},
25669 { &hf_gsm_map_lcs_DeferredLocationEventType_periodicLDR,
25670 { "periodicLDR", "gsm_map.lcs.periodicLDR",
25671 FT_BOOLEAN, 8, NULL, 0x08,
25672 NULL, HFILL }},
25673 { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPoint,
25674 { "ellipsoidPoint", "gsm_map.lcs.ellipsoidPoint",
25675 FT_BOOLEAN, 8, NULL, 0x80,
25676 NULL, HFILL }},
25677 { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle,
25678 { "ellipsoidPointWithUncertaintyCircle", "gsm_map.lcs.ellipsoidPointWithUncertaintyCircle",
25679 FT_BOOLEAN, 8, NULL, 0x40,
25680 NULL, HFILL }},
25681 { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse,
25682 { "ellipsoidPointWithUncertaintyEllipse", "gsm_map.lcs.ellipsoidPointWithUncertaintyEllipse",
25683 FT_BOOLEAN, 8, NULL, 0x20,
25684 NULL, HFILL }},
25685 { &hf_gsm_map_lcs_SupportedGADShapes_polygon,
25686 { "polygon", "gsm_map.lcs.polygon",
25687 FT_BOOLEAN, 8, NULL, 0x10,
25688 NULL, HFILL }},
25689 { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitude,
25690 { "ellipsoidPointWithAltitude", "gsm_map.lcs.ellipsoidPointWithAltitude",
25691 FT_BOOLEAN, 8, NULL, 0x08,
25692 NULL, HFILL }},
25693 { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid,
25694 { "ellipsoidPointWithAltitudeAndUncertaintyElipsoid", "gsm_map.lcs.ellipsoidPointWithAltitudeAndUncertaintyElipsoid",
25695 FT_BOOLEAN, 8, NULL, 0x04,
25696 NULL, HFILL }},
25697 { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidArc,
25698 { "ellipsoidArc", "gsm_map.lcs.ellipsoidArc",
25699 FT_BOOLEAN, 8, NULL, 0x02,
25700 NULL, HFILL }},
25702 /* --- Module MAP-GR-DataTypes --- --- --- */
25704 { &hf_gsm_map_gr_teleservice,
25705 { "teleservice", "gsm_map.gr.teleservice",
25706 FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
25707 "Ext_TeleserviceCode", HFILL }},
25708 { &hf_gsm_map_gr_asciCallReference,
25709 { "asciCallReference", "gsm_map.gr.asciCallReference",
25710 FT_BYTES, BASE_NONE, NULL, 0,
25711 "ASCI_CallReference", HFILL }},
25712 { &hf_gsm_map_gr_codec_Info,
25713 { "codec-Info", "gsm_map.gr.codec_Info",
25714 FT_BYTES, BASE_NONE, NULL, 0,
25715 NULL, HFILL }},
25716 { &hf_gsm_map_gr_cipheringAlgorithm,
25717 { "cipheringAlgorithm", "gsm_map.gr.cipheringAlgorithm",
25718 FT_BYTES, BASE_NONE, NULL, 0,
25719 NULL, HFILL }},
25720 { &hf_gsm_map_gr_groupKeyNumber_Vk_Id,
25721 { "groupKeyNumber-Vk-Id", "gsm_map.gr.groupKeyNumber_Vk_Id",
25722 FT_UINT32, BASE_DEC, NULL, 0,
25723 "GroupKeyNumber", HFILL }},
25724 { &hf_gsm_map_gr_groupKey,
25725 { "groupKey", "gsm_map.gr.groupKey",
25726 FT_BYTES, BASE_NONE, NULL, 0,
25727 "Kc", HFILL }},
25728 { &hf_gsm_map_gr_priority,
25729 { "priority", "gsm_map.gr.priority",
25730 FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0,
25731 "EMLPP_Priority", HFILL }},
25732 { &hf_gsm_map_gr_uplinkFree,
25733 { "uplinkFree", "gsm_map.gr.uplinkFree_element",
25734 FT_NONE, BASE_NONE, NULL, 0,
25735 NULL, HFILL }},
25736 { &hf_gsm_map_gr_extensionContainer,
25737 { "extensionContainer", "gsm_map.gr.extensionContainer_element",
25738 FT_NONE, BASE_NONE, NULL, 0,
25739 NULL, HFILL }},
25740 { &hf_gsm_map_gr_vstk,
25741 { "vstk", "gsm_map.gr.vstk",
25742 FT_BYTES, BASE_NONE, NULL, 0,
25743 NULL, HFILL }},
25744 { &hf_gsm_map_gr_vstk_rand,
25745 { "vstk-rand", "gsm_map.gr.vstk_rand",
25746 FT_BYTES, BASE_NONE, NULL, 0,
25747 NULL, HFILL }},
25748 { &hf_gsm_map_gr_talkerChannelParameter,
25749 { "talkerChannelParameter", "gsm_map.gr.talkerChannelParameter_element",
25750 FT_NONE, BASE_NONE, NULL, 0,
25751 NULL, HFILL }},
25752 { &hf_gsm_map_gr_uplinkReplyIndicator,
25753 { "uplinkReplyIndicator", "gsm_map.gr.uplinkReplyIndicator_element",
25754 FT_NONE, BASE_NONE, NULL, 0,
25755 NULL, HFILL }},
25756 { &hf_gsm_map_gr_groupCallNumber,
25757 { "groupCallNumber", "gsm_map.gr.groupCallNumber",
25758 FT_BYTES, BASE_NONE, NULL, 0,
25759 "ISDN_AddressString", HFILL }},
25760 { &hf_gsm_map_gr_imsi,
25761 { "imsi", "gsm_map.gr.imsi",
25762 FT_BYTES, BASE_NONE, NULL, 0,
25763 NULL, HFILL }},
25764 { &hf_gsm_map_gr_talkerPriority,
25765 { "talkerPriority", "gsm_map.gr.talkerPriority",
25766 FT_UINT32, BASE_DEC, VALS(gsm_map_gr_TalkerPriority_vals), 0,
25767 NULL, HFILL }},
25768 { &hf_gsm_map_gr_additionalInfo,
25769 { "additionalInfo", "gsm_map.gr.additionalInfo",
25770 FT_BYTES, BASE_NONE, NULL, 0,
25771 NULL, HFILL }},
25772 { &hf_gsm_map_gr_uplinkRequestAck,
25773 { "uplinkRequestAck", "gsm_map.gr.uplinkRequestAck_element",
25774 FT_NONE, BASE_NONE, NULL, 0,
25775 NULL, HFILL }},
25776 { &hf_gsm_map_gr_uplinkReleaseIndication,
25777 { "uplinkReleaseIndication", "gsm_map.gr.uplinkReleaseIndication_element",
25778 FT_NONE, BASE_NONE, NULL, 0,
25779 NULL, HFILL }},
25780 { &hf_gsm_map_gr_uplinkRejectCommand,
25781 { "uplinkRejectCommand", "gsm_map.gr.uplinkRejectCommand_element",
25782 FT_NONE, BASE_NONE, NULL, 0,
25783 NULL, HFILL }},
25784 { &hf_gsm_map_gr_uplinkSeizedCommand,
25785 { "uplinkSeizedCommand", "gsm_map.gr.uplinkSeizedCommand_element",
25786 FT_NONE, BASE_NONE, NULL, 0,
25787 NULL, HFILL }},
25788 { &hf_gsm_map_gr_uplinkReleaseCommand,
25789 { "uplinkReleaseCommand", "gsm_map.gr.uplinkReleaseCommand_element",
25790 FT_NONE, BASE_NONE, NULL, 0,
25791 NULL, HFILL }},
25792 { &hf_gsm_map_gr_stateAttributes,
25793 { "stateAttributes", "gsm_map.gr.stateAttributes_element",
25794 FT_NONE, BASE_NONE, NULL, 0,
25795 NULL, HFILL }},
25796 { &hf_gsm_map_gr_emergencyModeResetCommandFlag,
25797 { "emergencyModeResetCommandFlag", "gsm_map.gr.emergencyModeResetCommandFlag_element",
25798 FT_NONE, BASE_NONE, NULL, 0,
25799 NULL, HFILL }},
25800 { &hf_gsm_map_gr_sm_RP_UI,
25801 { "sm-RP-UI", "gsm_map.gr.sm_RP_UI",
25802 FT_BYTES, BASE_NONE, NULL, 0,
25803 "SignalInfo", HFILL }},
25804 { &hf_gsm_map_gr_an_APDU,
25805 { "an-APDU", "gsm_map.gr.an_APDU_element",
25806 FT_NONE, BASE_NONE, NULL, 0,
25807 "AccessNetworkSignalInfo", HFILL }},
25808 { &hf_gsm_map_gr_uplinkRequest,
25809 { "uplinkRequest", "gsm_map.gr.uplinkRequest_element",
25810 FT_NONE, BASE_NONE, NULL, 0,
25811 NULL, HFILL }},
25812 { &hf_gsm_map_gr_releaseGroupCall,
25813 { "releaseGroupCall", "gsm_map.gr.releaseGroupCall_element",
25814 FT_NONE, BASE_NONE, NULL, 0,
25815 NULL, HFILL }},
25816 { &hf_gsm_map_gr_downlinkAttached,
25817 { "downlinkAttached", "gsm_map.gr.downlinkAttached_element",
25818 FT_NONE, BASE_NONE, NULL, 0,
25819 NULL, HFILL }},
25820 { &hf_gsm_map_gr_uplinkAttached,
25821 { "uplinkAttached", "gsm_map.gr.uplinkAttached_element",
25822 FT_NONE, BASE_NONE, NULL, 0,
25823 NULL, HFILL }},
25824 { &hf_gsm_map_gr_dualCommunication,
25825 { "dualCommunication", "gsm_map.gr.dualCommunication_element",
25826 FT_NONE, BASE_NONE, NULL, 0,
25827 NULL, HFILL }},
25828 { &hf_gsm_map_gr_callOriginator,
25829 { "callOriginator", "gsm_map.gr.callOriginator_element",
25830 FT_NONE, BASE_NONE, NULL, 0,
25831 NULL, HFILL }},
25832 { &hf_gsm_map_gr_requestedInfo,
25833 { "requestedInfo", "gsm_map.gr.requestedInfo",
25834 FT_UINT32, BASE_DEC, VALS(gsm_map_gr_RequestedInfo_vals), 0,
25835 NULL, HFILL }},
25836 { &hf_gsm_map_gr_groupId,
25837 { "groupId", "gsm_map.gr.groupId",
25838 FT_BYTES, BASE_NONE, NULL, 0,
25839 "Long_GroupId", HFILL }},
25840 { &hf_gsm_map_gr_cellId,
25841 { "cellId", "gsm_map.gr.cellId",
25842 FT_BYTES, BASE_NONE, NULL, 0,
25843 "GlobalCellId", HFILL }},
25844 { &hf_gsm_map_gr_tmsi,
25845 { "tmsi", "gsm_map.gr.tmsi",
25846 FT_BYTES, BASE_NONE, NULL, 0,
25847 NULL, HFILL }},
25848 { &hf_gsm_map_gr_cksn,
25849 { "cksn", "gsm_map.gr.cksn",
25850 FT_BYTES, BASE_NONE, NULL, 0,
25851 NULL, HFILL }},
25852 { &hf_gsm_map_gr_anchorMSC_Address,
25853 { "anchorMSC-Address", "gsm_map.gr.anchorMSC_Address",
25854 FT_BYTES, BASE_NONE, NULL, 0,
25855 "ISDN_AddressString", HFILL }},
25856 { &hf_gsm_map_gr_additionalSubscriptions,
25857 { "additionalSubscriptions", "gsm_map.gr.additionalSubscriptions",
25858 FT_BYTES, BASE_NONE, NULL, 0,
25859 NULL, HFILL }},
25860 { &hf_gsm_map_gr_kc,
25861 { "kc", "gsm_map.gr.kc",
25862 FT_BYTES, BASE_NONE, NULL, 0,
25863 NULL, HFILL }},
25865 /* --- Module MAP-DialogueInformation --- --- --- */
25867 { &hf_gsm_map_dialogue_gsm_map_dialogue_MAP_DialoguePDU_PDU,
25868 { "MAP-DialoguePDU", "gsm_map.dialogue.MAP_DialoguePDU",
25869 FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_MAP_DialoguePDU_vals), 0,
25870 NULL, HFILL }},
25871 { &hf_gsm_map_dialogue_map_open,
25872 { "map-open", "gsm_map.dialogue.map_open_element",
25873 FT_NONE, BASE_NONE, NULL, 0,
25874 "MAP_OpenInfo", HFILL }},
25875 { &hf_gsm_map_dialogue_map_accept,
25876 { "map-accept", "gsm_map.dialogue.map_accept_element",
25877 FT_NONE, BASE_NONE, NULL, 0,
25878 "MAP_AcceptInfo", HFILL }},
25879 { &hf_gsm_map_dialogue_map_close,
25880 { "map-close", "gsm_map.dialogue.map_close_element",
25881 FT_NONE, BASE_NONE, NULL, 0,
25882 "MAP_CloseInfo", HFILL }},
25883 { &hf_gsm_map_dialogue_map_refuse,
25884 { "map-refuse", "gsm_map.dialogue.map_refuse_element",
25885 FT_NONE, BASE_NONE, NULL, 0,
25886 "MAP_RefuseInfo", HFILL }},
25887 { &hf_gsm_map_dialogue_map_userAbort,
25888 { "map-userAbort", "gsm_map.dialogue.map_userAbort_element",
25889 FT_NONE, BASE_NONE, NULL, 0,
25890 "MAP_UserAbortInfo", HFILL }},
25891 { &hf_gsm_map_dialogue_map_providerAbort,
25892 { "map-providerAbort", "gsm_map.dialogue.map_providerAbort_element",
25893 FT_NONE, BASE_NONE, NULL, 0,
25894 "MAP_ProviderAbortInfo", HFILL }},
25895 { &hf_gsm_map_dialogue_destinationReference,
25896 { "destinationReference", "gsm_map.dialogue.destinationReference",
25897 FT_BYTES, BASE_NONE, NULL, 0,
25898 "AddressString", HFILL }},
25899 { &hf_gsm_map_dialogue_originationReference,
25900 { "originationReference", "gsm_map.dialogue.originationReference",
25901 FT_BYTES, BASE_NONE, NULL, 0,
25902 "AddressString", HFILL }},
25903 { &hf_gsm_map_dialogue_extensionContainer,
25904 { "extensionContainer", "gsm_map.dialogue.extensionContainer_element",
25905 FT_NONE, BASE_NONE, NULL, 0,
25906 NULL, HFILL }},
25907 { &hf_gsm_map_dialogue_reason,
25908 { "reason", "gsm_map.dialogue.reason",
25909 FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_Reason_vals), 0,
25910 NULL, HFILL }},
25911 { &hf_gsm_map_dialogue_alternativeApplicationContext,
25912 { "alternativeApplicationContext", "gsm_map.dialogue.alternativeApplicationContext",
25913 FT_OID, BASE_NONE, NULL, 0,
25914 "OBJECT_IDENTIFIER", HFILL }},
25915 { &hf_gsm_map_dialogue_map_UserAbortChoice,
25916 { "map-UserAbortChoice", "gsm_map.dialogue.map_UserAbortChoice",
25917 FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_MAP_UserAbortChoice_vals), 0,
25918 NULL, HFILL }},
25919 { &hf_gsm_map_dialogue_userSpecificReason,
25920 { "userSpecificReason", "gsm_map.dialogue.userSpecificReason_element",
25921 FT_NONE, BASE_NONE, NULL, 0,
25922 NULL, HFILL }},
25923 { &hf_gsm_map_dialogue_userResourceLimitation,
25924 { "userResourceLimitation", "gsm_map.dialogue.userResourceLimitation_element",
25925 FT_NONE, BASE_NONE, NULL, 0,
25926 NULL, HFILL }},
25927 { &hf_gsm_map_dialogue_resourceUnavailable,
25928 { "resourceUnavailable", "gsm_map.dialogue.resourceUnavailable",
25929 FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_ResourceUnavailableReason_vals), 0,
25930 "ResourceUnavailableReason", HFILL }},
25931 { &hf_gsm_map_dialogue_applicationProcedureCancellation,
25932 { "applicationProcedureCancellation", "gsm_map.dialogue.applicationProcedureCancellation",
25933 FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_ProcedureCancellationReason_vals), 0,
25934 "ProcedureCancellationReason", HFILL }},
25935 { &hf_gsm_map_dialogue_map_ProviderAbortReason,
25936 { "map-ProviderAbortReason", "gsm_map.dialogue.map_ProviderAbortReason",
25937 FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_MAP_ProviderAbortReason_vals), 0,
25938 NULL, HFILL }},
25940 /* --- Module DummyMAP --- --- --- */
25942 { &hf_gsm_old_invoke,
25943 { "invoke", "gsm_old.invoke_element",
25944 FT_NONE, BASE_NONE, NULL, 0,
25945 NULL, HFILL }},
25946 { &hf_gsm_old_returnResultLast,
25947 { "returnResultLast", "gsm_old.returnResultLast_element",
25948 FT_NONE, BASE_NONE, NULL, 0,
25949 "ReturnResult", HFILL }},
25950 { &hf_gsm_old_returnError,
25951 { "returnError", "gsm_old.returnError_element",
25952 FT_NONE, BASE_NONE, NULL, 0,
25953 NULL, HFILL }},
25954 { &hf_gsm_old_reject,
25955 { "reject", "gsm_old.reject_element",
25956 FT_NONE, BASE_NONE, NULL, 0,
25957 NULL, HFILL }},
25958 { &hf_gsm_old_returnResultNotLast,
25959 { "returnResultNotLast", "gsm_old.returnResultNotLast_element",
25960 FT_NONE, BASE_NONE, NULL, 0,
25961 "ReturnResult", HFILL }},
25962 { &hf_gsm_old_invokeID,
25963 { "invokeID", "gsm_old.invokeID",
25964 FT_INT32, BASE_DEC, NULL, 0,
25965 "InvokeIdType", HFILL }},
25966 { &hf_gsm_old_linkedID,
25967 { "linkedID", "gsm_old.linkedID",
25968 FT_INT32, BASE_DEC, NULL, 0,
25969 "InvokeIdType", HFILL }},
25970 { &hf_gsm_old_opCode,
25971 { "opCode", "gsm_old.opCode",
25972 FT_UINT32, BASE_DEC, VALS(gsm_old_MAP_OPERATION_vals), 0,
25973 "MAP_OPERATION", HFILL }},
25974 { &hf_gsm_old_invokeparameter,
25975 { "invokeparameter", "gsm_old.invokeparameter_element",
25976 FT_NONE, BASE_NONE, NULL, 0,
25977 NULL, HFILL }},
25978 { &hf_gsm_old_resultretres,
25979 { "resultretres", "gsm_old.resultretres_element",
25980 FT_NONE, BASE_NONE, NULL, 0,
25981 NULL, HFILL }},
25982 { &hf_gsm_old_returnparameter,
25983 { "returnparameter", "gsm_old.returnparameter_element",
25984 FT_NONE, BASE_NONE, NULL, 0,
25985 "ReturnResultParameter", HFILL }},
25986 { &hf_gsm_old_errorCode,
25987 { "errorCode", "gsm_old.errorCode",
25988 FT_UINT32, BASE_DEC, VALS(gsm_old_MAP_ERROR_vals), 0,
25989 "MAP_ERROR", HFILL }},
25990 { &hf_gsm_old_parameter,
25991 { "parameter", "gsm_old.parameter_element",
25992 FT_NONE, BASE_NONE, NULL, 0,
25993 "ReturnErrorParameter", HFILL }},
25994 { &hf_gsm_old_invokeIDRej,
25995 { "invokeIDRej", "gsm_old.invokeIDRej",
25996 FT_UINT32, BASE_DEC, VALS(gsm_old_T_invokeIDRej_vals), 0,
25997 NULL, HFILL }},
25998 { &hf_gsm_old_derivable,
25999 { "derivable", "gsm_old.derivable",
26000 FT_INT32, BASE_DEC, NULL, 0,
26001 "InvokeIdType", HFILL }},
26002 { &hf_gsm_old_not_derivable,
26003 { "not-derivable", "gsm_old.not_derivable_element",
26004 FT_NONE, BASE_NONE, NULL, 0,
26005 NULL, HFILL }},
26006 { &hf_gsm_old_problem,
26007 { "problem", "gsm_old.problem",
26008 FT_UINT32, BASE_DEC, VALS(gsm_old_T_problem_vals), 0,
26009 NULL, HFILL }},
26010 { &hf_gsm_old_generalProblem,
26011 { "generalProblem", "gsm_old.generalProblem",
26012 FT_INT32, BASE_DEC, VALS(gsm_old_GeneralProblem_vals), 0,
26013 NULL, HFILL }},
26014 { &hf_gsm_old_invokeProblem,
26015 { "invokeProblem", "gsm_old.invokeProblem",
26016 FT_INT32, BASE_DEC, VALS(gsm_old_InvokeProblem_vals), 0,
26017 NULL, HFILL }},
26018 { &hf_gsm_old_returnResultProblem,
26019 { "returnResultProblem", "gsm_old.returnResultProblem",
26020 FT_INT32, BASE_DEC, VALS(gsm_old_ReturnResultProblem_vals), 0,
26021 NULL, HFILL }},
26022 { &hf_gsm_old_returnErrorProblem,
26023 { "returnErrorProblem", "gsm_old.returnErrorProblem",
26024 FT_INT32, BASE_DEC, VALS(gsm_old_ReturnErrorProblem_vals), 0,
26025 NULL, HFILL }},
26026 { &hf_gsm_old_localValue,
26027 { "localValue", "gsm_old.localValue",
26028 FT_INT32, BASE_DEC|BASE_EXT_STRING, &gsm_old_GSMMAPOperationLocalvalue_vals_ext, 0,
26029 "OperationLocalvalue", HFILL }},
26030 { &hf_gsm_old_globalValue,
26031 { "globalValue", "gsm_old.globalValue",
26032 FT_OID, BASE_NONE, NULL, 0,
26033 "OBJECT_IDENTIFIER", HFILL }},
26034 { &hf_gsm_old_localValue_01,
26035 { "localValue", "gsm_old.localValue",
26036 FT_INT32, BASE_DEC, VALS(gsm_old_GSMMAPLocalErrorcode_vals), 0,
26037 "LocalErrorcode", HFILL }},
26038 { &hf_gsm_old_protocolId,
26039 { "protocolId", "gsm_old.protocolId",
26040 FT_UINT32, BASE_DEC, VALS(gsm_map_ProtocolId_vals), 0,
26041 NULL, HFILL }},
26042 { &hf_gsm_old_signalInfo,
26043 { "signalInfo", "gsm_old.signalInfo",
26044 FT_BYTES, BASE_NONE, NULL, 0,
26045 NULL, HFILL }},
26046 { &hf_gsm_old_extensionContainer,
26047 { "extensionContainer", "gsm_old.extensionContainer_element",
26048 FT_NONE, BASE_NONE, NULL, 0,
26049 NULL, HFILL }},
26050 { &hf_gsm_old_gsm_BearerCapability,
26051 { "gsm-BearerCapability", "gsm_old.gsm_BearerCapability_element",
26052 FT_NONE, BASE_NONE, NULL, 0,
26053 "ExternalSignalInfo", HFILL }},
26054 { &hf_gsm_old_isdn_BearerCapability,
26055 { "isdn-BearerCapability", "gsm_old.isdn_BearerCapability_element",
26056 FT_NONE, BASE_NONE, NULL, 0,
26057 "ExternalSignalInfo", HFILL }},
26058 { &hf_gsm_old_call_Direction,
26059 { "call-Direction", "gsm_old.call_Direction",
26060 FT_BYTES, BASE_NONE, NULL, 0,
26061 "CallDirection", HFILL }},
26062 { &hf_gsm_old_b_Subscriber_Address,
26063 { "b-Subscriber-Address", "gsm_old.b_Subscriber_Address",
26064 FT_BYTES, BASE_NONE, NULL, 0,
26065 "ISDN_AddressString", HFILL }},
26066 { &hf_gsm_old_chosenChannel,
26067 { "chosenChannel", "gsm_old.chosenChannel_element",
26068 FT_NONE, BASE_NONE, NULL, 0,
26069 "ExternalSignalInfo", HFILL }},
26070 { &hf_gsm_old_lowerLayerCompatibility,
26071 { "lowerLayerCompatibility", "gsm_old.lowerLayerCompatibility_element",
26072 FT_NONE, BASE_NONE, NULL, 0,
26073 "ExternalSignalInfo", HFILL }},
26074 { &hf_gsm_old_highLayerCompatibility,
26075 { "highLayerCompatibility", "gsm_old.highLayerCompatibility_element",
26076 FT_NONE, BASE_NONE, NULL, 0,
26077 "ExternalSignalInfo", HFILL }},
26078 { &hf_gsm_old_sIWFSNumber,
26079 { "sIWFSNumber", "gsm_old.sIWFSNumber",
26080 FT_BYTES, BASE_NONE, NULL, 0,
26081 "ISDN_AddressString", HFILL }},
26082 { &hf_gsm_old_imsi,
26083 { "imsi", "gsm_old.imsi",
26084 FT_BYTES, BASE_NONE, NULL, 0,
26085 NULL, HFILL }},
26086 { &hf_gsm_old_vlr_Number,
26087 { "vlr-Number", "gsm_old.vlr_Number",
26088 FT_BYTES, BASE_NONE, NULL, 0,
26089 "ISDN_AddressString", HFILL }},
26090 { &hf_gsm_old_targetCellId,
26091 { "targetCellId", "gsm_old.targetCellId",
26092 FT_BYTES, BASE_NONE, NULL, 0,
26093 "GlobalCellId", HFILL }},
26094 { &hf_gsm_old_ho_NumberNotRequired,
26095 { "ho-NumberNotRequired", "gsm_old.ho_NumberNotRequired_element",
26096 FT_NONE, BASE_NONE, NULL, 0,
26097 NULL, HFILL }},
26098 { &hf_gsm_old_bss_APDU,
26099 { "bss-APDU", "gsm_old.bss_APDU_element",
26100 FT_NONE, BASE_NONE, NULL, 0,
26101 NULL, HFILL }},
26102 { &hf_gsm_old_handoverNumber,
26103 { "handoverNumber", "gsm_old.handoverNumber",
26104 FT_BYTES, BASE_NONE, NULL, 0,
26105 "ISDN_AddressString", HFILL }},
26106 { &hf_gsm_old_SendAuthenticationInfoResOld_item,
26107 { "SendAuthenticationInfoResOld item", "gsm_old.SendAuthenticationInfoResOld_item_element",
26108 FT_NONE, BASE_NONE, NULL, 0,
26109 NULL, HFILL }},
26110 { &hf_gsm_old_rand,
26111 { "rand", "gsm_old.rand",
26112 FT_BYTES, BASE_NONE, NULL, 0,
26113 NULL, HFILL }},
26114 { &hf_gsm_old_sres,
26115 { "sres", "gsm_old.sres",
26116 FT_BYTES, BASE_NONE, NULL, 0,
26117 NULL, HFILL }},
26118 { &hf_gsm_old_kc,
26119 { "kc", "gsm_old.kc",
26120 FT_BYTES, BASE_NONE, NULL, 0,
26121 NULL, HFILL }},
26122 { &hf_gsm_old_tripletList,
26123 { "tripletList", "gsm_old.tripletList",
26124 FT_UINT32, BASE_DEC, NULL, 0,
26125 "TripletListold", HFILL }},
26126 { &hf_gsm_old_TripletListold_item,
26127 { "AuthenticationTriplet-v2", "gsm_old.AuthenticationTriplet_v2_element",
26128 FT_NONE, BASE_NONE, NULL, 0,
26129 NULL, HFILL }},
26130 { &hf_gsm_old_channelType,
26131 { "channelType", "gsm_old.channelType_element",
26132 FT_NONE, BASE_NONE, NULL, 0,
26133 "ExternalSignalInfo", HFILL }},
26134 { &hf_gsm_old_securityHeader,
26135 { "securityHeader", "gsm_old.securityHeader_element",
26136 FT_NONE, BASE_NONE, NULL, 0,
26137 NULL, HFILL }},
26138 { &hf_gsm_old_protectedPayload,
26139 { "protectedPayload", "gsm_old.protectedPayload",
26140 FT_BYTES, BASE_NONE, NULL, 0,
26141 NULL, HFILL }},
26142 { &hf_gsm_old_securityParametersIndex,
26143 { "securityParametersIndex", "gsm_old.securityParametersIndex",
26144 FT_BYTES, BASE_NONE, NULL, 0,
26145 NULL, HFILL }},
26146 { &hf_gsm_old_originalComponentIdentifier,
26147 { "originalComponentIdentifier", "gsm_old.originalComponentIdentifier",
26148 FT_UINT32, BASE_DEC, VALS(gsm_old_OriginalComponentIdentifier_vals), 0,
26149 NULL, HFILL }},
26150 { &hf_gsm_old_initialisationVector,
26151 { "initialisationVector", "gsm_old.initialisationVector",
26152 FT_BYTES, BASE_NONE, NULL, 0,
26153 NULL, HFILL }},
26154 { &hf_gsm_old_operationCode,
26155 { "operationCode", "gsm_old.operationCode",
26156 FT_UINT32, BASE_DEC, VALS(gsm_old_OperationCode_vals), 0,
26157 NULL, HFILL }},
26158 { &hf_gsm_old_errorCode_01,
26159 { "errorCode", "gsm_old.errorCode",
26160 FT_UINT32, BASE_DEC, VALS(gsm_old_ErrorCode_vals), 0,
26161 NULL, HFILL }},
26162 { &hf_gsm_old_userInfo,
26163 { "userInfo", "gsm_old.userInfo_element",
26164 FT_NONE, BASE_NONE, NULL, 0,
26165 NULL, HFILL }},
26166 { &hf_gsm_old_localValue_02,
26167 { "localValue", "gsm_old.localValue",
26168 FT_INT32, BASE_DEC, NULL, 0,
26169 "INTEGER", HFILL }},
26170 { &hf_gsm_old_msisdn,
26171 { "msisdn", "gsm_old.msisdn",
26172 FT_BYTES, BASE_NONE, NULL, 0,
26173 "ISDN_AddressString", HFILL }},
26174 { &hf_gsm_old_category,
26175 { "category", "gsm_old.category",
26176 FT_BYTES, BASE_NONE, NULL, 0,
26177 NULL, HFILL }},
26178 { &hf_gsm_old_basicService,
26179 { "basicService", "gsm_old.basicService",
26180 FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
26181 "BasicServiceCode", HFILL }},
26182 { &hf_gsm_old_operatorSS_Code,
26183 { "operatorSS-Code", "gsm_old.operatorSS_Code",
26184 FT_UINT32, BASE_DEC, NULL, 0,
26185 NULL, HFILL }},
26186 { &hf_gsm_old_operatorSS_Code_item,
26187 { "operatorSS-Code item", "gsm_old.operatorSS_Code_item",
26188 FT_BYTES, BASE_NONE, NULL, 0,
26189 "OCTET_STRING_SIZE_1", HFILL }},
26190 { &hf_gsm_old_sm_RP_DA,
26191 { "sm-RP-DA", "gsm_old.sm_RP_DA",
26192 FT_UINT32, BASE_DEC, VALS(gsm_old_SM_RP_DAold_vals), 0,
26193 "SM_RP_DAold", HFILL }},
26194 { &hf_gsm_old_sm_RP_OA,
26195 { "sm-RP-OA", "gsm_old.sm_RP_OA",
26196 FT_UINT32, BASE_DEC, VALS(gsm_old_SM_RP_OAold_vals), 0,
26197 "SM_RP_OAold", HFILL }},
26198 { &hf_gsm_old_sm_RP_UI,
26199 { "sm-RP-UI", "gsm_old.sm_RP_UI",
26200 FT_BYTES, BASE_NONE, NULL, 0,
26201 "SignalInfo", HFILL }},
26202 { &hf_gsm_old_moreMessagesToSend,
26203 { "moreMessagesToSend", "gsm_old.moreMessagesToSend_element",
26204 FT_NONE, BASE_NONE, NULL, 0,
26205 NULL, HFILL }},
26206 { &hf_gsm_old_imsi_01,
26207 { "imsi", "gsm_old.imsi",
26208 FT_BYTES, BASE_NONE, NULL, 0,
26209 NULL, HFILL }},
26210 { &hf_gsm_old_lmsi,
26211 { "lmsi", "gsm_old.lmsi",
26212 FT_BYTES, BASE_NONE, NULL, 0,
26213 NULL, HFILL }},
26214 { &hf_gsm_old_serviceCentreAddressDA,
26215 { "serviceCentreAddressDA", "gsm_old.serviceCentreAddressDA",
26216 FT_BYTES, BASE_NONE, NULL, 0,
26217 NULL, HFILL }},
26218 { &hf_gsm_old_noSM_RP_DA,
26219 { "noSM-RP-DA", "gsm_old.noSM_RP_DA_element",
26220 FT_NONE, BASE_NONE, NULL, 0,
26221 NULL, HFILL }},
26222 { &hf_gsm_old_msisdn_01,
26223 { "msisdn", "gsm_old.msisdn",
26224 FT_BYTES, BASE_NONE, NULL, 0,
26225 NULL, HFILL }},
26226 { &hf_gsm_old_serviceCentreAddressOA,
26227 { "serviceCentreAddressOA", "gsm_old.serviceCentreAddressOA",
26228 FT_BYTES, BASE_NONE, NULL, 0,
26229 NULL, HFILL }},
26230 { &hf_gsm_old_noSM_RP_OA,
26231 { "noSM-RP-OA", "gsm_old.noSM_RP_OA_element",
26232 FT_NONE, BASE_NONE, NULL, 0,
26233 NULL, HFILL }},
26234 { &hf_gsm_old_cug_CheckInfo,
26235 { "cug-CheckInfo", "gsm_old.cug_CheckInfo_element",
26236 FT_NONE, BASE_NONE, NULL, 0,
26237 NULL, HFILL }},
26238 { &hf_gsm_old_numberOfForwarding,
26239 { "numberOfForwarding", "gsm_old.numberOfForwarding",
26240 FT_UINT32, BASE_DEC, NULL, 0,
26241 NULL, HFILL }},
26242 { &hf_gsm_old_networkSignalInfo,
26243 { "networkSignalInfo", "gsm_old.networkSignalInfo_element",
26244 FT_NONE, BASE_NONE, NULL, 0,
26245 "ExternalSignalInfo", HFILL }},
26246 { &hf_gsm_old_routingInfo,
26247 { "routingInfo", "gsm_old.routingInfo",
26248 FT_UINT32, BASE_DEC, VALS(gsm_map_ch_RoutingInfo_vals), 0,
26249 NULL, HFILL }},
26250 { &hf_gsm_old_originatingEntityNumber,
26251 { "originatingEntityNumber", "gsm_old.originatingEntityNumber",
26252 FT_BYTES, BASE_NONE, NULL, 0,
26253 "ISDN_AddressString", HFILL }},
26254 { &hf_gsm_old_msisdn_02,
26255 { "msisdn", "gsm_old.msisdn",
26256 FT_BYTES, BASE_NONE, NULL, 0,
26257 "AddressString", HFILL }},
26259 /* --- Module SS-DataTypes --- --- --- */
26261 { &hf_gsm_ss_ss_Code,
26262 { "ss-Code", "gsm_ss.ss_Code",
26263 FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
26264 NULL, HFILL }},
26265 { &hf_gsm_ss_ss_Status,
26266 { "ss-Status", "gsm_ss.ss_Status",
26267 FT_BYTES, BASE_NONE, NULL, 0,
26268 NULL, HFILL }},
26269 { &hf_gsm_ss_ss_Notification,
26270 { "ss-Notification", "gsm_ss.ss_Notification",
26271 FT_BYTES, BASE_NONE, NULL, 0,
26272 NULL, HFILL }},
26273 { &hf_gsm_ss_callIsWaiting_Indicator,
26274 { "callIsWaiting-Indicator", "gsm_ss.callIsWaiting_Indicator_element",
26275 FT_NONE, BASE_NONE, NULL, 0,
26276 NULL, HFILL }},
26277 { &hf_gsm_ss_callOnHold_Indicator,
26278 { "callOnHold-Indicator", "gsm_ss.callOnHold_Indicator",
26279 FT_UINT32, BASE_DEC, VALS(gsm_ss_CallOnHold_Indicator_vals), 0,
26280 NULL, HFILL }},
26281 { &hf_gsm_ss_mpty_Indicator,
26282 { "mpty-Indicator", "gsm_ss.mpty_Indicator_element",
26283 FT_NONE, BASE_NONE, NULL, 0,
26284 NULL, HFILL }},
26285 { &hf_gsm_ss_cug_Index,
26286 { "cug-Index", "gsm_ss.cug_Index",
26287 FT_UINT32, BASE_DEC, NULL, 0,
26288 NULL, HFILL }},
26289 { &hf_gsm_ss_clirSuppressionRejected,
26290 { "clirSuppressionRejected", "gsm_ss.clirSuppressionRejected_element",
26291 FT_NONE, BASE_NONE, NULL, 0,
26292 NULL, HFILL }},
26293 { &hf_gsm_ss_ect_Indicator,
26294 { "ect-Indicator", "gsm_ss.ect_Indicator_element",
26295 FT_NONE, BASE_NONE, NULL, 0,
26296 NULL, HFILL }},
26297 { &hf_gsm_ss_nameIndicator,
26298 { "nameIndicator", "gsm_ss.nameIndicator_element",
26299 FT_NONE, BASE_NONE, NULL, 0,
26300 NULL, HFILL }},
26301 { &hf_gsm_ss_ccbs_Feature,
26302 { "ccbs-Feature", "gsm_ss.ccbs_Feature_element",
26303 FT_NONE, BASE_NONE, NULL, 0,
26304 NULL, HFILL }},
26305 { &hf_gsm_ss_alertingPattern,
26306 { "alertingPattern", "gsm_ss.alertingPattern",
26307 FT_BYTES, BASE_NONE, NULL, 0,
26308 NULL, HFILL }},
26309 { &hf_gsm_ss_multicall_Indicator,
26310 { "multicall-Indicator", "gsm_ss.multicall_Indicator",
26311 FT_UINT32, BASE_DEC, VALS(gsm_ss_Multicall_Indicator_vals), 0,
26312 NULL, HFILL }},
26313 { &hf_gsm_ss_chargingInformation,
26314 { "chargingInformation", "gsm_ss.chargingInformation_element",
26315 FT_NONE, BASE_NONE, NULL, 0,
26316 NULL, HFILL }},
26317 { &hf_gsm_ss_e1,
26318 { "e1", "gsm_ss.e1",
26319 FT_UINT32, BASE_DEC, NULL, 0,
26320 NULL, HFILL }},
26321 { &hf_gsm_ss_e2,
26322 { "e2", "gsm_ss.e2",
26323 FT_UINT32, BASE_DEC, NULL, 0,
26324 NULL, HFILL }},
26325 { &hf_gsm_ss_e3,
26326 { "e3", "gsm_ss.e3",
26327 FT_UINT32, BASE_DEC, NULL, 0,
26328 NULL, HFILL }},
26329 { &hf_gsm_ss_e4,
26330 { "e4", "gsm_ss.e4",
26331 FT_UINT32, BASE_DEC, NULL, 0,
26332 NULL, HFILL }},
26333 { &hf_gsm_ss_e5,
26334 { "e5", "gsm_ss.e5",
26335 FT_UINT32, BASE_DEC, NULL, 0,
26336 NULL, HFILL }},
26337 { &hf_gsm_ss_e6,
26338 { "e6", "gsm_ss.e6",
26339 FT_UINT32, BASE_DEC, NULL, 0,
26340 NULL, HFILL }},
26341 { &hf_gsm_ss_e7,
26342 { "e7", "gsm_ss.e7",
26343 FT_UINT32, BASE_DEC, NULL, 0,
26344 NULL, HFILL }},
26345 { &hf_gsm_ss_suppressPrefCUG,
26346 { "suppressPrefCUG", "gsm_ss.suppressPrefCUG_element",
26347 FT_NONE, BASE_NONE, NULL, 0,
26348 NULL, HFILL }},
26349 { &hf_gsm_ss_suppressOA,
26350 { "suppressOA", "gsm_ss.suppressOA_element",
26351 FT_NONE, BASE_NONE, NULL, 0,
26352 NULL, HFILL }},
26353 { &hf_gsm_ss_ect_CallState,
26354 { "ect-CallState", "gsm_ss.ect_CallState",
26355 FT_UINT32, BASE_DEC, VALS(gsm_ss_ECT_CallState_vals), 0,
26356 NULL, HFILL }},
26357 { &hf_gsm_ss_rdn,
26358 { "rdn", "gsm_ss.rdn",
26359 FT_UINT32, BASE_DEC, VALS(gsm_ss_RDN_vals), 0,
26360 NULL, HFILL }},
26361 { &hf_gsm_ss_callingName,
26362 { "callingName", "gsm_ss.callingName",
26363 FT_UINT32, BASE_DEC, VALS(gsm_ss_Name_vals), 0,
26364 "Name", HFILL }},
26365 { &hf_gsm_ss_namePresentationAllowed,
26366 { "namePresentationAllowed", "gsm_ss.namePresentationAllowed_element",
26367 FT_NONE, BASE_NONE, NULL, 0,
26368 "NameSet", HFILL }},
26369 { &hf_gsm_ss_presentationRestricted,
26370 { "presentationRestricted", "gsm_ss.presentationRestricted_element",
26371 FT_NONE, BASE_NONE, NULL, 0,
26372 NULL, HFILL }},
26373 { &hf_gsm_ss_nameUnavailable,
26374 { "nameUnavailable", "gsm_ss.nameUnavailable_element",
26375 FT_NONE, BASE_NONE, NULL, 0,
26376 NULL, HFILL }},
26377 { &hf_gsm_ss_namePresentationRestricted,
26378 { "namePresentationRestricted", "gsm_ss.namePresentationRestricted_element",
26379 FT_NONE, BASE_NONE, NULL, 0,
26380 "NameSet", HFILL }},
26381 { &hf_gsm_ss_dataCodingScheme,
26382 { "dataCodingScheme", "gsm_ss.dataCodingScheme",
26383 FT_BYTES, BASE_NONE, NULL, 0,
26384 "USSD_DataCodingScheme", HFILL }},
26385 { &hf_gsm_ss_lengthInCharacters,
26386 { "lengthInCharacters", "gsm_ss.lengthInCharacters",
26387 FT_INT32, BASE_DEC, NULL, 0,
26388 "INTEGER", HFILL }},
26389 { &hf_gsm_ss_nameString,
26390 { "nameString", "gsm_ss.nameString",
26391 FT_BYTES, BASE_NONE, NULL, 0,
26392 "USSD_String", HFILL }},
26393 { &hf_gsm_ss_presentationAllowedAddress,
26394 { "presentationAllowedAddress", "gsm_ss.presentationAllowedAddress_element",
26395 FT_NONE, BASE_NONE, NULL, 0,
26396 "RemotePartyNumber", HFILL }},
26397 { &hf_gsm_ss_numberNotAvailableDueToInterworking,
26398 { "numberNotAvailableDueToInterworking", "gsm_ss.numberNotAvailableDueToInterworking_element",
26399 FT_NONE, BASE_NONE, NULL, 0,
26400 NULL, HFILL }},
26401 { &hf_gsm_ss_presentationRestrictedAddress,
26402 { "presentationRestrictedAddress", "gsm_ss.presentationRestrictedAddress_element",
26403 FT_NONE, BASE_NONE, NULL, 0,
26404 "RemotePartyNumber", HFILL }},
26405 { &hf_gsm_ss_partyNumber,
26406 { "partyNumber", "gsm_ss.partyNumber",
26407 FT_BYTES, BASE_NONE, NULL, 0,
26408 "ISDN_AddressString", HFILL }},
26409 { &hf_gsm_ss_partyNumberSubaddress,
26410 { "partyNumberSubaddress", "gsm_ss.partyNumberSubaddress",
26411 FT_BYTES, BASE_NONE, NULL, 0,
26412 "ISDN_SubaddressString", HFILL }},
26413 { &hf_gsm_ss_deflectedToNumber,
26414 { "deflectedToNumber", "gsm_ss.deflectedToNumber",
26415 FT_BYTES, BASE_NONE, NULL, 0,
26416 "AddressString", HFILL }},
26417 { &hf_gsm_ss_deflectedToSubaddress,
26418 { "deflectedToSubaddress", "gsm_ss.deflectedToSubaddress",
26419 FT_BYTES, BASE_NONE, NULL, 0,
26420 "ISDN_SubaddressString", HFILL }},
26421 { &hf_gsm_ss_uUS_Service,
26422 { "uUS-Service", "gsm_ss.uUS_Service",
26423 FT_UINT32, BASE_DEC, VALS(gsm_ss_UUS_Service_vals), 0,
26424 NULL, HFILL }},
26425 { &hf_gsm_ss_uUS_Required,
26426 { "uUS-Required", "gsm_ss.uUS_Required",
26427 FT_BOOLEAN, BASE_NONE, NULL, 0,
26428 "BOOLEAN", HFILL }},
26429 { &hf_gsm_ss_notificationType,
26430 { "notificationType", "gsm_ss.notificationType",
26431 FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NotificationToMSUser_vals), 0,
26432 "NotificationToMSUser", HFILL }},
26433 { &hf_gsm_ss_locationType,
26434 { "locationType", "gsm_ss.locationType_element",
26435 FT_NONE, BASE_NONE, NULL, 0,
26436 NULL, HFILL }},
26437 { &hf_gsm_ss_lcsClientExternalID,
26438 { "lcsClientExternalID", "gsm_ss.lcsClientExternalID_element",
26439 FT_NONE, BASE_NONE, NULL, 0,
26440 NULL, HFILL }},
26441 { &hf_gsm_ss_lcsClientName,
26442 { "lcsClientName", "gsm_ss.lcsClientName_element",
26443 FT_NONE, BASE_NONE, NULL, 0,
26444 NULL, HFILL }},
26445 { &hf_gsm_ss_lcsRequestorID,
26446 { "lcsRequestorID", "gsm_ss.lcsRequestorID_element",
26447 FT_NONE, BASE_NONE, NULL, 0,
26448 NULL, HFILL }},
26449 { &hf_gsm_ss_lcsCodeword,
26450 { "lcsCodeword", "gsm_ss.lcsCodeword_element",
26451 FT_NONE, BASE_NONE, NULL, 0,
26452 NULL, HFILL }},
26453 { &hf_gsm_ss_lcsServiceTypeID,
26454 { "lcsServiceTypeID", "gsm_ss.lcsServiceTypeID",
26455 FT_UINT32, BASE_DEC, VALS(gsm_map_LCSServiceTypeID_vals), 0,
26456 NULL, HFILL }},
26457 { &hf_gsm_ss_verificationResponse,
26458 { "verificationResponse", "gsm_ss.verificationResponse",
26459 FT_UINT32, BASE_DEC, VALS(gsm_ss_VerificationResponse_vals), 0,
26460 NULL, HFILL }},
26461 { &hf_gsm_ss_molr_Type,
26462 { "molr-Type", "gsm_ss.molr_Type",
26463 FT_UINT32, BASE_DEC, VALS(gsm_ss_MOLR_Type_vals), 0,
26464 NULL, HFILL }},
26465 { &hf_gsm_ss_locationMethod,
26466 { "locationMethod", "gsm_ss.locationMethod",
26467 FT_UINT32, BASE_DEC, VALS(gsm_ss_LocationMethod_vals), 0,
26468 NULL, HFILL }},
26469 { &hf_gsm_ss_lcs_QoS,
26470 { "lcs-QoS", "gsm_ss.lcs_QoS_element",
26471 FT_NONE, BASE_NONE, NULL, 0,
26472 NULL, HFILL }},
26473 { &hf_gsm_ss_mlc_Number,
26474 { "mlc-Number", "gsm_ss.mlc_Number",
26475 FT_BYTES, BASE_NONE, NULL, 0,
26476 "ISDN_AddressString", HFILL }},
26477 { &hf_gsm_ss_gpsAssistanceData,
26478 { "gpsAssistanceData", "gsm_ss.gpsAssistanceData",
26479 FT_BYTES, BASE_NONE, NULL, 0,
26480 NULL, HFILL }},
26481 { &hf_gsm_ss_supportedGADShapes,
26482 { "supportedGADShapes", "gsm_ss.supportedGADShapes",
26483 FT_BYTES, BASE_NONE, NULL, 0,
26484 NULL, HFILL }},
26485 { &hf_gsm_ss_ageOfLocationInfo,
26486 { "ageOfLocationInfo", "gsm_ss.ageOfLocationInfo",
26487 FT_UINT32, BASE_DEC, NULL, 0,
26488 "AgeOfLocationInformation", HFILL }},
26489 { &hf_gsm_ss_pseudonymIndicator,
26490 { "pseudonymIndicator", "gsm_ss.pseudonymIndicator_element",
26491 FT_NONE, BASE_NONE, NULL, 0,
26492 NULL, HFILL }},
26493 { &hf_gsm_ss_h_gmlc_address,
26494 { "h-gmlc-address", "gsm_ss.h_gmlc_address",
26495 FT_BYTES, BASE_NONE, NULL, 0,
26496 "GSN_Address", HFILL }},
26497 { &hf_gsm_ss_locationEstimate,
26498 { "locationEstimate", "gsm_ss.locationEstimate",
26499 FT_BYTES, BASE_NONE, NULL, 0,
26500 "Ext_GeographicalInformation", HFILL }},
26501 { &hf_gsm_ss_velocityEstimate,
26502 { "velocityEstimate", "gsm_ss.velocityEstimate",
26503 FT_BYTES, BASE_NONE, NULL, 0,
26504 NULL, HFILL }},
26505 { &hf_gsm_ss_referenceNumber,
26506 { "referenceNumber", "gsm_ss.referenceNumber",
26507 FT_BYTES, BASE_NONE, NULL, 0,
26508 "LCS_ReferenceNumber", HFILL }},
26509 { &hf_gsm_ss_periodicLDRInfo,
26510 { "periodicLDRInfo", "gsm_ss.periodicLDRInfo_element",
26511 FT_NONE, BASE_NONE, NULL, 0,
26512 NULL, HFILL }},
26513 { &hf_gsm_ss_locationUpdateRequest,
26514 { "locationUpdateRequest", "gsm_ss.locationUpdateRequest_element",
26515 FT_NONE, BASE_NONE, NULL, 0,
26516 NULL, HFILL }},
26517 { &hf_gsm_ss_sequenceNumber,
26518 { "sequenceNumber", "gsm_ss.sequenceNumber",
26519 FT_UINT32, BASE_DEC, NULL, 0,
26520 NULL, HFILL }},
26521 { &hf_gsm_ss_terminationCause,
26522 { "terminationCause", "gsm_ss.terminationCause",
26523 FT_UINT32, BASE_DEC, VALS(gsm_ss_TerminationCause_vals), 0,
26524 NULL, HFILL }},
26525 { &hf_gsm_ss_mo_lrShortCircuit,
26526 { "mo-lrShortCircuit", "gsm_ss.mo_lrShortCircuit_element",
26527 FT_NONE, BASE_NONE, NULL, 0,
26528 NULL, HFILL }},
26529 { &hf_gsm_ss_ganssAssistanceData,
26530 { "ganssAssistanceData", "gsm_ss.ganssAssistanceData",
26531 FT_BYTES, BASE_NONE, NULL, 0,
26532 NULL, HFILL }},
26533 { &hf_gsm_ss_multiplePositioningProtocolPDUs,
26534 { "multiplePositioningProtocolPDUs", "gsm_ss.multiplePositioningProtocolPDUs",
26535 FT_UINT32, BASE_DEC, NULL, 0,
26536 NULL, HFILL }},
26537 { &hf_gsm_ss_MultiplePositioningProtocolPDUs_item,
26538 { "PositioningProtocolPDU", "gsm_ss.PositioningProtocolPDU",
26539 FT_BYTES, BASE_NONE, NULL, 0,
26540 NULL, HFILL }},
26541 { &hf_gsm_ss_decipheringKeys,
26542 { "decipheringKeys", "gsm_ss.decipheringKeys",
26543 FT_BYTES, BASE_NONE, NULL, 0,
26544 NULL, HFILL }},
26545 { &hf_gsm_ss_add_LocationEstimate,
26546 { "add-LocationEstimate", "gsm_ss.add_LocationEstimate",
26547 FT_BYTES, BASE_NONE, NULL, 0,
26548 "Add_GeographicalInformation", HFILL }},
26549 { &hf_gsm_ss_reportingPLMNList,
26550 { "reportingPLMNList", "gsm_ss.reportingPLMNList_element",
26551 FT_NONE, BASE_NONE, NULL, 0,
26552 NULL, HFILL }},
26553 { &hf_gsm_ss_deferredLocationEventType,
26554 { "deferredLocationEventType", "gsm_ss.deferredLocationEventType",
26555 FT_BYTES, BASE_NONE, NULL, 0,
26556 NULL, HFILL }},
26557 { &hf_gsm_ss_areaEventInfo,
26558 { "areaEventInfo", "gsm_ss.areaEventInfo_element",
26559 FT_NONE, BASE_NONE, NULL, 0,
26560 NULL, HFILL }},
26561 { &hf_gsm_ss_qoS,
26562 { "qoS", "gsm_ss.qoS_element",
26563 FT_NONE, BASE_NONE, NULL, 0,
26564 "LCS_QoS", HFILL }},
26566 /* --- Module EricssonMAP --- --- --- */
26568 { &hf_gsm_map_ericsson_imei,
26569 { "imei", "gsm_map.ericsson.imei",
26570 FT_BYTES, BASE_NONE, NULL, 0,
26571 NULL, HFILL }},
26572 { &hf_gsm_map_ericsson_requestedEquipmentInfo,
26573 { "requestedEquipmentInfo", "gsm_map.ericsson.requestedEquipmentInfo",
26574 FT_BYTES, BASE_NONE, NULL, 0,
26575 NULL, HFILL }},
26576 { &hf_gsm_map_ericsson_imsi,
26577 { "imsi", "gsm_map.ericsson.imsi",
26578 FT_BYTES, BASE_NONE, NULL, 0,
26579 NULL, HFILL }},
26580 { &hf_gsm_map_ericsson_locationInformation,
26581 { "locationInformation", "gsm_map.ericsson.locationInformation",
26582 FT_BYTES, BASE_NONE, NULL, 0,
26583 NULL, HFILL }},
26584 { &hf_gsm_map_ericsson_extensionContainer,
26585 { "extensionContainer", "gsm_map.ericsson.extensionContainer_element",
26586 FT_NONE, BASE_NONE, NULL, 0,
26587 NULL, HFILL }},
26589 /*--- End of included file: packet-gsm_map-hfarr.c ---*/
26590 #line 2608 "../../asn1/gsm_map/packet-gsm_map-template.c"
26593 /* List of subtrees */
26594 static gint *ett[] = {
26595 &ett_gsm_map,
26596 &ett_gsm_map_InvokeId,
26597 &ett_gsm_map_InvokePDU,
26598 &ett_gsm_map_ReturnResultPDU,
26599 &ett_gsm_map_ReturnErrorPDU,
26600 &ett_gsm_map_ReturnResult_result,
26601 &ett_gsm_map_ReturnError_result,
26602 &ett_gsm_map_GSMMAPPDU,
26603 &ett_gsm_map_ext_qos_subscribed,
26604 &ett_gsm_map_pdptypenumber,
26605 &ett_gsm_map_RAIdentity,
26606 &ett_gsm_map_LAIFixedLength,
26607 &ett_gsm_map_isdn_address_string,
26608 &ett_gsm_map_geo_desc,
26609 &ett_gsm_map_LongSignalInfo,
26610 &ett_gsm_map_RadioResourceInformation,
26611 &ett_gsm_map_MSNetworkCapability,
26612 &ett_gsm_map_MSRadioAccessCapability,
26613 &ett_gsm_map_externalsignalinfo,
26614 &ett_gsm_map_cbs_data_coding,
26615 &ett_gsm_map_GlobalCellId,
26616 &ett_gsm_map_GeographicalInformation,
26617 &ett_gsm_map_apn_str,
26618 &ett_gsm_map_LocationNumber,
26619 &ett_gsm_map_ericsson_locationInformation,
26622 /*--- Included file: packet-gsm_map-ettarr.c ---*/
26623 #line 1 "../../asn1/gsm_map/packet-gsm_map-ettarr.c"
26625 /* --- Module MAP-ExtensionDataTypes --- --- --- */
26627 &ett_gsm_map_ExtensionContainer,
26628 &ett_gsm_map_SLR_ArgExtensionContainer,
26629 &ett_gsm_map_PrivateExtensionList,
26630 &ett_gsm_map_PrivateExtension,
26631 &ett_gsm_map_PCS_Extensions,
26632 &ett_gsm_map_SLR_Arg_PCS_Extensions,
26634 /* --- Module MAP-CommonDataTypes --- --- --- */
26636 &ett_gsm_map_ExternalSignalInfo,
26637 &ett_gsm_map_Ext_ExternalSignalInfo,
26638 &ett_gsm_map_AccessNetworkSignalInfo,
26639 &ett_gsm_map_Identity,
26640 &ett_gsm_map_IMSI_WithLMSI,
26641 &ett_gsm_map_HLR_List,
26642 &ett_gsm_map_NAEA_PreferredCI,
26643 &ett_gsm_map_SubscriberIdentity,
26644 &ett_gsm_map_LCSClientExternalID,
26645 &ett_gsm_map_NetworkNodeDiameterAddress,
26646 &ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI,
26647 &ett_gsm_map_BasicServiceCode,
26648 &ett_gsm_map_Ext_BasicServiceCode,
26649 &ett_gsm_map_EMLPP_Info,
26650 &ett_gsm_map_MC_SS_Info,
26652 /* --- Module MAP-SS-DataTypes --- --- --- */
26654 &ett_gsm_map_ss_RegisterSS_Arg,
26655 &ett_gsm_map_ss_SS_Info,
26656 &ett_gsm_map_ss_ForwardingInfo,
26657 &ett_gsm_map_ss_ForwardingFeatureList,
26658 &ett_gsm_map_ss_ForwardingFeature,
26659 &ett_gsm_map_ss_CallBarringInfo,
26660 &ett_gsm_map_ss_CallBarringFeatureList,
26661 &ett_gsm_map_ss_CallBarringFeature,
26662 &ett_gsm_map_ss_SS_Data,
26663 &ett_gsm_map_ss_SS_SubscriptionOption,
26664 &ett_gsm_map_ss_SS_ForBS_Code,
26665 &ett_gsm_map_ss_GenericServiceInfo,
26666 &ett_gsm_map_ss_CCBS_FeatureList,
26667 &ett_gsm_map_ss_CCBS_Feature,
26668 &ett_gsm_map_ss_InterrogateSS_Res,
26669 &ett_gsm_map_ss_USSD_Arg,
26670 &ett_gsm_map_ss_USSD_Res,
26671 &ett_gsm_map_ss_SS_List,
26672 &ett_gsm_map_ss_BasicServiceGroupList,
26673 &ett_gsm_map_ss_SS_InvocationNotificationArg,
26674 &ett_gsm_map_ss_SS_InvocationNotificationRes,
26675 &ett_gsm_map_ss_SS_EventSpecification,
26676 &ett_gsm_map_ss_RegisterCC_EntryArg,
26677 &ett_gsm_map_ss_CCBS_Data,
26678 &ett_gsm_map_ss_ServiceIndicator,
26679 &ett_gsm_map_ss_RegisterCC_EntryRes,
26680 &ett_gsm_map_ss_EraseCC_EntryArg,
26681 &ett_gsm_map_ss_EraseCC_EntryRes,
26683 /* --- Module MAP-ER-DataTypes --- --- --- */
26685 &ett_gsm_map_er_RoamingNotAllowedParam,
26686 &ett_gsm_map_er_CallBarredParam,
26687 &ett_gsm_map_er_ExtensibleCallBarredParam,
26688 &ett_gsm_map_er_CUG_RejectParam,
26689 &ett_gsm_map_er_SS_IncompatibilityCause,
26690 &ett_gsm_map_er_SM_DeliveryFailureCause,
26691 &ett_gsm_map_er_AbsentSubscriberSM_Param,
26692 &ett_gsm_map_er_SystemFailureParam,
26693 &ett_gsm_map_er_ExtensibleSystemFailureParam,
26694 &ett_gsm_map_er_DataMissingParam,
26695 &ett_gsm_map_er_UnexpectedDataParam,
26696 &ett_gsm_map_er_FacilityNotSupParam,
26697 &ett_gsm_map_er_OR_NotAllowedParam,
26698 &ett_gsm_map_er_UnknownSubscriberParam,
26699 &ett_gsm_map_er_NumberChangedParam,
26700 &ett_gsm_map_er_UnidentifiedSubParam,
26701 &ett_gsm_map_er_IllegalSubscriberParam,
26702 &ett_gsm_map_er_IllegalEquipmentParam,
26703 &ett_gsm_map_er_BearerServNotProvParam,
26704 &ett_gsm_map_er_TeleservNotProvParam,
26705 &ett_gsm_map_er_TracingBufferFullParam,
26706 &ett_gsm_map_er_NoRoamingNbParam,
26707 &ett_gsm_map_er_AbsentSubscriberParam,
26708 &ett_gsm_map_er_BusySubscriberParam,
26709 &ett_gsm_map_er_NoSubscriberReplyParam,
26710 &ett_gsm_map_er_ForwardingViolationParam,
26711 &ett_gsm_map_er_ForwardingFailedParam,
26712 &ett_gsm_map_er_ATI_NotAllowedParam,
26713 &ett_gsm_map_er_ATSI_NotAllowedParam,
26714 &ett_gsm_map_er_ATM_NotAllowedParam,
26715 &ett_gsm_map_er_IllegalSS_OperationParam,
26716 &ett_gsm_map_er_SS_NotAvailableParam,
26717 &ett_gsm_map_er_SS_SubscriptionViolationParam,
26718 &ett_gsm_map_er_InformationNotAvailableParam,
26719 &ett_gsm_map_er_SubBusyForMT_SMS_Param,
26720 &ett_gsm_map_er_MessageWaitListFullParam,
26721 &ett_gsm_map_er_ResourceLimitationParam,
26722 &ett_gsm_map_er_NoGroupCallNbParam,
26723 &ett_gsm_map_er_IncompatibleTerminalParam,
26724 &ett_gsm_map_er_ShortTermDenialParam,
26725 &ett_gsm_map_er_LongTermDenialParam,
26726 &ett_gsm_map_er_UnauthorizedRequestingNetwork_Param,
26727 &ett_gsm_map_er_UnauthorizedLCSClient_Param,
26728 &ett_gsm_map_er_PositionMethodFailure_Param,
26729 &ett_gsm_map_er_UnknownOrUnreachableLCSClient_Param,
26730 &ett_gsm_map_er_MM_EventNotSupported_Param,
26731 &ett_gsm_map_er_TargetCellOutsideGCA_Param,
26732 &ett_gsm_map_er_OngoingGroupCallParam,
26734 /* --- Module MAP-SM-DataTypes --- --- --- */
26736 &ett_gsm_map_sm_RoutingInfoForSM_Arg,
26737 &ett_gsm_map_sm_RoutingInfoForSM_Res,
26738 &ett_gsm_map_sm_IP_SM_GW_Guidance,
26739 &ett_gsm_map_sm_LocationInfoWithLMSI,
26740 &ett_gsm_map_sm_Additional_Number,
26741 &ett_gsm_map_sm_MO_ForwardSM_Arg,
26742 &ett_gsm_map_sm_MO_ForwardSM_Res,
26743 &ett_gsm_map_sm_MT_ForwardSM_Arg,
26744 &ett_gsm_map_sm_MT_ForwardSM_Res,
26745 &ett_gsm_map_sm_SM_RP_DA,
26746 &ett_gsm_map_sm_SM_RP_OA,
26747 &ett_gsm_map_sm_ReportSM_DeliveryStatusArg,
26748 &ett_gsm_map_sm_ReportSM_DeliveryStatusRes,
26749 &ett_gsm_map_sm_AlertServiceCentreArg,
26750 &ett_gsm_map_sm_InformServiceCentreArg,
26751 &ett_gsm_map_sm_MW_Status,
26752 &ett_gsm_map_sm_ReadyForSM_Arg,
26753 &ett_gsm_map_sm_ReadyForSM_Res,
26754 &ett_gsm_map_sm_MT_ForwardSM_VGCS_Arg,
26755 &ett_gsm_map_sm_MT_ForwardSM_VGCS_Res,
26756 &ett_gsm_map_sm_DispatcherList,
26757 &ett_gsm_map_sm_AdditionalDispatcherList,
26759 /* --- Module MAP-OM-DataTypes --- --- --- */
26761 &ett_gsm_map_om_ActivateTraceModeArg,
26762 &ett_gsm_map_om_MDT_Configuration,
26763 &ett_gsm_map_om_AreaScope,
26764 &ett_gsm_map_om_CGI_List,
26765 &ett_gsm_map_om_E_UTRAN_CGI_List,
26766 &ett_gsm_map_om_RoutingAreaId_List,
26767 &ett_gsm_map_om_LocationAreaId_List,
26768 &ett_gsm_map_om_TrackingAreaId_List,
26769 &ett_gsm_map_om_TraceDepthList,
26770 &ett_gsm_map_om_TraceNE_TypeList,
26771 &ett_gsm_map_om_TraceInterfaceList,
26772 &ett_gsm_map_om_MSC_S_InterfaceList,
26773 &ett_gsm_map_om_MGW_InterfaceList,
26774 &ett_gsm_map_om_SGSN_InterfaceList,
26775 &ett_gsm_map_om_GGSN_InterfaceList,
26776 &ett_gsm_map_om_RNC_InterfaceList,
26777 &ett_gsm_map_om_BMSC_InterfaceList,
26778 &ett_gsm_map_om_MME_InterfaceList,
26779 &ett_gsm_map_om_SGW_InterfaceList,
26780 &ett_gsm_map_om_PGW_InterfaceList,
26781 &ett_gsm_map_om_ENB_InterfaceList,
26782 &ett_gsm_map_om_TraceEventList,
26783 &ett_gsm_map_om_MSC_S_EventList,
26784 &ett_gsm_map_om_MGW_EventList,
26785 &ett_gsm_map_om_SGSN_EventList,
26786 &ett_gsm_map_om_GGSN_EventList,
26787 &ett_gsm_map_om_BMSC_EventList,
26788 &ett_gsm_map_om_MME_EventList,
26789 &ett_gsm_map_om_SGW_EventList,
26790 &ett_gsm_map_om_PGW_EventList,
26791 &ett_gsm_map_om_TracePropagationList,
26792 &ett_gsm_map_om_ActivateTraceModeRes,
26793 &ett_gsm_map_om_DeactivateTraceModeArg,
26794 &ett_gsm_map_om_DeactivateTraceModeRes,
26796 /* --- Module MAP-MS-DataTypes --- --- --- */
26798 &ett_gsm_map_ms_UpdateLocationArg,
26799 &ett_gsm_map_ms_VLR_Capability,
26800 &ett_gsm_map_ms_SupportedRAT_Types,
26801 &ett_gsm_map_ms_SuperChargerInfo,
26802 &ett_gsm_map_ms_SupportedLCS_CapabilitySets,
26803 &ett_gsm_map_ms_UpdateLocationRes,
26804 &ett_gsm_map_ms_ADD_Info,
26805 &ett_gsm_map_ms_PagingArea,
26806 &ett_gsm_map_ms_LocationArea,
26807 &ett_gsm_map_ms_CancelLocationArg_U,
26808 &ett_gsm_map_ms_CancelLocationRes,
26809 &ett_gsm_map_ms_PurgeMS_Arg_U,
26810 &ett_gsm_map_ms_PurgeMS_Res,
26811 &ett_gsm_map_ms_SendIdentificationArg,
26812 &ett_gsm_map_ms_SendIdentificationRes_U,
26813 &ett_gsm_map_ms_AuthenticationSetList,
26814 &ett_gsm_map_ms_TripletList,
26815 &ett_gsm_map_ms_QuintupletList,
26816 &ett_gsm_map_ms_AuthenticationTriplet,
26817 &ett_gsm_map_ms_AuthenticationQuintuplet,
26818 &ett_gsm_map_ms_CurrentSecurityContext,
26819 &ett_gsm_map_ms_GSM_SecurityContextData,
26820 &ett_gsm_map_ms_UMTS_SecurityContextData,
26821 &ett_gsm_map_ms_AuthenticationFailureReportArg,
26822 &ett_gsm_map_ms_AuthenticationFailureReportRes,
26823 &ett_gsm_map_ms_UpdateGprsLocationArg,
26824 &ett_gsm_map_ms_EPS_Info,
26825 &ett_gsm_map_ms_PDN_GW_Update,
26826 &ett_gsm_map_ms_ISR_Information,
26827 &ett_gsm_map_ms_SGSN_Capability,
26828 &ett_gsm_map_ms_SupportedFeatures,
26829 &ett_gsm_map_ms_UpdateGprsLocationRes,
26830 &ett_gsm_map_ms_EPLMN_List,
26831 &ett_gsm_map_ms_ForwardAccessSignalling_Arg_U,
26832 &ett_gsm_map_ms_AllowedUMTS_Algorithms,
26833 &ett_gsm_map_ms_PrepareHO_Arg_U,
26834 &ett_gsm_map_ms_LCLS_Negotiation,
26835 &ett_gsm_map_ms_LCLS_ConfigurationPreference,
26836 &ett_gsm_map_ms_BSSMAP_ServiceHandoverList,
26837 &ett_gsm_map_ms_BSSMAP_ServiceHandoverInfo,
26838 &ett_gsm_map_ms_RadioResourceList,
26839 &ett_gsm_map_ms_RadioResource,
26840 &ett_gsm_map_ms_PrepareHO_Res_U,
26841 &ett_gsm_map_ms_SelectedUMTS_Algorithms,
26842 &ett_gsm_map_ms_ChosenRadioResourceInformation,
26843 &ett_gsm_map_ms_PrepareSubsequentHO_Arg_U,
26844 &ett_gsm_map_ms_PrepareSubsequentHO_Res_U,
26845 &ett_gsm_map_ms_ProcessAccessSignalling_Arg_U,
26846 &ett_gsm_map_ms_AoIPCodecsList,
26847 &ett_gsm_map_ms_SupportedCodecsList,
26848 &ett_gsm_map_ms_CodecList,
26849 &ett_gsm_map_ms_SendEndSignal_Arg_U,
26850 &ett_gsm_map_ms_SendEndSignal_Res,
26851 &ett_gsm_map_ms_RelocationNumberList,
26852 &ett_gsm_map_ms_RelocationNumber,
26853 &ett_gsm_map_ms_SendAuthenticationInfoArg,
26854 &ett_gsm_map_ms_Re_synchronisationInfo,
26855 &ett_gsm_map_ms_SendAuthenticationInfoRes_U,
26856 &ett_gsm_map_ms_EPS_AuthenticationSetList,
26857 &ett_gsm_map_ms_EPC_AV,
26858 &ett_gsm_map_ms_CheckIMEI_Arg,
26859 &ett_gsm_map_ms_CheckIMEI_Res,
26860 &ett_gsm_map_ms_RequestedEquipmentInfo,
26861 &ett_gsm_map_ms_UESBI_Iu,
26862 &ett_gsm_map_ms_InsertSubscriberDataArg,
26863 &ett_gsm_map_ms_CSG_SubscriptionDataList,
26864 &ett_gsm_map_ms_CSG_SubscriptionData,
26865 &ett_gsm_map_ms_VPLMN_CSG_SubscriptionDataList,
26866 &ett_gsm_map_ms_LIPA_AllowedAPNList,
26867 &ett_gsm_map_ms_EPS_SubscriptionData,
26868 &ett_gsm_map_ms_APN_ConfigurationProfile,
26869 &ett_gsm_map_ms_EPS_DataList,
26870 &ett_gsm_map_ms_APN_Configuration,
26871 &ett_gsm_map_ms_EPS_QoS_Subscribed,
26872 &ett_gsm_map_ms_AMBR,
26873 &ett_gsm_map_ms_SpecificAPNInfoList,
26874 &ett_gsm_map_ms_SpecificAPNInfo,
26875 &ett_gsm_map_ms_Allocation_Retention_Priority,
26876 &ett_gsm_map_ms_PDN_GW_Identity,
26877 &ett_gsm_map_ms_AccessRestrictionData,
26878 &ett_gsm_map_ms_LCSInformation,
26879 &ett_gsm_map_ms_GMLC_List,
26880 &ett_gsm_map_ms_GPRSDataList,
26881 &ett_gsm_map_ms_PDP_Context,
26882 &ett_gsm_map_ms_GPRSSubscriptionData,
26883 &ett_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo,
26884 &ett_gsm_map_ms_GPRS_CSI,
26885 &ett_gsm_map_ms_GPRS_CamelTDPDataList,
26886 &ett_gsm_map_ms_GPRS_CamelTDPData,
26887 &ett_gsm_map_ms_LSADataList,
26888 &ett_gsm_map_ms_LSAData,
26889 &ett_gsm_map_ms_LSAInformation,
26890 &ett_gsm_map_ms_SubscriberData,
26891 &ett_gsm_map_ms_BearerServiceList,
26892 &ett_gsm_map_ms_TeleserviceList,
26893 &ett_gsm_map_ms_ODB_Data,
26894 &ett_gsm_map_ms_ODB_GeneralData,
26895 &ett_gsm_map_ms_ODB_HPLMN_Data,
26896 &ett_gsm_map_ms_Ext_SS_InfoList,
26897 &ett_gsm_map_ms_Ext_SS_Info,
26898 &ett_gsm_map_ms_Ext_ForwInfo,
26899 &ett_gsm_map_ms_Ext_ForwFeatureList,
26900 &ett_gsm_map_ms_Ext_ForwFeature,
26901 &ett_gsm_map_ms_Ext_CallBarInfo,
26902 &ett_gsm_map_ms_Ext_CallBarFeatureList,
26903 &ett_gsm_map_ms_Ext_CallBarringFeature,
26904 &ett_gsm_map_ms_CUG_Info,
26905 &ett_gsm_map_ms_CUG_SubscriptionList,
26906 &ett_gsm_map_ms_CUG_Subscription,
26907 &ett_gsm_map_ms_CUG_FeatureList,
26908 &ett_gsm_map_ms_Ext_BasicServiceGroupList,
26909 &ett_gsm_map_ms_CUG_Feature,
26910 &ett_gsm_map_ms_Ext_SS_Data,
26911 &ett_gsm_map_ms_LCS_PrivacyExceptionList,
26912 &ett_gsm_map_ms_LCS_PrivacyClass,
26913 &ett_gsm_map_ms_ExternalClientList,
26914 &ett_gsm_map_ms_PLMNClientList,
26915 &ett_gsm_map_ms_Ext_ExternalClientList,
26916 &ett_gsm_map_ms_ExternalClient,
26917 &ett_gsm_map_ms_ServiceTypeList,
26918 &ett_gsm_map_ms_ServiceType,
26919 &ett_gsm_map_ms_MOLR_List,
26920 &ett_gsm_map_ms_MOLR_Class,
26921 &ett_gsm_map_ms_ZoneCodeList,
26922 &ett_gsm_map_ms_InsertSubscriberDataRes,
26923 &ett_gsm_map_ms_DeleteSubscriberDataArg,
26924 &ett_gsm_map_ms_SpecificCSI_Withdraw,
26925 &ett_gsm_map_ms_GPRSSubscriptionDataWithdraw,
26926 &ett_gsm_map_ms_EPS_SubscriptionDataWithdraw,
26927 &ett_gsm_map_ms_ContextIdList,
26928 &ett_gsm_map_ms_LSAInformationWithdraw,
26929 &ett_gsm_map_ms_LSAIdentityList,
26930 &ett_gsm_map_ms_BasicServiceList,
26931 &ett_gsm_map_ms_DeleteSubscriberDataRes,
26932 &ett_gsm_map_ms_VlrCamelSubscriptionInfo,
26933 &ett_gsm_map_ms_MT_smsCAMELTDP_CriteriaList,
26934 &ett_gsm_map_ms_MT_smsCAMELTDP_Criteria,
26935 &ett_gsm_map_ms_TPDU_TypeCriterion,
26936 &ett_gsm_map_ms_D_CSI,
26937 &ett_gsm_map_ms_DP_AnalysedInfoCriteriaList,
26938 &ett_gsm_map_ms_DP_AnalysedInfoCriterium,
26939 &ett_gsm_map_ms_SS_CSI,
26940 &ett_gsm_map_ms_SS_CamelData,
26941 &ett_gsm_map_ms_SS_EventList,
26942 &ett_gsm_map_ms_O_CSI,
26943 &ett_gsm_map_ms_O_BcsmCamelTDPDataList,
26944 &ett_gsm_map_ms_O_BcsmCamelTDPData,
26945 &ett_gsm_map_ms_O_BcsmCamelTDPCriteriaList,
26946 &ett_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList,
26947 &ett_gsm_map_ms_O_BcsmCamelTDP_Criteria,
26948 &ett_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria,
26949 &ett_gsm_map_ms_DestinationNumberCriteria,
26950 &ett_gsm_map_ms_DestinationNumberList,
26951 &ett_gsm_map_ms_DestinationNumberLengthList,
26952 &ett_gsm_map_ms_BasicServiceCriteria,
26953 &ett_gsm_map_ms_O_CauseValueCriteria,
26954 &ett_gsm_map_ms_T_CauseValueCriteria,
26955 &ett_gsm_map_ms_SupportedCamelPhases,
26956 &ett_gsm_map_ms_OfferedCamel4CSIs,
26957 &ett_gsm_map_ms_OfferedCamel4Functionalities,
26958 &ett_gsm_map_ms_SMS_CSI,
26959 &ett_gsm_map_ms_SMS_CAMEL_TDP_DataList,
26960 &ett_gsm_map_ms_SMS_CAMEL_TDP_Data,
26961 &ett_gsm_map_ms_M_CSI,
26962 &ett_gsm_map_ms_MG_CSI,
26963 &ett_gsm_map_ms_MobilityTriggers,
26964 &ett_gsm_map_ms_T_CSI,
26965 &ett_gsm_map_ms_T_BcsmCamelTDPDataList,
26966 &ett_gsm_map_ms_T_BcsmCamelTDPData,
26967 &ett_gsm_map_ms_SendRoutingInfoForGprsArg,
26968 &ett_gsm_map_ms_SendRoutingInfoForGprsRes,
26969 &ett_gsm_map_ms_FailureReportArg,
26970 &ett_gsm_map_ms_FailureReportRes,
26971 &ett_gsm_map_ms_NoteMsPresentForGprsArg,
26972 &ett_gsm_map_ms_NoteMsPresentForGprsRes,
26973 &ett_gsm_map_ms_ResetArg,
26974 &ett_gsm_map_ms_SendingNode_Number,
26975 &ett_gsm_map_ms_RestoreDataArg,
26976 &ett_gsm_map_ms_RestoreDataRes,
26977 &ett_gsm_map_ms_VBSDataList,
26978 &ett_gsm_map_ms_VGCSDataList,
26979 &ett_gsm_map_ms_VoiceGroupCallData,
26980 &ett_gsm_map_ms_AdditionalSubscriptions,
26981 &ett_gsm_map_ms_VoiceBroadcastData,
26982 &ett_gsm_map_ms_ProvideSubscriberInfoArg,
26983 &ett_gsm_map_ms_ProvideSubscriberInfoRes,
26984 &ett_gsm_map_ms_SubscriberInfo,
26985 &ett_gsm_map_ms_MNPInfoRes,
26986 &ett_gsm_map_ms_GPRSMSClass,
26987 &ett_gsm_map_ms_RequestedInfo,
26988 &ett_gsm_map_ms_RequestedNodes,
26989 &ett_gsm_map_ms_LocationInformation,
26990 &ett_gsm_map_ms_LocationInformationEPS,
26991 &ett_gsm_map_ms_LocationInformationGPRS,
26992 &ett_gsm_map_ms_UserCSGInformation,
26993 &ett_gsm_map_ms_SubscriberState,
26994 &ett_gsm_map_ms_PS_SubscriberState,
26995 &ett_gsm_map_ms_PDP_ContextInfoList,
26996 &ett_gsm_map_ms_PDP_ContextInfo,
26997 &ett_gsm_map_ms_AnyTimeInterrogationArg,
26998 &ett_gsm_map_ms_AnyTimeInterrogationRes,
26999 &ett_gsm_map_ms_AnyTimeSubscriptionInterrogationArg,
27000 &ett_gsm_map_ms_AnyTimeSubscriptionInterrogationRes,
27001 &ett_gsm_map_ms_CallWaitingData,
27002 &ett_gsm_map_ms_Ext_CwFeatureList,
27003 &ett_gsm_map_ms_Ext_CwFeature,
27004 &ett_gsm_map_ms_ClipData,
27005 &ett_gsm_map_ms_ClirData,
27006 &ett_gsm_map_ms_CallHoldData,
27007 &ett_gsm_map_ms_EctData,
27008 &ett_gsm_map_ms_RequestedSubscriptionInfo,
27009 &ett_gsm_map_ms_MSISDN_BS_List,
27010 &ett_gsm_map_ms_MSISDN_BS,
27011 &ett_gsm_map_ms_CallForwardingData,
27012 &ett_gsm_map_ms_CallBarringData,
27013 &ett_gsm_map_ms_ODB_Info,
27014 &ett_gsm_map_ms_CAMEL_SubscriptionInfo,
27015 &ett_gsm_map_ms_AnyTimeModificationArg,
27016 &ett_gsm_map_ms_ModificationRequestFor_CW_Info,
27017 &ett_gsm_map_ms_ModificationRequestFor_CH_Info,
27018 &ett_gsm_map_ms_ModificationRequestFor_ECT_Info,
27019 &ett_gsm_map_ms_ModificationRequestFor_CLIR_Info,
27020 &ett_gsm_map_ms_ModificationRequestFor_CLIP_Info,
27021 &ett_gsm_map_ms_ModificationRequestFor_CSG,
27022 &ett_gsm_map_ms_RequestedServingNode,
27023 &ett_gsm_map_ms_ServingNode,
27024 &ett_gsm_map_ms_AnyTimeModificationRes,
27025 &ett_gsm_map_ms_ModificationRequestFor_CF_Info,
27026 &ett_gsm_map_ms_ModificationRequestFor_CB_Info,
27027 &ett_gsm_map_ms_ModificationRequestFor_ODB_data,
27028 &ett_gsm_map_ms_ModificationRequestFor_CSI,
27029 &ett_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data,
27030 &ett_gsm_map_ms_NoteSubscriberDataModifiedArg,
27031 &ett_gsm_map_ms_NoteSubscriberDataModifiedRes,
27032 &ett_gsm_map_ms_NoteMM_EventArg,
27033 &ett_gsm_map_ms_NoteMM_EventRes,
27034 &ett_gsm_map_ms_Ext_SS_InfoFor_CSE,
27035 &ett_gsm_map_ms_Ext_ForwardingInfoFor_CSE,
27036 &ett_gsm_map_ms_Ext_CallBarringInfoFor_CSE,
27037 &ett_gsm_map_ms_UpdateVcsgLocationArg,
27038 &ett_gsm_map_ms_UpdateVcsgLocationRes,
27039 &ett_gsm_map_ms_CancelVcsgLocationArg,
27040 &ett_gsm_map_ms_CancelVcsgLocationRes,
27042 /* --- Module MAP-CH-DataTypes --- --- --- */
27044 &ett_gsm_map_ch_CUG_CheckInfo,
27045 &ett_gsm_map_ch_SendRoutingInfoArg,
27046 &ett_gsm_map_ch_SuppressMTSS,
27047 &ett_gsm_map_ch_SendRoutingInfoRes_U,
27048 &ett_gsm_map_ch_AllowedServices,
27049 &ett_gsm_map_ch_CCBS_Indicators,
27050 &ett_gsm_map_ch_RoutingInfo,
27051 &ett_gsm_map_ch_ForwardingData,
27052 &ett_gsm_map_ch_ProvideRoamingNumberArg,
27053 &ett_gsm_map_ch_ProvideRoamingNumberRes,
27054 &ett_gsm_map_ch_ResumeCallHandlingArg,
27055 &ett_gsm_map_ch_UU_Data,
27056 &ett_gsm_map_ch_ResumeCallHandlingRes,
27057 &ett_gsm_map_ch_CamelInfo,
27058 &ett_gsm_map_ch_ExtendedRoutingInfo,
27059 &ett_gsm_map_ch_CamelRoutingInfo,
27060 &ett_gsm_map_ch_GmscCamelSubscriptionInfo,
27061 &ett_gsm_map_ch_SetReportingStateArg,
27062 &ett_gsm_map_ch_SetReportingStateRes,
27063 &ett_gsm_map_ch_StatusReportArg,
27064 &ett_gsm_map_ch_EventReportData,
27065 &ett_gsm_map_ch_CallReportData,
27066 &ett_gsm_map_ch_StatusReportRes,
27067 &ett_gsm_map_ch_RemoteUserFreeArg,
27068 &ett_gsm_map_ch_RemoteUserFreeRes,
27069 &ett_gsm_map_ch_IST_AlertArg,
27070 &ett_gsm_map_ch_IST_AlertRes,
27071 &ett_gsm_map_ch_IST_CommandArg,
27072 &ett_gsm_map_ch_IST_CommandRes,
27073 &ett_gsm_map_ch_ReleaseResourcesArg,
27074 &ett_gsm_map_ch_ReleaseResourcesRes,
27076 /* --- Module MAP-LCS-DataTypes --- --- --- */
27078 &ett_gsm_map_lcs_RoutingInfoForLCS_Arg,
27079 &ett_gsm_map_lcs_RoutingInfoForLCS_Res,
27080 &ett_gsm_map_lcs_LCSLocationInfo,
27081 &ett_gsm_map_lcs_ProvideSubscriberLocation_Arg,
27082 &ett_gsm_map_lcs_LocationType,
27083 &ett_gsm_map_lcs_DeferredLocationEventType,
27084 &ett_gsm_map_lcs_LCS_ClientID,
27085 &ett_gsm_map_lcs_LCSClientName,
27086 &ett_gsm_map_lcs_LCSRequestorID,
27087 &ett_gsm_map_lcs_LCS_QoS,
27088 &ett_gsm_map_lcs_ResponseTime,
27089 &ett_gsm_map_lcs_SupportedGADShapes,
27090 &ett_gsm_map_lcs_LCSCodeword,
27091 &ett_gsm_map_lcs_LCS_PrivacyCheck,
27092 &ett_gsm_map_lcs_AreaEventInfo,
27093 &ett_gsm_map_lcs_AreaDefinition,
27094 &ett_gsm_map_lcs_AreaList,
27095 &ett_gsm_map_lcs_Area,
27096 &ett_gsm_map_lcs_PeriodicLDRInfo,
27097 &ett_gsm_map_lcs_ReportingPLMNList,
27098 &ett_gsm_map_lcs_PLMNList,
27099 &ett_gsm_map_lcs_ReportingPLMN,
27100 &ett_gsm_map_lcs_ProvideSubscriberLocation_Res,
27101 &ett_gsm_map_lcs_SubscriberLocationReport_Arg,
27102 &ett_gsm_map_lcs_Deferredmt_lrData,
27103 &ett_gsm_map_lcs_ServingNodeAddress,
27104 &ett_gsm_map_lcs_SubscriberLocationReport_Res,
27106 /* --- Module MAP-GR-DataTypes --- --- --- */
27108 &ett_gsm_map_gr_PrepareGroupCallArg,
27109 &ett_gsm_map_gr_PrepareGroupCallRes,
27110 &ett_gsm_map_gr_SendGroupCallEndSignalArg,
27111 &ett_gsm_map_gr_SendGroupCallEndSignalRes,
27112 &ett_gsm_map_gr_ForwardGroupCallSignallingArg,
27113 &ett_gsm_map_gr_ProcessGroupCallSignallingArg,
27114 &ett_gsm_map_gr_StateAttributes,
27115 &ett_gsm_map_gr_SendGroupCallInfoArg,
27116 &ett_gsm_map_gr_SendGroupCallInfoRes,
27118 /* --- Module MAP-DialogueInformation --- --- --- */
27120 &ett_gsm_map_dialogue_MAP_DialoguePDU,
27121 &ett_gsm_map_dialogue_MAP_OpenInfo,
27122 &ett_gsm_map_dialogue_MAP_AcceptInfo,
27123 &ett_gsm_map_dialogue_MAP_CloseInfo,
27124 &ett_gsm_map_dialogue_MAP_RefuseInfo,
27125 &ett_gsm_map_dialogue_MAP_UserAbortInfo,
27126 &ett_gsm_map_dialogue_MAP_UserAbortChoice,
27127 &ett_gsm_map_dialogue_MAP_ProviderAbortInfo,
27129 /* --- Module MAP-LocationServiceOperations --- --- --- */
27132 /* --- Module MAP-Group-Call-Operations --- --- --- */
27135 /* --- Module MAP-ShortMessageServiceOperations --- --- --- */
27138 /* --- Module MAP-SupplementaryServiceOperations --- --- --- */
27141 /* --- Module MAP-CallHandlingOperations --- --- --- */
27144 /* --- Module MAP-OperationAndMaintenanceOperations --- --- --- */
27147 /* --- Module MAP-MobileServiceOperations --- --- --- */
27150 /* --- Module MAP-Errors --- --- --- */
27153 /* --- Module MAP-Protocol --- --- --- */
27156 /* --- Module DummyMAP --- --- --- */
27158 &ett_gsm_old_Component,
27159 &ett_gsm_old_Invoke,
27160 &ett_gsm_old_ReturnResult,
27161 &ett_gsm_old_T_resultretres,
27162 &ett_gsm_old_ReturnError,
27163 &ett_gsm_old_Reject,
27164 &ett_gsm_old_T_invokeIDRej,
27165 &ett_gsm_old_T_problem,
27166 &ett_gsm_old_MAP_OPERATION,
27167 &ett_gsm_old_MAP_ERROR,
27168 &ett_gsm_old_Bss_APDU,
27169 &ett_gsm_old_ProvideSIWFSNumberArg,
27170 &ett_gsm_old_ProvideSIWFSNumberRes,
27171 &ett_gsm_old_PurgeMSArgV2,
27172 &ett_gsm_old_PrepareHO_ArgOld,
27173 &ett_gsm_old_PrepareHO_ResOld,
27174 &ett_gsm_old_SendAuthenticationInfoResOld,
27175 &ett_gsm_old_SendAuthenticationInfoResOld_item,
27176 &ett_gsm_old_SendIdentificationResV2,
27177 &ett_gsm_old_TripletListold,
27178 &ett_gsm_old_AuthenticationTriplet_v2,
27179 &ett_gsm_old_SIWFSSignallingModifyArg,
27180 &ett_gsm_old_SIWFSSignallingModifyRes,
27181 &ett_gsm_old_SecureTransportArg,
27182 &ett_gsm_old_SecureTransportErrorParam,
27183 &ett_gsm_old_SecureTransportRes,
27184 &ett_gsm_old_SecurityHeader,
27185 &ett_gsm_old_OriginalComponentIdentifier,
27186 &ett_gsm_old_OperationCode,
27187 &ett_gsm_old_ErrorCode,
27188 &ett_gsm_old_PlmnContainer_U,
27189 &ett_gsm_old_T_operatorSS_Code,
27190 &ett_gsm_old_ForwardSM_Arg,
27191 &ett_gsm_old_SM_RP_DAold,
27192 &ett_gsm_old_SM_RP_OAold,
27193 &ett_gsm_old_SendRoutingInfoArgV2,
27194 &ett_gsm_old_SendRoutingInfoResV2,
27195 &ett_gsm_old_BeginSubscriberActivityArg,
27197 /* --- Module SS-DataTypes --- --- --- */
27199 &ett_gsm_ss_NotifySS_Arg,
27200 &ett_gsm_ss_ForwardChargeAdviceArg,
27201 &ett_gsm_ss_ChargingInformation,
27202 &ett_gsm_ss_ForwardCUG_InfoArg,
27203 &ett_gsm_ss_ECT_Indicator,
27204 &ett_gsm_ss_NameIndicator,
27205 &ett_gsm_ss_Name,
27206 &ett_gsm_ss_NameSet,
27207 &ett_gsm_ss_RDN,
27208 &ett_gsm_ss_RemotePartyNumber,
27209 &ett_gsm_ss_AccessRegisterCCEntryArg,
27210 &ett_gsm_ss_CallDeflectionArg,
27211 &ett_gsm_ss_UserUserServiceArg,
27212 &ett_gsm_ss_LocationNotificationArg,
27213 &ett_gsm_ss_LocationNotificationRes,
27214 &ett_gsm_ss_LCS_MOLRArg,
27215 &ett_gsm_ss_MultiplePositioningProtocolPDUs,
27216 &ett_gsm_ss_LCS_MOLRRes,
27217 &ett_gsm_ss_LCS_AreaEventRequestArg,
27218 &ett_gsm_ss_LCS_AreaEventReportArg,
27219 &ett_gsm_ss_LCS_AreaEventCancellationArg,
27220 &ett_gsm_ss_LCS_PeriodicLocationRequestArg,
27221 &ett_gsm_ss_LCS_PeriodicLocationRequestRes,
27222 &ett_gsm_ss_LCS_LocationUpdateArg,
27223 &ett_gsm_ss_LCS_LocationUpdateRes,
27224 &ett_gsm_ss_LCS_PeriodicLocationCancellationArg,
27226 /* --- Module SS-Operations --- --- --- */
27229 /* --- Module EricssonMAP --- --- --- */
27231 &ett_gsm_map_ericsson_EnhancedCheckIMEI_Arg,
27233 /*--- End of included file: packet-gsm_map-ettarr.c ---*/
27234 #line 2639 "../../asn1/gsm_map/packet-gsm_map-template.c"
27237 static ei_register_info ei[] = {
27238 { &ei_gsm_map_unknown_sequence3, { "gsm_map.unknown.sequence3", PI_UNDECODED, PI_ERROR, "Unknown or not implemented [3] sequence", EXPFILL }},
27239 { &ei_gsm_map_unknown_sequence, { "gsm_map.unknown.sequence", PI_UNDECODED, PI_ERROR, "Unknown or not implemented sequence", EXPFILL }},
27240 { &ei_gsm_map_unknown_parameter, { "gsm_map.unknown.parameter", PI_UNDECODED, PI_ERROR, "Unknown or not implemented parameter", EXPFILL }},
27241 { &ei_gsm_map_unknown_invokeData, { "gsm_map.unknown.invokeData", PI_MALFORMED, PI_WARN, "Unknown invokeData", EXPFILL }},
27244 static const enum_val_t application_context_modes[] = {
27245 {"Use Application Context from the trace", "Use application context from the trace", APPLICATON_CONTEXT_FROM_TRACE},
27246 {"Treat as AC 1", "Treat as AC 1", 1},
27247 {"Treat as AC 2", "Treat as AC 2", 2},
27248 {"Treat as AC 3", "Treat as AC 3", 3},
27249 {NULL, NULL, -1}
27253 /* Register protocol */
27254 proto_gsm_map_dialogue =proto_gsm_map = proto_register_protocol(PNAME, PSNAME, PFNAME);
27256 new_register_dissector("gsm_map", dissect_gsm_map, proto_gsm_map);
27258 /* Register fields and subtrees */
27259 proto_register_field_array(proto_gsm_map, hf, array_length(hf));
27260 proto_register_subtree_array(ett, array_length(ett));
27261 expert_gsm_map = expert_register_protocol(proto_gsm_map);
27262 expert_register_field_array(expert_gsm_map, ei, array_length(ei));
27264 map_prop_arg_opcode_table = register_dissector_table("gsm_map.prop.arg.opcode", "GSM_MAP Proprietary Arg Opcodes", FT_UINT8, BASE_DEC);
27265 map_prop_res_opcode_table = register_dissector_table("gsm_map.prop.res.opcode", "GSM_MAP Proprietary Res Opcodes", FT_UINT8, BASE_DEC);
27266 map_prop_err_opcode_table = register_dissector_table("gsm_map.prop.err.opcode", "GSM_MAP Proprietary Err Opcodes", FT_UINT8, BASE_DEC);
27268 gsm_map_tap = register_tap("gsm_map");
27271 /*--- Included file: packet-gsm_map-dis-tab.c ---*/
27272 #line 1 "../../asn1/gsm_map/packet-gsm_map-dis-tab.c"
27274 /* --- Module MAP-DialogueInformation --- --- --- */
27276 register_ber_oid_dissector("0.4.0.0.1.1.1.1", dissect_gsm_map_dialogue_MAP_DialoguePDU_PDU, proto_gsm_map_dialogue, "map-DialogueAS");
27279 /* --- Module MAP-LocationServiceOperations --- --- --- */
27283 /* --- Module MAP-Group-Call-Operations --- --- --- */
27287 /* --- Module MAP-ShortMessageServiceOperations --- --- --- */
27291 /* --- Module MAP-SupplementaryServiceOperations --- --- --- */
27295 /* --- Module MAP-CallHandlingOperations --- --- --- */
27299 /* --- Module MAP-OperationAndMaintenanceOperations --- --- --- */
27303 /* --- Module MAP-MobileServiceOperations --- --- --- */
27307 /* --- Module MAP-Errors --- --- --- */
27311 /* --- Module MAP-Protocol --- --- --- */
27315 /* --- Module DummyMAP --- --- --- */
27319 /* --- Module SS-DataTypes --- --- --- */
27323 /* --- Module SS-Operations --- --- --- */
27327 /* --- Module EricssonMAP --- --- --- */
27331 /*--- End of included file: packet-gsm_map-dis-tab.c ---*/
27332 #line 2675 "../../asn1/gsm_map/packet-gsm_map-template.c"
27333 oid_add_from_string("ericsson-gsm-Map-Ext","1.2.826.0.1249.58.1.0" );
27334 oid_add_from_string("accessTypeNotAllowed-id","1.3.12.2.1107.3.66.1.2");
27335 /*oid_add_from_string("map-ac networkLocUp(1) version3(3)","0.4.0.0.1.0.1.3" );
27337 * Register our configuration options, particularly our ssn:s
27338 * Set default SSNs
27340 range_convert_str(&global_ssn_range, "6-9", MAX_SSN);
27342 gsm_map_module = prefs_register_protocol(proto_gsm_map, proto_reg_handoff_gsm_map);
27344 prefs_register_range_preference(gsm_map_module, "tcap.ssn", "TCAP SSNs",
27345 "TCAP Subsystem numbers used for GSM MAP",
27346 &global_ssn_range, MAX_SSN);
27348 prefs_register_enum_preference(gsm_map_module, "application.context.version",
27349 "Application context version",
27350 "How to treat Application context",
27351 &pref_application_context_version, application_context_modes, APPLICATON_CONTEXT_FROM_TRACE);
27353 prefs_register_bool_preference(gsm_map_module, "ericsson.proprietary.extensions",
27354 "Dissect Ericsson proprietary extensions",
27355 "When enabled, dissector will use the non 3GPP standard extensions from Ericsson (that can override the standard ones)",
27356 &pref_ericsson_proprietary_ext);