1dd4de2b0defcc1de45ec3861db10fc92ee4f755
[obnox/wireshark/wip.git] / epan / dissectors / packet-gsm_map.c
1 /* Do not modify this file.                                                   */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
3 /* packet-gsm_map.c                                                           */
4 /* ../../tools/asn2wrs.py -b -e -c ./gsm_map.cnf -s ./packet-gsm_map-template -D . ../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 */
5
6 /* Input file: packet-gsm_map-template.c */
7
8 #line 1 "packet-gsm_map-template.c"
9 /* XXX see bug 1852:
10  *
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.
18  */
19
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>
27  *
28  * $Id$
29  *
30  * Wireshark - Network traffic analyzer
31  * By Gerald Combs <gerald@wireshark.org>
32  * Copyright 1998 Gerald Combs
33  *
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.
38  *
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.
43  *
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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, 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
53  */
54
55 #ifdef HAVE_CONFIG_H
56 # include "config.h"
57 #endif
58
59 #include <glib.h>
60 #include <epan/packet.h>
61 #include <epan/prefs.h>
62 #include <epan/tap.h>
63 #include <epan/emem.h>
64 #include <epan/oids.h>
65 #include <epan/expert.h>
66
67 #include <stdio.h>
68 #include <string.h>
69
70 #include <epan/asn1.h>
71 #include "packet-ber.h"
72 #include "packet-per.h"
73 #include "packet-q931.h"
74 #include "packet-gsm_map.h"
75 #include "packet-gsm_a_common.h"
76 #include "packet-tcap.h"
77 #include "packet-e164.h"
78 #include "packet-e212.h"
79 #include "packet-smpp.h"
80 #include "packet-gsm_sms.h"
81 #include "packet-ranap.h"
82
83 #define PNAME  "GSM Mobile Application"
84 #define PSNAME "GSM_MAP"
85 #define PFNAME "gsm_map"
86
87 /* Initialize the protocol and registered fields */
88 static int proto_gsm_map = -1;
89 static int proto_gsm_map_dialogue = -1;
90
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_imsi_digits = -1;
101 static int hf_gsm_map_TBCD_digits = -1;
102 static int hf_gsm_map_Ss_Status_unused = -1;
103 static int hf_gsm_map_Ss_Status_q_bit = -1;
104 static int hf_gsm_map_Ss_Status_p_bit = -1;
105 static int hf_gsm_map_Ss_Status_r_bit = -1;
106 static int hf_gsm_map_Ss_Status_a_bit = -1;
107 static int hf_gsm_map_notification_to_forwarding_party = -1;
108 static int hf_gsm_map_redirecting_presentation = -1;
109 static int hf_gsm_map_notification_to_calling_party = -1;
110 static int hf_gsm_map_forwarding_reason = -1;
111 static int hf_gsm_map_pdp_type_org = -1;
112 static int hf_gsm_map_etsi_pdp_type_number = -1;
113 static int hf_gsm_map_ietf_pdp_type_number = -1;
114 static int hf_gsm_map_ext_qos_subscribed_pri = -1;
115
116 static int hf_gsm_map_qos_traffic_cls = -1;
117 static int hf_gsm_map_qos_del_order = -1;
118 static int hf_gsm_map_qos_del_of_err_sdu = -1;
119 static int hf_gsm_map_qos_ber = -1;
120 static int hf_gsm_map_qos_sdu_err_rat = -1;
121 static int hf_gsm_map_qos_traff_hdl_pri = -1;
122 static int hf_gsm_map_qos_max_sdu = -1;
123 static int hf_gsm_map_max_brate_ulink = -1;
124 static int hf_gsm_map_max_brate_dlink = -1;
125 static int hf_gsm_map_qos_transfer_delay = -1;
126 static int hf_gsm_map_guaranteed_max_brate_ulink = -1;
127 static int hf_gsm_map_guaranteed_max_brate_dlink = -1;
128 static int hf_gsm_map_GSNAddress_IPv4 = -1;
129 static int hf_gsm_map_GSNAddress_IPv6 = -1;
130 static int hf_gsm_map_ranap_service_Handover = -1;
131 static int hf_gsm_map_IntegrityProtectionInformation = -1;
132 static int hf_gsm_map_EncryptionInformation = -1;
133 static int hf_gsm_map_PlmnContainer_PDU = -1;
134 static int hf_gsm_map_ss_SS_UserData = -1;
135 static int hf_gsm_map_cbs_coding_grp = -1;
136 static int hf_gsm_map_cbs_coding_grp0_lang = -1;
137 static int hf_gsm_map_cbs_coding_grp1_lang = -1;
138 static int hf_gsm_map_cbs_coding_grp2_lang = -1;
139 static int hf_gsm_map_cbs_coding_grp3_lang = -1;
140 static int hf_gsm_map_cbs_coding_grp4_7_comp = -1;
141 static int hf_gsm_map_cbs_coding_grp4_7_class_ind = -1;
142 static int hf_gsm_map_cbs_coding_grp4_7_char_set = -1;
143 static int hf_gsm_map_cbs_coding_grp4_7_class = -1;
144 static int hf_gsm_map_cbs_coding_grp15_mess_code = -1;
145 static int hf_gsm_map_cbs_coding_grp15_class = -1;
146 static int hf_gsm_map_tmsi = -1;
147 static int hf_gsm_map_ie_tag = -1;
148 static int hf_gsm_map_len = -1;
149 static int hf_gsm_map_disc_par = -1;
150 static int hf_gsm_map_dlci = -1;
151
152
153 /*--- Included file: packet-gsm_map-hf.c ---*/
154 #line 1 "packet-gsm_map-hf.c"
155
156 /* --- Module MAP-ExtensionDataTypes --- --- ---                              */
157
158 static int hf_gsm_map_privateExtensionList = -1;  /* PrivateExtensionList */
159 static int hf_gsm_map_pcs_Extensions = -1;        /* PCS_Extensions */
160 static int hf_gsm_map_slr_Arg_PCS_Extensions = -1;  /* SLR_Arg_PCS_Extensions */
161 static int hf_gsm_map_PrivateExtensionList_item = -1;  /* PrivateExtension */
162 static int hf_gsm_map_extId = -1;                 /* T_extId */
163 static int hf_gsm_map_extType = -1;               /* T_extType */
164 static int hf_gsm_map_na_ESRK_Request = -1;       /* NULL */
165
166 /* --- Module MAP-CommonDataTypes --- --- ---                                 */
167
168 static int hf_gsm_map_protocolId = -1;            /* ProtocolId */
169 static int hf_gsm_map_signalInfo = -1;            /* SignalInfo */
170 static int hf_gsm_map_extensionContainer = -1;    /* ExtensionContainer */
171 static int hf_gsm_map_ext_ProtocolId = -1;        /* Ext_ProtocolId */
172 static int hf_gsm_map_accessNetworkProtocolId = -1;  /* AccessNetworkProtocolId */
173 static int hf_gsm_map_signalInfo_01 = -1;         /* LongSignalInfo */
174 static int hf_gsm_map_imsi = -1;                  /* IMSI */
175 static int hf_gsm_map_imsi_WithLMSI = -1;         /* IMSI_WithLMSI */
176 static int hf_gsm_map_lmsi = -1;                  /* LMSI */
177 static int hf_gsm_map_HLR_List_item = -1;         /* HLR_Id */
178 static int hf_gsm_map_naea_PreferredCIC = -1;     /* NAEA_CIC */
179 static int hf_gsm_map_msisdn = -1;                /* ISDN_AddressString */
180 static int hf_gsm_map_externalAddress = -1;       /* ISDN_AddressString */
181 static int hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength = -1;  /* CellGlobalIdOrServiceAreaIdFixedLength */
182 static int hf_gsm_map_laiFixedLength = -1;        /* LAIFixedLength */
183 static int hf_gsm_map_bearerService = -1;         /* BearerServiceCode */
184 static int hf_gsm_map_teleservice = -1;           /* TeleserviceCode */
185 static int hf_gsm_map_ext_BearerService = -1;     /* Ext_BearerServiceCode */
186 static int hf_gsm_map_ext_Teleservice = -1;       /* Ext_TeleserviceCode */
187 static int hf_gsm_map_maximumentitledPriority = -1;  /* EMLPP_Priority */
188 static int hf_gsm_map_defaultPriority = -1;       /* EMLPP_Priority */
189 static int hf_gsm_map_ss_Code = -1;               /* SS_Code */
190 static int hf_gsm_map_ss_Status = -1;             /* Ext_SS_Status */
191 static int hf_gsm_map_nbrSB = -1;                 /* MaxMC_Bearers */
192 static int hf_gsm_map_nbrUser = -1;               /* MC_Bearers */
193
194 /* --- Module MAP-SS-DataTypes --- --- ---                                    */
195
196 static int hf_gsm_map_ss_ss_Code = -1;            /* SS_Code */
197 static int hf_gsm_map_ss_basicService = -1;       /* BasicServiceCode */
198 static int hf_gsm_map_ss_forwardedToNumber = -1;  /* AddressString */
199 static int hf_gsm_map_ss_forwardedToSubaddress = -1;  /* ISDN_SubaddressString */
200 static int hf_gsm_map_ss_noReplyConditionTime = -1;  /* NoReplyConditionTime */
201 static int hf_gsm_map_ss_defaultPriority = -1;    /* EMLPP_Priority */
202 static int hf_gsm_map_ss_nbrUser = -1;            /* MC_Bearers */
203 static int hf_gsm_map_ss_longFTN_Supported = -1;  /* NULL */
204 static int hf_gsm_map_ss_forwardingInfo = -1;     /* ForwardingInfo */
205 static int hf_gsm_map_ss_callBarringInfo = -1;    /* CallBarringInfo */
206 static int hf_gsm_map_ss_ss_Data = -1;            /* SS_Data */
207 static int hf_gsm_map_ss_forwardingFeatureList = -1;  /* ForwardingFeatureList */
208 static int hf_gsm_map_ss_ForwardingFeatureList_item = -1;  /* ForwardingFeature */
209 static int hf_gsm_map_ss_ss_Status = -1;          /* SS_Status */
210 static int hf_gsm_map_ss_forwardedToNumber_01 = -1;  /* ISDN_AddressString */
211 static int hf_gsm_map_ss_forwardingOptions = -1;  /* ForwardingOptions */
212 static int hf_gsm_map_ss_longForwardedToNumber = -1;  /* FTN_AddressString */
213 static int hf_gsm_map_ss_callBarringFeatureList = -1;  /* CallBarringFeatureList */
214 static int hf_gsm_map_ss_CallBarringFeatureList_item = -1;  /* CallBarringFeature */
215 static int hf_gsm_map_ss_ss_SubscriptionOption = -1;  /* SS_SubscriptionOption */
216 static int hf_gsm_map_ss_basicServiceGroupList = -1;  /* BasicServiceGroupList */
217 static int hf_gsm_map_ss_cliRestrictionOption = -1;  /* CliRestrictionOption */
218 static int hf_gsm_map_ss_overrideCategory = -1;   /* OverrideCategory */
219 static int hf_gsm_map_ss_maximumEntitledPriority = -1;  /* EMLPP_Priority */
220 static int hf_gsm_map_ss_ccbs_FeatureList = -1;   /* CCBS_FeatureList */
221 static int hf_gsm_map_ss_nbrSB = -1;              /* MaxMC_Bearers */
222 static int hf_gsm_map_ss_nbrSN = -1;              /* MC_Bearers */
223 static int hf_gsm_map_ss_CCBS_FeatureList_item = -1;  /* CCBS_Feature */
224 static int hf_gsm_map_ss_ccbs_Index = -1;         /* CCBS_Index */
225 static int hf_gsm_map_ss_b_subscriberNumber = -1;  /* ISDN_AddressString */
226 static int hf_gsm_map_ss_b_subscriberSubaddress = -1;  /* ISDN_SubaddressString */
227 static int hf_gsm_map_ss_basicServiceGroup = -1;  /* BasicServiceCode */
228 static int hf_gsm_map_ss_genericServiceInfo = -1;  /* GenericServiceInfo */
229 static int hf_gsm_map_ss_ussd_DataCodingScheme = -1;  /* USSD_DataCodingScheme */
230 static int hf_gsm_map_ss_ussd_String = -1;        /* USSD_String */
231 static int hf_gsm_map_ss_alertingPattern = -1;    /* AlertingPattern */
232 static int hf_gsm_map_ss_msisdn = -1;             /* ISDN_AddressString */
233 static int hf_gsm_map_ss_SS_List_item = -1;       /* SS_Code */
234 static int hf_gsm_map_ss_BasicServiceGroupList_item = -1;  /* BasicServiceCode */
235 static int hf_gsm_map_ss_imsi = -1;               /* IMSI */
236 static int hf_gsm_map_ss_ss_Event = -1;           /* SS_Code */
237 static int hf_gsm_map_ss_ss_EventSpecification = -1;  /* SS_EventSpecification */
238 static int hf_gsm_map_ss_extensionContainer = -1;  /* ExtensionContainer */
239 static int hf_gsm_map_ss_ccbs_RequestState = -1;  /* CCBS_RequestState */
240 static int hf_gsm_map_ss_SS_EventSpecification_item = -1;  /* AddressString */
241 static int hf_gsm_map_ss_ccbs_Data = -1;          /* CCBS_Data */
242 static int hf_gsm_map_ss_ccbs_Feature = -1;       /* CCBS_Feature */
243 static int hf_gsm_map_ss_translatedB_Number = -1;  /* ISDN_AddressString */
244 static int hf_gsm_map_ss_serviceIndicator = -1;   /* ServiceIndicator */
245 static int hf_gsm_map_ss_callInfo = -1;           /* ExternalSignalInfo */
246 static int hf_gsm_map_ss_networkSignalInfo = -1;  /* ExternalSignalInfo */
247 /* named bits */
248 static int hf_gsm_map_ss_ServiceIndicator_clir_invoked = -1;
249 static int hf_gsm_map_ss_ServiceIndicator_camel_invoked = -1;
250
251 /* --- Module MAP-ER-DataTypes --- --- ---                                    */
252
253 static int hf_gsm_map_er_roamingNotAllowedCause = -1;  /* RoamingNotAllowedCause */
254 static int hf_gsm_map_er_extensionContainer = -1;  /* ExtensionContainer */
255 static int hf_gsm_map_er_additionalRoamingNotAllowedCause = -1;  /* AdditionalRoamingNotAllowedCause */
256 static int hf_gsm_map_er_callBarringCause = -1;   /* CallBarringCause */
257 static int hf_gsm_map_er_extensibleCallBarredParam = -1;  /* ExtensibleCallBarredParam */
258 static int hf_gsm_map_er_unauthorisedMessageOriginator = -1;  /* NULL */
259 static int hf_gsm_map_er_cug_RejectCause = -1;    /* CUG_RejectCause */
260 static int hf_gsm_map_er_ss_Code = -1;            /* SS_Code */
261 static int hf_gsm_map_er_basicService = -1;       /* BasicServiceCode */
262 static int hf_gsm_map_er_ss_Status = -1;          /* SS_Status */
263 static int hf_gsm_map_er_sm_EnumeratedDeliveryFailureCause = -1;  /* SM_EnumeratedDeliveryFailureCause */
264 static int hf_gsm_map_er_diagnosticInfo = -1;     /* SignalInfo */
265 static int hf_gsm_map_er_absentSubscriberDiagnosticSM = -1;  /* AbsentSubscriberDiagnosticSM */
266 static int hf_gsm_map_er_additionalAbsentSubscriberDiagnosticSM = -1;  /* AbsentSubscriberDiagnosticSM */
267 static int hf_gsm_map_er_networkResource = -1;    /* NetworkResource */
268 static int hf_gsm_map_er_extensibleSystemFailureParam = -1;  /* ExtensibleSystemFailureParam */
269 static int hf_gsm_map_er_additionalNetworkResource = -1;  /* AdditionalNetworkResource */
270 static int hf_gsm_map_er_failureCauseParam = -1;  /* FailureCauseParam */
271 static int hf_gsm_map_er_shapeOfLocationEstimateNotSupported = -1;  /* NULL */
272 static int hf_gsm_map_er_neededLcsCapabilityNotSupportedInServingNode = -1;  /* NULL */
273 static int hf_gsm_map_er_unknownSubscriberDiagnostic = -1;  /* UnknownSubscriberDiagnostic */
274 static int hf_gsm_map_er_absentSubscriberReason = -1;  /* AbsentSubscriberReason */
275 static int hf_gsm_map_er_ccbs_Possible = -1;      /* NULL */
276 static int hf_gsm_map_er_ccbs_Busy = -1;          /* NULL */
277 static int hf_gsm_map_er_gprsConnectionSuspended = -1;  /* NULL */
278 static int hf_gsm_map_er_unauthorizedLCSClient_Diagnostic = -1;  /* UnauthorizedLCSClient_Diagnostic */
279 static int hf_gsm_map_er_positionMethodFailure_Diagnostic = -1;  /* PositionMethodFailure_Diagnostic */
280
281 /* --- Module MAP-SM-DataTypes --- --- ---                                    */
282
283 static int hf_gsm_map_sm_msisdn = -1;             /* ISDN_AddressString */
284 static int hf_gsm_map_sm_sm_RP_PRI = -1;          /* BOOLEAN */
285 static int hf_gsm_map_sm_serviceCentreAddress = -1;  /* AddressString */
286 static int hf_gsm_map_sm_extensionContainer = -1;  /* ExtensionContainer */
287 static int hf_gsm_map_sm_gprsSupportIndicator = -1;  /* NULL */
288 static int hf_gsm_map_sm_sm_RP_MTI = -1;          /* SM_RP_MTI */
289 static int hf_gsm_map_sm_sm_RP_SMEA = -1;         /* SM_RP_SMEA */
290 static int hf_gsm_map_sm_sm_deliveryNotIntended = -1;  /* SM_DeliveryNotIntended */
291 static int hf_gsm_map_sm_imsi = -1;               /* IMSI */
292 static int hf_gsm_map_sm_locationInfoWithLMSI = -1;  /* LocationInfoWithLMSI */
293 static int hf_gsm_map_sm_networkNode_Number = -1;  /* ISDN_AddressString */
294 static int hf_gsm_map_sm_lmsi = -1;               /* LMSI */
295 static int hf_gsm_map_sm_gprsNodeIndicator = -1;  /* NULL */
296 static int hf_gsm_map_sm_additional_Number = -1;  /* Additional_Number */
297 static int hf_gsm_map_sm_msc_Number = -1;         /* ISDN_AddressString */
298 static int hf_gsm_map_sm_sgsn_Number = -1;        /* ISDN_AddressString */
299 static int hf_gsm_map_sm_sm_RP_DA = -1;           /* SM_RP_DA */
300 static int hf_gsm_map_sm_sm_RP_OA = -1;           /* SM_RP_OA */
301 static int hf_gsm_map_sm_sm_RP_UI = -1;           /* SignalInfo */
302 static int hf_gsm_map_sm_moreMessagesToSend = -1;  /* NULL */
303 static int hf_gsm_map_sm_serviceCentreAddressDA = -1;  /* AddressString */
304 static int hf_gsm_map_sm_noSM_RP_DA = -1;         /* NULL */
305 static int hf_gsm_map_sm_msisdn_01 = -1;          /* T_msisdn */
306 static int hf_gsm_map_sm_serviceCentreAddressOA = -1;  /* T_serviceCentreAddressOA */
307 static int hf_gsm_map_sm_noSM_RP_OA = -1;         /* NULL */
308 static int hf_gsm_map_sm_sm_DeliveryOutcome = -1;  /* SM_DeliveryOutcome */
309 static int hf_gsm_map_sm_absentSubscriberDiagnosticSM = -1;  /* AbsentSubscriberDiagnosticSM */
310 static int hf_gsm_map_sm_deliveryOutcomeIndicator = -1;  /* NULL */
311 static int hf_gsm_map_sm_additionalSM_DeliveryOutcome = -1;  /* SM_DeliveryOutcome */
312 static int hf_gsm_map_sm_additionalAbsentSubscriberDiagnosticSM = -1;  /* AbsentSubscriberDiagnosticSM */
313 static int hf_gsm_map_sm_ip_sm_gw_Indicator = -1;  /* NULL */
314 static int hf_gsm_map_sm_ip_sm_gw_sm_deliveryOutcome = -1;  /* SM_DeliveryOutcome */
315 static int hf_gsm_map_sm_ip_sm_gw_absentSubscriberDiagnosticSM = -1;  /* AbsentSubscriberDiagnosticSM */
316 static int hf_gsm_map_sm_storedMSISDN = -1;       /* ISDN_AddressString */
317 static int hf_gsm_map_sm_mw_Status = -1;          /* MW_Status */
318 static int hf_gsm_map_sm_alertReason = -1;        /* AlertReason */
319 static int hf_gsm_map_sm_alertReasonIndicator = -1;  /* NULL */
320 static int hf_gsm_map_sm_additionalAlertReasonIndicator = -1;  /* NULL */
321 static int hf_gsm_map_sm_asciCallReference = -1;  /* ASCI_CallReference */
322 static int hf_gsm_map_sm_dispatcherList = -1;     /* DispatcherList */
323 static int hf_gsm_map_sm_ongoingCall = -1;        /* NULL */
324 static int hf_gsm_map_sm_DispatcherList_item = -1;  /* ISDN_AddressString */
325 /* named bits */
326 static int hf_gsm_map_sm_MW_Status_sc_AddressNotIncluded = -1;
327 static int hf_gsm_map_sm_MW_Status_mnrf_Set = -1;
328 static int hf_gsm_map_sm_MW_Status_mcef_Set = -1;
329 static int hf_gsm_map_sm_MW_Status_mnrg_Set = -1;
330
331 /* --- Module MAP-OM-DataTypes --- --- ---                                    */
332
333 static int hf_gsm_map_om_imsi = -1;               /* IMSI */
334 static int hf_gsm_map_om_traceReference = -1;     /* TraceReference */
335 static int hf_gsm_map_om_traceType = -1;          /* TraceType */
336 static int hf_gsm_map_om_omc_Id = -1;             /* AddressString */
337 static int hf_gsm_map_om_extensionContainer = -1;  /* ExtensionContainer */
338 static int hf_gsm_map_om_traceReference2 = -1;    /* TraceReference2 */
339 static int hf_gsm_map_om_traceDepthList = -1;     /* TraceDepthList */
340 static int hf_gsm_map_om_traceNE_TypeList = -1;   /* TraceNE_TypeList */
341 static int hf_gsm_map_om_traceInterfaceList = -1;  /* TraceInterfaceList */
342 static int hf_gsm_map_om_traceEventList = -1;     /* TraceEventList */
343 static int hf_gsm_map_om_traceCollectionEntity = -1;  /* GSN_Address */
344 static int hf_gsm_map_om_msc_s_TraceDepth = -1;   /* TraceDepth */
345 static int hf_gsm_map_om_mgw_TraceDepth = -1;     /* TraceDepth */
346 static int hf_gsm_map_om_sgsn_TraceDepth = -1;    /* TraceDepth */
347 static int hf_gsm_map_om_ggsn_TraceDepth = -1;    /* TraceDepth */
348 static int hf_gsm_map_om_rnc_TraceDepth = -1;     /* TraceDepth */
349 static int hf_gsm_map_om_bmsc_TraceDepth = -1;    /* TraceDepth */
350 static int hf_gsm_map_om_mme_TraceDepth = -1;     /* TraceDepth */
351 static int hf_gsm_map_om_sgw_TraceDepth = -1;     /* TraceDepth */
352 static int hf_gsm_map_om_pgw_TraceDepth = -1;     /* TraceDepth */
353 static int hf_gsm_map_om_eNB_TraceDepth = -1;     /* TraceDepth */
354 static int hf_gsm_map_om_msc_s_List = -1;         /* MSC_S_InterfaceList */
355 static int hf_gsm_map_om_mgw_List = -1;           /* MGW_InterfaceList */
356 static int hf_gsm_map_om_sgsn_List = -1;          /* SGSN_InterfaceList */
357 static int hf_gsm_map_om_ggsn_List = -1;          /* GGSN_InterfaceList */
358 static int hf_gsm_map_om_rnc_List = -1;           /* RNC_InterfaceList */
359 static int hf_gsm_map_om_bmsc_List = -1;          /* BMSC_InterfaceList */
360 static int hf_gsm_map_om_mme_List = -1;           /* MME_InterfaceList */
361 static int hf_gsm_map_om_sgw_List = -1;           /* SGW_InterfaceList */
362 static int hf_gsm_map_om_pgw_List = -1;           /* PGW_InterfaceList */
363 static int hf_gsm_map_om_eNB_List = -1;           /* ENB_InterfaceList */
364 static int hf_gsm_map_om_msc_s_List_01 = -1;      /* MSC_S_EventList */
365 static int hf_gsm_map_om_mgw_List_01 = -1;        /* MGW_EventList */
366 static int hf_gsm_map_om_sgsn_List_01 = -1;       /* SGSN_EventList */
367 static int hf_gsm_map_om_ggsn_List_01 = -1;       /* GGSN_EventList */
368 static int hf_gsm_map_om_bmsc_List_01 = -1;       /* BMSC_EventList */
369 static int hf_gsm_map_om_mme_List_01 = -1;        /* MME_EventList */
370 static int hf_gsm_map_om_sgw_List_01 = -1;        /* SGW_EventList */
371 static int hf_gsm_map_om_pgw_List_01 = -1;        /* PGW_EventList */
372 static int hf_gsm_map_om_traceRecordingSessionReference = -1;  /* TraceRecordingSessionReference */
373 static int hf_gsm_map_om_rnc_InterfaceList = -1;  /* RNC_InterfaceList */
374 static int hf_gsm_map_om_msc_s_InterfaceList = -1;  /* MSC_S_InterfaceList */
375 static int hf_gsm_map_om_msc_s_EventList = -1;    /* MSC_S_EventList */
376 static int hf_gsm_map_om_mgw_InterfaceList = -1;  /* MGW_InterfaceList */
377 static int hf_gsm_map_om_mgw_EventList = -1;      /* MGW_EventList */
378 static int hf_gsm_map_om_traceSupportIndicator = -1;  /* NULL */
379 /* named bits */
380 static int hf_gsm_map_om_TraceNE_TypeList_msc_s = -1;
381 static int hf_gsm_map_om_TraceNE_TypeList_mgw = -1;
382 static int hf_gsm_map_om_TraceNE_TypeList_sgsn = -1;
383 static int hf_gsm_map_om_TraceNE_TypeList_ggsn = -1;
384 static int hf_gsm_map_om_TraceNE_TypeList_rnc = -1;
385 static int hf_gsm_map_om_TraceNE_TypeList_bm_sc = -1;
386 static int hf_gsm_map_om_TraceNE_TypeList_mme = -1;
387 static int hf_gsm_map_om_TraceNE_TypeList_sgw = -1;
388 static int hf_gsm_map_om_TraceNE_TypeList_pgw = -1;
389 static int hf_gsm_map_om_TraceNE_TypeList_eNB = -1;
390 static int hf_gsm_map_om_MSC_S_InterfaceList_a = -1;
391 static int hf_gsm_map_om_MSC_S_InterfaceList_iu = -1;
392 static int hf_gsm_map_om_MSC_S_InterfaceList_mc = -1;
393 static int hf_gsm_map_om_MSC_S_InterfaceList_map_g = -1;
394 static int hf_gsm_map_om_MSC_S_InterfaceList_map_b = -1;
395 static int hf_gsm_map_om_MSC_S_InterfaceList_map_e = -1;
396 static int hf_gsm_map_om_MSC_S_InterfaceList_map_f = -1;
397 static int hf_gsm_map_om_MSC_S_InterfaceList_cap = -1;
398 static int hf_gsm_map_om_MSC_S_InterfaceList_map_d = -1;
399 static int hf_gsm_map_om_MSC_S_InterfaceList_map_c = -1;
400 static int hf_gsm_map_om_MGW_InterfaceList_mc = -1;
401 static int hf_gsm_map_om_MGW_InterfaceList_nb_up = -1;
402 static int hf_gsm_map_om_MGW_InterfaceList_iu_up = -1;
403 static int hf_gsm_map_om_SGSN_InterfaceList_gb = -1;
404 static int hf_gsm_map_om_SGSN_InterfaceList_iu = -1;
405 static int hf_gsm_map_om_SGSN_InterfaceList_gn = -1;
406 static int hf_gsm_map_om_SGSN_InterfaceList_map_gr = -1;
407 static int hf_gsm_map_om_SGSN_InterfaceList_map_gd = -1;
408 static int hf_gsm_map_om_SGSN_InterfaceList_map_gf = -1;
409 static int hf_gsm_map_om_SGSN_InterfaceList_gs = -1;
410 static int hf_gsm_map_om_SGSN_InterfaceList_ge = -1;
411 static int hf_gsm_map_om_SGSN_InterfaceList_s3 = -1;
412 static int hf_gsm_map_om_SGSN_InterfaceList_s4 = -1;
413 static int hf_gsm_map_om_SGSN_InterfaceList_s6d = -1;
414 static int hf_gsm_map_om_GGSN_InterfaceList_gn = -1;
415 static int hf_gsm_map_om_GGSN_InterfaceList_gi = -1;
416 static int hf_gsm_map_om_GGSN_InterfaceList_gmb = -1;
417 static int hf_gsm_map_om_RNC_InterfaceList_iu = -1;
418 static int hf_gsm_map_om_RNC_InterfaceList_iur = -1;
419 static int hf_gsm_map_om_RNC_InterfaceList_iub = -1;
420 static int hf_gsm_map_om_RNC_InterfaceList_uu = -1;
421 static int hf_gsm_map_om_BMSC_InterfaceList_gmb = -1;
422 static int hf_gsm_map_om_MME_InterfaceList_s1_mme = -1;
423 static int hf_gsm_map_om_MME_InterfaceList_s3 = -1;
424 static int hf_gsm_map_om_MME_InterfaceList_s6a = -1;
425 static int hf_gsm_map_om_MME_InterfaceList_s10 = -1;
426 static int hf_gsm_map_om_MME_InterfaceList_s11 = -1;
427 static int hf_gsm_map_om_SGW_InterfaceList_s4 = -1;
428 static int hf_gsm_map_om_SGW_InterfaceList_s5 = -1;
429 static int hf_gsm_map_om_SGW_InterfaceList_s8b = -1;
430 static int hf_gsm_map_om_SGW_InterfaceList_s11 = -1;
431 static int hf_gsm_map_om_SGW_InterfaceList_gxc = -1;
432 static int hf_gsm_map_om_PGW_InterfaceList_s2a = -1;
433 static int hf_gsm_map_om_PGW_InterfaceList_s2b = -1;
434 static int hf_gsm_map_om_PGW_InterfaceList_s2c = -1;
435 static int hf_gsm_map_om_PGW_InterfaceList_s5 = -1;
436 static int hf_gsm_map_om_PGW_InterfaceList_s6b = -1;
437 static int hf_gsm_map_om_PGW_InterfaceList_gx = -1;
438 static int hf_gsm_map_om_PGW_InterfaceList_s8b = -1;
439 static int hf_gsm_map_om_PGW_InterfaceList_sgi = -1;
440 static int hf_gsm_map_om_ENB_InterfaceList_s1_mme = -1;
441 static int hf_gsm_map_om_ENB_InterfaceList_x2 = -1;
442 static int hf_gsm_map_om_ENB_InterfaceList_uu = -1;
443 static int hf_gsm_map_om_MSC_S_EventList_mo_mtCall = -1;
444 static int hf_gsm_map_om_MSC_S_EventList_mo_mt_sms = -1;
445 static int hf_gsm_map_om_MSC_S_EventList_lu_imsiAttach_imsiDetach = -1;
446 static int hf_gsm_map_om_MSC_S_EventList_handovers = -1;
447 static int hf_gsm_map_om_MSC_S_EventList_ss = -1;
448 static int hf_gsm_map_om_MGW_EventList_context = -1;
449 static int hf_gsm_map_om_SGSN_EventList_pdpContext = -1;
450 static int hf_gsm_map_om_SGSN_EventList_mo_mt_sms = -1;
451 static int hf_gsm_map_om_SGSN_EventList_rau_gprsAttach_gprsDetach = -1;
452 static int hf_gsm_map_om_SGSN_EventList_mbmsContext = -1;
453 static int hf_gsm_map_om_GGSN_EventList_pdpContext = -1;
454 static int hf_gsm_map_om_GGSN_EventList_mbmsContext = -1;
455 static int hf_gsm_map_om_BMSC_EventList_mbmsMulticastServiceActivation = -1;
456 static int hf_gsm_map_om_MME_EventList_ue_initiatedPDNconectivityRequest = -1;
457 static int hf_gsm_map_om_MME_EventList_serviceRequestts = -1;
458 static int hf_gsm_map_om_MME_EventList_initialAttachTrackingAreaUpdateDetach = -1;
459 static int hf_gsm_map_om_MME_EventList_ue_initiatedPDNdisconnection = -1;
460 static int hf_gsm_map_om_MME_EventList_bearerActivationModificationDeletion = -1;
461 static int hf_gsm_map_om_MME_EventList_handover = -1;
462 static int hf_gsm_map_om_SGW_EventList_pdn_connectionCreation = -1;
463 static int hf_gsm_map_om_SGW_EventList_pdn_connectionTermination = -1;
464 static int hf_gsm_map_om_SGW_EventList_bearerActivationModificationDeletion = -1;
465 static int hf_gsm_map_om_PGW_EventList_pdn_connectionCreation = -1;
466 static int hf_gsm_map_om_PGW_EventList_pdn_connectionTermination = -1;
467 static int hf_gsm_map_om_PGW_EventList_bearerActivationModificationDeletion = -1;
468
469 /* --- Module MAP-MS-DataTypes --- --- ---                                    */
470
471 static int hf_gsm_map_ms_imsi = -1;               /* IMSI */
472 static int hf_gsm_map_ms_msc_Number = -1;         /* ISDN_AddressString */
473 static int hf_gsm_map_ms_vlr_Number = -1;         /* ISDN_AddressString */
474 static int hf_gsm_map_ms_lmsi = -1;               /* LMSI */
475 static int hf_gsm_map_ms_extensionContainer = -1;  /* ExtensionContainer */
476 static int hf_gsm_map_ms_vlr_Capability = -1;     /* VLR_Capability */
477 static int hf_gsm_map_ms_informPreviousNetworkEntity = -1;  /* NULL */
478 static int hf_gsm_map_ms_cs_LCS_NotSupportedByUE = -1;  /* NULL */
479 static int hf_gsm_map_ms_v_gmlc_Address = -1;     /* GSN_Address */
480 static int hf_gsm_map_ms_add_info = -1;           /* ADD_Info */
481 static int hf_gsm_map_ms_pagingArea = -1;         /* PagingArea */
482 static int hf_gsm_map_ms_skipSubscriberDataUpdate = -1;  /* NULL */
483 static int hf_gsm_map_ms_supportedCamelPhases = -1;  /* SupportedCamelPhases */
484 static int hf_gsm_map_ms_solsaSupportIndicator = -1;  /* NULL */
485 static int hf_gsm_map_ms_istSupportIndicator = -1;  /* IST_SupportIndicator */
486 static int hf_gsm_map_ms_superChargerSupportedInServingNetworkEntity = -1;  /* SuperChargerInfo */
487 static int hf_gsm_map_ms_longFTN_Supported = -1;  /* NULL */
488 static int hf_gsm_map_ms_supportedLCS_CapabilitySets = -1;  /* SupportedLCS_CapabilitySets */
489 static int hf_gsm_map_ms_offeredCamel4CSIs = -1;  /* OfferedCamel4CSIs */
490 static int hf_gsm_map_ms_supportedRAT_TypesIndicator = -1;  /* SupportedRAT_Types */
491 static int hf_gsm_map_ms_longGroupID_Supported = -1;  /* NULL */
492 static int hf_gsm_map_ms_sendSubscriberData = -1;  /* NULL */
493 static int hf_gsm_map_ms_subscriberDataStored = -1;  /* AgeIndicator */
494 static int hf_gsm_map_ms_hlr_Number = -1;         /* ISDN_AddressString */
495 static int hf_gsm_map_ms_add_Capability = -1;     /* NULL */
496 static int hf_gsm_map_ms_pagingArea_Capability = -1;  /* NULL */
497 static int hf_gsm_map_ms_imeisv = -1;             /* IMEI */
498 static int hf_gsm_map_ms_PagingArea_item = -1;    /* LocationArea */
499 static int hf_gsm_map_ms_laiFixedLength = -1;     /* LAIFixedLength */
500 static int hf_gsm_map_ms_lac = -1;                /* LAC */
501 static int hf_gsm_map_ms_identity = -1;           /* Identity */
502 static int hf_gsm_map_ms_cancellationType = -1;   /* CancellationType */
503 static int hf_gsm_map_ms_typeOfUpdate = -1;       /* TypeOfUpdate */
504 static int hf_gsm_map_ms_sgsn_Number = -1;        /* ISDN_AddressString */
505 static int hf_gsm_map_ms_freezeTMSI = -1;         /* NULL */
506 static int hf_gsm_map_ms_freezeP_TMSI = -1;       /* NULL */
507 static int hf_gsm_map_ms_freezeM_TMSI = -1;       /* NULL */
508 static int hf_gsm_map_ms_tmsi = -1;               /* TMSI */
509 static int hf_gsm_map_ms_numberOfRequestedVectors = -1;  /* NumberOfRequestedVectors */
510 static int hf_gsm_map_ms_segmentationProhibited = -1;  /* NULL */
511 static int hf_gsm_map_ms_previous_LAI = -1;       /* LAIFixedLength */
512 static int hf_gsm_map_ms_hopCounter = -1;         /* HopCounter */
513 static int hf_gsm_map_ms_authenticationSetList = -1;  /* AuthenticationSetList */
514 static int hf_gsm_map_ms_currentSecurityContext = -1;  /* CurrentSecurityContext */
515 static int hf_gsm_map_ms_tripletList = -1;        /* TripletList */
516 static int hf_gsm_map_ms_quintupletList = -1;     /* QuintupletList */
517 static int hf_gsm_map_ms_TripletList_item = -1;   /* AuthenticationTriplet */
518 static int hf_gsm_map_ms_QuintupletList_item = -1;  /* AuthenticationQuintuplet */
519 static int hf_gsm_map_ms_rand = -1;               /* RAND */
520 static int hf_gsm_map_ms_sres = -1;               /* SRES */
521 static int hf_gsm_map_ms_kc = -1;                 /* Kc */
522 static int hf_gsm_map_ms_xres = -1;               /* XRES */
523 static int hf_gsm_map_ms_ck = -1;                 /* CK */
524 static int hf_gsm_map_ms_ik = -1;                 /* IK */
525 static int hf_gsm_map_ms_autn = -1;               /* AUTN */
526 static int hf_gsm_map_ms_gsm_SecurityContextData = -1;  /* GSM_SecurityContextData */
527 static int hf_gsm_map_ms_umts_SecurityContextData = -1;  /* UMTS_SecurityContextData */
528 static int hf_gsm_map_ms_cksn = -1;               /* Cksn */
529 static int hf_gsm_map_ms_ksi = -1;                /* KSI */
530 static int hf_gsm_map_ms_failureCause = -1;       /* FailureCause */
531 static int hf_gsm_map_ms_re_attempt = -1;         /* BOOLEAN */
532 static int hf_gsm_map_ms_accessType = -1;         /* AccessType */
533 static int hf_gsm_map_ms_sgsn_Address = -1;       /* GSN_Address */
534 static int hf_gsm_map_ms_sgsn_Capability = -1;    /* SGSN_Capability */
535 static int hf_gsm_map_ms_ps_LCS_NotSupportedByUE = -1;  /* NULL */
536 static int hf_gsm_map_ms_eps_info = -1;           /* EPS_Info */
537 static int hf_gsm_map_ms_servingNodeTypeIndicator = -1;  /* NULL */
538 static int hf_gsm_map_ms_usedRAT_Type = -1;       /* Used_RAT_Type */
539 static int hf_gsm_map_ms_gprsSubscriptionDataNotNeeded = -1;  /* NULL */
540 static int hf_gsm_map_ms_nodeTypeIndicator = -1;  /* NULL */
541 static int hf_gsm_map_ms_areaRestricted = -1;     /* NULL */
542 static int hf_gsm_map_ms_ue_reachableIndicator = -1;  /* NULL */
543 static int hf_gsm_map_ms_pdn_gw_update = -1;      /* PDN_GW_Update */
544 static int hf_gsm_map_ms_isr_Information = -1;    /* ISR_Information */
545 static int hf_gsm_map_ms_apn = -1;                /* APN */
546 static int hf_gsm_map_ms_pdn_gw_Identity = -1;    /* PDN_GW_Identity */
547 static int hf_gsm_map_ms_contextId = -1;          /* ContextId */
548 static int hf_gsm_map_ms_gprsEnhancementsSupportIndicator = -1;  /* NULL */
549 static int hf_gsm_map_ms_smsCallBarringSupportIndicator = -1;  /* NULL */
550 static int hf_gsm_map_ms_supportedFeatures = -1;  /* SupportedFeatures */
551 static int hf_gsm_map_ms_sgsn_mmeSeparationSupported = -1;  /* NULL */
552 static int hf_gsm_map_ms_an_APDU = -1;            /* AccessNetworkSignalInfo */
553 static int hf_gsm_map_ms_integrityProtectionInfo = -1;  /* IntegrityProtectionInformation */
554 static int hf_gsm_map_ms_encryptionInfo = -1;     /* EncryptionInformation */
555 static int hf_gsm_map_ms_keyStatus = -1;          /* KeyStatus */
556 static int hf_gsm_map_ms_allowedGSM_Algorithms = -1;  /* AllowedGSM_Algorithms */
557 static int hf_gsm_map_ms_allowedUMTS_Algorithms = -1;  /* AllowedUMTS_Algorithms */
558 static int hf_gsm_map_ms_radioResourceInformation = -1;  /* RadioResourceInformation */
559 static int hf_gsm_map_ms_radioResourceList = -1;  /* RadioResourceList */
560 static int hf_gsm_map_ms_bssmap_ServiceHandover = -1;  /* BSSMAP_ServiceHandover */
561 static int hf_gsm_map_ms_ranap_ServiceHandover = -1;  /* RANAP_ServiceHandover */
562 static int hf_gsm_map_ms_bssmap_ServiceHandoverList = -1;  /* BSSMAP_ServiceHandoverList */
563 static int hf_gsm_map_ms_currentlyUsedCodec = -1;  /* Codec */
564 static int hf_gsm_map_ms_iuSupportedCodecsList = -1;  /* SupportedCodecsList */
565 static int hf_gsm_map_ms_rab_ConfigurationIndicator = -1;  /* NULL */
566 static int hf_gsm_map_ms_iuSelectedCodec = -1;    /* Codec */
567 static int hf_gsm_map_ms_alternativeChannelType = -1;  /* RadioResourceInformation */
568 static int hf_gsm_map_ms_tracePropagationList = -1;  /* TracePropagationList */
569 static int hf_gsm_map_ms_integrityProtectionAlgorithms = -1;  /* PermittedIntegrityProtectionAlgorithms */
570 static int hf_gsm_map_ms_encryptionAlgorithms = -1;  /* PermittedEncryptionAlgorithms */
571 static int hf_gsm_map_ms_targetCellId = -1;       /* GlobalCellId */
572 static int hf_gsm_map_ms_ho_NumberNotRequired = -1;  /* NULL */
573 static int hf_gsm_map_ms_targetRNCId = -1;        /* RNCId */
574 static int hf_gsm_map_ms_multipleBearerRequested = -1;  /* NULL */
575 static int hf_gsm_map_ms_rab_Id = -1;             /* RAB_Id */
576 static int hf_gsm_map_ms_asciCallReference = -1;  /* ASCI_CallReference */
577 static int hf_gsm_map_ms_geran_classmark = -1;    /* GERAN_Classmark */
578 static int hf_gsm_map_ms_iuCurrentlyUsedCodec = -1;  /* Codec */
579 static int hf_gsm_map_ms_uesbi_Iu = -1;           /* UESBI_Iu */
580 static int hf_gsm_map_ms_BSSMAP_ServiceHandoverList_item = -1;  /* BSSMAP_ServiceHandoverInfo */
581 static int hf_gsm_map_ms_RadioResourceList_item = -1;  /* RadioResource */
582 static int hf_gsm_map_ms_handoverNumber = -1;     /* ISDN_AddressString */
583 static int hf_gsm_map_ms_relocationNumberList = -1;  /* RelocationNumberList */
584 static int hf_gsm_map_ms_multicallBearerInfo = -1;  /* MulticallBearerInfo */
585 static int hf_gsm_map_ms_multipleBearerNotSupported = -1;  /* NULL */
586 static int hf_gsm_map_ms_selectedUMTS_Algorithms = -1;  /* SelectedUMTS_Algorithms */
587 static int hf_gsm_map_ms_chosenRadioResourceInformation = -1;  /* ChosenRadioResourceInformation */
588 static int hf_gsm_map_ms_iuAvailableCodecsList = -1;  /* CodecList */
589 static int hf_gsm_map_ms_integrityProtectionAlgorithm = -1;  /* ChosenIntegrityProtectionAlgorithm */
590 static int hf_gsm_map_ms_encryptionAlgorithm = -1;  /* ChosenEncryptionAlgorithm */
591 static int hf_gsm_map_ms_chosenChannelInfo = -1;  /* ChosenChannelInfo */
592 static int hf_gsm_map_ms_chosenSpeechVersion = -1;  /* ChosenSpeechVersion */
593 static int hf_gsm_map_ms_targetMSC_Number = -1;   /* ISDN_AddressString */
594 static int hf_gsm_map_ms_selectedRab_Id = -1;     /* RAB_Id */
595 static int hf_gsm_map_ms_selectedGSM_Algorithm = -1;  /* SelectedGSM_Algorithm */
596 static int hf_gsm_map_ms_iUSelectedCodec = -1;    /* Codec */
597 static int hf_gsm_map_ms_utranCodecList = -1;     /* CodecList */
598 static int hf_gsm_map_ms_geranCodecList = -1;     /* CodecList */
599 static int hf_gsm_map_ms_codec1 = -1;             /* Codec */
600 static int hf_gsm_map_ms_codec2 = -1;             /* Codec */
601 static int hf_gsm_map_ms_codec3 = -1;             /* Codec */
602 static int hf_gsm_map_ms_codec4 = -1;             /* Codec */
603 static int hf_gsm_map_ms_codec5 = -1;             /* Codec */
604 static int hf_gsm_map_ms_codec6 = -1;             /* Codec */
605 static int hf_gsm_map_ms_codec7 = -1;             /* Codec */
606 static int hf_gsm_map_ms_codec8 = -1;             /* Codec */
607 static int hf_gsm_map_ms_RelocationNumberList_item = -1;  /* RelocationNumber */
608 static int hf_gsm_map_ms_immediateResponsePreferred = -1;  /* NULL */
609 static int hf_gsm_map_ms_re_synchronisationInfo = -1;  /* Re_synchronisationInfo */
610 static int hf_gsm_map_ms_requestingNodeType = -1;  /* RequestingNodeType */
611 static int hf_gsm_map_ms_requestingPLMN_Id = -1;  /* PLMN_Id */
612 static int hf_gsm_map_ms_numberOfRequestedAdditional_Vectors = -1;  /* NumberOfRequestedVectors */
613 static int hf_gsm_map_ms_additionalVectorsAreForEPS = -1;  /* NULL */
614 static int hf_gsm_map_ms_auts = -1;               /* AUTS */
615 static int hf_gsm_map_ms_eps_AuthenticationSetList = -1;  /* EPS_AuthenticationSetList */
616 static int hf_gsm_map_ms_EPS_AuthenticationSetList_item = -1;  /* EPC_AV */
617 static int hf_gsm_map_ms_kasme = -1;              /* KASME */
618 static int hf_gsm_map_ms_imei = -1;               /* IMEI */
619 static int hf_gsm_map_ms_requestedEquipmentInfo = -1;  /* RequestedEquipmentInfo */
620 static int hf_gsm_map_ms_equipmentStatus = -1;    /* EquipmentStatus */
621 static int hf_gsm_map_ms_bmuef = -1;              /* UESBI_Iu */
622 static int hf_gsm_map_ms_uesbi_IuA = -1;          /* UESBI_IuA */
623 static int hf_gsm_map_ms_uesbi_IuB = -1;          /* UESBI_IuB */
624 static int hf_gsm_map_ms_CSG_SubscriptionDataList_item = -1;  /* CSG_SubscriptionData */
625 static int hf_gsm_map_ms_csg_Id = -1;             /* CSG_Id */
626 static int hf_gsm_map_ms_expirationDate = -1;     /* Time */
627 static int hf_gsm_map_ms_apn_oi_Replacement = -1;  /* APN_OI_Replacement */
628 static int hf_gsm_map_ms_rfsp_id = -1;            /* RFSP_ID */
629 static int hf_gsm_map_ms_ambr = -1;               /* AMBR */
630 static int hf_gsm_map_ms_apn_ConfigurationProfile = -1;  /* APN_ConfigurationProfile */
631 static int hf_gsm_map_ms_stn_sr = -1;             /* ISDN_AddressString */
632 static int hf_gsm_map_ms_defaultContext = -1;     /* ContextId */
633 static int hf_gsm_map_ms_completeDataListIncluded = -1;  /* NULL */
634 static int hf_gsm_map_ms_epsDataList = -1;        /* EPS_DataList */
635 static int hf_gsm_map_ms_EPS_DataList_item = -1;  /* APN_Configuration */
636 static int hf_gsm_map_ms_pdn_Type = -1;           /* PDN_Type */
637 static int hf_gsm_map_ms_servedPartyIP_IPv4_Address = -1;  /* PDP_Address */
638 static int hf_gsm_map_ms_eps_qos_Subscribed = -1;  /* EPS_QoS_Subscribed */
639 static int hf_gsm_map_ms_pdn_gw_AllocationType = -1;  /* PDN_GW_AllocationType */
640 static int hf_gsm_map_ms_vplmnAddressAllowed = -1;  /* NULL */
641 static int hf_gsm_map_ms_chargingCharacteristics = -1;  /* ChargingCharacteristics */
642 static int hf_gsm_map_ms_specificAPNInfoList = -1;  /* SpecificAPNInfoList */
643 static int hf_gsm_map_ms_servedPartyIP_IPv6_Address = -1;  /* PDP_Address */
644 static int hf_gsm_map_ms_qos_Class_Identifier = -1;  /* QoS_Class_Identifier */
645 static int hf_gsm_map_ms_allocation_Retention_Priority = -1;  /* Allocation_Retention_Priority */
646 static int hf_gsm_map_ms_max_RequestedBandwidth_UL = -1;  /* Bandwidth */
647 static int hf_gsm_map_ms_max_RequestedBandwidth_DL = -1;  /* Bandwidth */
648 static int hf_gsm_map_ms_SpecificAPNInfoList_item = -1;  /* SpecificAPNInfo */
649 static int hf_gsm_map_ms_priority_level = -1;     /* INTEGER */
650 static int hf_gsm_map_ms_pre_emption_capability = -1;  /* BOOLEAN */
651 static int hf_gsm_map_ms_pre_emption_vulnerability = -1;  /* BOOLEAN */
652 static int hf_gsm_map_ms_pdn_gw_ipv4_Address = -1;  /* PDP_Address */
653 static int hf_gsm_map_ms_pdn_gw_ipv6_Address = -1;  /* PDP_Address */
654 static int hf_gsm_map_ms_pdn_gw_name = -1;        /* FQDN */
655 static int hf_gsm_map_ms_gmlc_List = -1;          /* GMLC_List */
656 static int hf_gsm_map_ms_lcs_PrivacyExceptionList = -1;  /* LCS_PrivacyExceptionList */
657 static int hf_gsm_map_ms_molr_List = -1;          /* MOLR_List */
658 static int hf_gsm_map_ms_add_lcs_PrivacyExceptionList = -1;  /* LCS_PrivacyExceptionList */
659 static int hf_gsm_map_ms_GMLC_List_item = -1;     /* ISDN_AddressString */
660 static int hf_gsm_map_ms_GPRSDataList_item = -1;  /* PDP_Context */
661 static int hf_gsm_map_ms_pdp_ContextId = -1;      /* ContextId */
662 static int hf_gsm_map_ms_pdp_Type = -1;           /* PDP_Type */
663 static int hf_gsm_map_ms_pdp_Address = -1;        /* PDP_Address */
664 static int hf_gsm_map_ms_qos_Subscribed = -1;     /* QoS_Subscribed */
665 static int hf_gsm_map_ms_ext_QoS_Subscribed = -1;  /* Ext_QoS_Subscribed */
666 static int hf_gsm_map_ms_pdp_ChargingCharacteristics = -1;  /* ChargingCharacteristics */
667 static int hf_gsm_map_ms_ext2_QoS_Subscribed = -1;  /* Ext2_QoS_Subscribed */
668 static int hf_gsm_map_ms_ext3_QoS_Subscribed = -1;  /* Ext3_QoS_Subscribed */
669 static int hf_gsm_map_ms_ext4_QoS_Subscribed = -1;  /* Ext4_QoS_Subscribed */
670 static int hf_gsm_map_ms_gprsDataList = -1;       /* GPRSDataList */
671 static int hf_gsm_map_ms_gprs_CSI = -1;           /* GPRS_CSI */
672 static int hf_gsm_map_ms_mo_sms_CSI = -1;         /* SMS_CSI */
673 static int hf_gsm_map_ms_mt_sms_CSI = -1;         /* SMS_CSI */
674 static int hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList = -1;  /* MT_smsCAMELTDP_CriteriaList */
675 static int hf_gsm_map_ms_mg_csi = -1;             /* MG_CSI */
676 static int hf_gsm_map_ms_gprs_CamelTDPDataList = -1;  /* GPRS_CamelTDPDataList */
677 static int hf_gsm_map_ms_camelCapabilityHandling = -1;  /* CamelCapabilityHandling */
678 static int hf_gsm_map_ms_notificationToCSE = -1;  /* NULL */
679 static int hf_gsm_map_ms_csi_Active = -1;         /* NULL */
680 static int hf_gsm_map_ms_GPRS_CamelTDPDataList_item = -1;  /* GPRS_CamelTDPData */
681 static int hf_gsm_map_ms_gprs_TriggerDetectionPoint = -1;  /* GPRS_TriggerDetectionPoint */
682 static int hf_gsm_map_ms_serviceKey = -1;         /* ServiceKey */
683 static int hf_gsm_map_ms_gsmSCF_Address = -1;     /* ISDN_AddressString */
684 static int hf_gsm_map_ms_defaultSessionHandling = -1;  /* DefaultGPRS_Handling */
685 static int hf_gsm_map_ms_LSADataList_item = -1;   /* LSAData */
686 static int hf_gsm_map_ms_lsaIdentity = -1;        /* LSAIdentity */
687 static int hf_gsm_map_ms_lsaAttributes = -1;      /* LSAAttributes */
688 static int hf_gsm_map_ms_lsaActiveModeIndicator = -1;  /* NULL */
689 static int hf_gsm_map_ms_lsaOnlyAccessIndicator = -1;  /* LSAOnlyAccessIndicator */
690 static int hf_gsm_map_ms_lsaDataList = -1;        /* LSADataList */
691 static int hf_gsm_map_ms_msisdn = -1;             /* ISDN_AddressString */
692 static int hf_gsm_map_ms_category = -1;           /* Category */
693 static int hf_gsm_map_ms_subscriberStatus = -1;   /* SubscriberStatus */
694 static int hf_gsm_map_ms_bearerServiceList = -1;  /* BearerServiceList */
695 static int hf_gsm_map_ms_teleserviceList = -1;    /* TeleserviceList */
696 static int hf_gsm_map_ms_provisionedSS = -1;      /* Ext_SS_InfoList */
697 static int hf_gsm_map_ms_odb_Data = -1;           /* ODB_Data */
698 static int hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature = -1;  /* NULL */
699 static int hf_gsm_map_ms_regionalSubscriptionData = -1;  /* ZoneCodeList */
700 static int hf_gsm_map_ms_vbsSubscriptionData = -1;  /* VBSDataList */
701 static int hf_gsm_map_ms_vgcsSubscriptionData = -1;  /* VGCSDataList */
702 static int hf_gsm_map_ms_vlrCamelSubscriptionInfo = -1;  /* VlrCamelSubscriptionInfo */
703 static int hf_gsm_map_ms_BearerServiceList_item = -1;  /* Ext_BearerServiceCode */
704 static int hf_gsm_map_ms_TeleserviceList_item = -1;  /* Ext_TeleserviceCode */
705 static int hf_gsm_map_ms_odb_GeneralData = -1;    /* ODB_GeneralData */
706 static int hf_gsm_map_ms_odb_HPLMN_Data = -1;     /* ODB_HPLMN_Data */
707 static int hf_gsm_map_ms_Ext_SS_InfoList_item = -1;  /* Ext_SS_Info */
708 static int hf_gsm_map_ms_forwardingInfo = -1;     /* Ext_ForwInfo */
709 static int hf_gsm_map_ms_callBarringInfo = -1;    /* Ext_CallBarInfo */
710 static int hf_gsm_map_ms_cug_Info = -1;           /* CUG_Info */
711 static int hf_gsm_map_ms_ss_Data = -1;            /* Ext_SS_Data */
712 static int hf_gsm_map_ms_emlpp_Info = -1;         /* EMLPP_Info */
713 static int hf_gsm_map_ms_ss_Code = -1;            /* SS_Code */
714 static int hf_gsm_map_ms_forwardingFeatureList = -1;  /* Ext_ForwFeatureList */
715 static int hf_gsm_map_ms_Ext_ForwFeatureList_item = -1;  /* Ext_ForwFeature */
716 static int hf_gsm_map_ms_basicService = -1;       /* Ext_BasicServiceCode */
717 static int hf_gsm_map_ms_ss_Status = -1;          /* Ext_SS_Status */
718 static int hf_gsm_map_ms_forwardedToNumber = -1;  /* ISDN_AddressString */
719 static int hf_gsm_map_ms_forwardedToSubaddress = -1;  /* ISDN_SubaddressString */
720 static int hf_gsm_map_ms_forwardingOptions = -1;  /* T_forwardingOptions */
721 static int hf_gsm_map_ms_noReplyConditionTime = -1;  /* Ext_NoRepCondTime */
722 static int hf_gsm_map_ms_longForwardedToNumber = -1;  /* FTN_AddressString */
723 static int hf_gsm_map_ms_callBarringFeatureList = -1;  /* Ext_CallBarFeatureList */
724 static int hf_gsm_map_ms_Ext_CallBarFeatureList_item = -1;  /* Ext_CallBarringFeature */
725 static int hf_gsm_map_ms_cug_SubscriptionList = -1;  /* CUG_SubscriptionList */
726 static int hf_gsm_map_ms_cug_FeatureList = -1;    /* CUG_FeatureList */
727 static int hf_gsm_map_ms_CUG_SubscriptionList_item = -1;  /* CUG_Subscription */
728 static int hf_gsm_map_ms_cug_Index = -1;          /* CUG_Index */
729 static int hf_gsm_map_ms_cug_Interlock = -1;      /* CUG_Interlock */
730 static int hf_gsm_map_ms_intraCUG_Options = -1;   /* IntraCUG_Options */
731 static int hf_gsm_map_ms_basicServiceGroupList = -1;  /* Ext_BasicServiceGroupList */
732 static int hf_gsm_map_ms_CUG_FeatureList_item = -1;  /* CUG_Feature */
733 static int hf_gsm_map_ms_Ext_BasicServiceGroupList_item = -1;  /* Ext_BasicServiceCode */
734 static int hf_gsm_map_ms_preferentialCUG_Indicator = -1;  /* CUG_Index */
735 static int hf_gsm_map_ms_interCUG_Restrictions = -1;  /* InterCUG_Restrictions */
736 static int hf_gsm_map_ms_ss_SubscriptionOption = -1;  /* SS_SubscriptionOption */
737 static int hf_gsm_map_ms_LCS_PrivacyExceptionList_item = -1;  /* LCS_PrivacyClass */
738 static int hf_gsm_map_ms_notificationToMSUser = -1;  /* NotificationToMSUser */
739 static int hf_gsm_map_ms_externalClientList = -1;  /* ExternalClientList */
740 static int hf_gsm_map_ms_plmnClientList = -1;     /* PLMNClientList */
741 static int hf_gsm_map_ms_ext_externalClientList = -1;  /* Ext_ExternalClientList */
742 static int hf_gsm_map_ms_serviceTypeList = -1;    /* ServiceTypeList */
743 static int hf_gsm_map_ms_ExternalClientList_item = -1;  /* ExternalClient */
744 static int hf_gsm_map_ms_PLMNClientList_item = -1;  /* LCSClientInternalID */
745 static int hf_gsm_map_ms_Ext_ExternalClientList_item = -1;  /* ExternalClient */
746 static int hf_gsm_map_ms_clientIdentity = -1;     /* LCSClientExternalID */
747 static int hf_gsm_map_ms_gmlc_Restriction = -1;   /* GMLC_Restriction */
748 static int hf_gsm_map_ms_ServiceTypeList_item = -1;  /* ServiceType */
749 static int hf_gsm_map_ms_serviceTypeIdentity = -1;  /* LCSServiceTypeID */
750 static int hf_gsm_map_ms_MOLR_List_item = -1;     /* MOLR_Class */
751 static int hf_gsm_map_ms_ZoneCodeList_item = -1;  /* ZoneCode */
752 static int hf_gsm_map_ms_ss_List = -1;            /* SS_List */
753 static int hf_gsm_map_ms_regionalSubscriptionResponse = -1;  /* RegionalSubscriptionResponse */
754 static int hf_gsm_map_ms_basicServiceList = -1;   /* BasicServiceList */
755 static int hf_gsm_map_ms_regionalSubscriptionIdentifier = -1;  /* ZoneCode */
756 static int hf_gsm_map_ms_vbsGroupIndication = -1;  /* NULL */
757 static int hf_gsm_map_ms_vgcsGroupIndication = -1;  /* NULL */
758 static int hf_gsm_map_ms_camelSubscriptionInfoWithdraw = -1;  /* NULL */
759 static int hf_gsm_map_ms_gprsSubscriptionDataWithdraw = -1;  /* GPRSSubscriptionDataWithdraw */
760 static int hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsuppportedFeature = -1;  /* NULL */
761 static int hf_gsm_map_ms_lsaInformationWithdraw = -1;  /* LSAInformationWithdraw */
762 static int hf_gsm_map_ms_gmlc_ListWithdraw = -1;  /* NULL */
763 static int hf_gsm_map_ms_istInformationWithdraw = -1;  /* NULL */
764 static int hf_gsm_map_ms_specificCSI_Withdraw = -1;  /* SpecificCSI_Withdraw */
765 static int hf_gsm_map_ms_chargingCharacteristicsWithdraw = -1;  /* NULL */
766 static int hf_gsm_map_ms_stn_srWithdraw = -1;     /* NULL */
767 static int hf_gsm_map_ms_epsSubscriptionDataWithdraw = -1;  /* EPS_SubscriptionDataWithdraw */
768 static int hf_gsm_map_ms_apn_oi_replacementWithdraw = -1;  /* NULL */
769 static int hf_gsm_map_ms_csg_SubscriptionDeleted = -1;  /* NULL */
770 static int hf_gsm_map_ms_allGPRSData = -1;        /* NULL */
771 static int hf_gsm_map_ms_contextIdList = -1;      /* ContextIdList */
772 static int hf_gsm_map_ms_allEPS_Data = -1;        /* NULL */
773 static int hf_gsm_map_ms_ContextIdList_item = -1;  /* ContextId */
774 static int hf_gsm_map_ms_allLSAData = -1;         /* NULL */
775 static int hf_gsm_map_ms_lsaIdentityList = -1;    /* LSAIdentityList */
776 static int hf_gsm_map_ms_LSAIdentityList_item = -1;  /* LSAIdentity */
777 static int hf_gsm_map_ms_BasicServiceList_item = -1;  /* Ext_BasicServiceCode */
778 static int hf_gsm_map_ms_o_CSI = -1;              /* O_CSI */
779 static int hf_gsm_map_ms_ss_CSI = -1;             /* SS_CSI */
780 static int hf_gsm_map_ms_o_BcsmCamelTDP_CriteriaList = -1;  /* O_BcsmCamelTDPCriteriaList */
781 static int hf_gsm_map_ms_tif_CSI = -1;            /* NULL */
782 static int hf_gsm_map_ms_m_CSI = -1;              /* M_CSI */
783 static int hf_gsm_map_ms_vt_CSI = -1;             /* T_CSI */
784 static int hf_gsm_map_ms_t_BCSM_CAMEL_TDP_CriteriaList = -1;  /* T_BCSM_CAMEL_TDP_CriteriaList */
785 static int hf_gsm_map_ms_d_CSI = -1;              /* D_CSI */
786 static int hf_gsm_map_ms_MT_smsCAMELTDP_CriteriaList_item = -1;  /* MT_smsCAMELTDP_Criteria */
787 static int hf_gsm_map_ms_sms_TriggerDetectionPoint = -1;  /* SMS_TriggerDetectionPoint */
788 static int hf_gsm_map_ms_tpdu_TypeCriterion = -1;  /* TPDU_TypeCriterion */
789 static int hf_gsm_map_ms_TPDU_TypeCriterion_item = -1;  /* MT_SMS_TPDU_Type */
790 static int hf_gsm_map_ms_dp_AnalysedInfoCriteriaList = -1;  /* DP_AnalysedInfoCriteriaList */
791 static int hf_gsm_map_ms_DP_AnalysedInfoCriteriaList_item = -1;  /* DP_AnalysedInfoCriterium */
792 static int hf_gsm_map_ms_dialledNumber = -1;      /* ISDN_AddressString */
793 static int hf_gsm_map_ms_defaultCallHandling = -1;  /* DefaultCallHandling */
794 static int hf_gsm_map_ms_ss_CamelData = -1;       /* SS_CamelData */
795 static int hf_gsm_map_ms_ss_EventList = -1;       /* SS_EventList */
796 static int hf_gsm_map_ms_SS_EventList_item = -1;  /* SS_Code */
797 static int hf_gsm_map_ms_o_BcsmCamelTDPDataList = -1;  /* O_BcsmCamelTDPDataList */
798 static int hf_gsm_map_ms_csiActive = -1;          /* NULL */
799 static int hf_gsm_map_ms_O_BcsmCamelTDPDataList_item = -1;  /* O_BcsmCamelTDPData */
800 static int hf_gsm_map_ms_o_BcsmTriggerDetectionPoint = -1;  /* O_BcsmTriggerDetectionPoint */
801 static int hf_gsm_map_ms_O_BcsmCamelTDPCriteriaList_item = -1;  /* O_BcsmCamelTDP_Criteria */
802 static int hf_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_item = -1;  /* T_BCSM_CAMEL_TDP_Criteria */
803 static int hf_gsm_map_ms_destinationNumberCriteria = -1;  /* DestinationNumberCriteria */
804 static int hf_gsm_map_ms_basicServiceCriteria = -1;  /* BasicServiceCriteria */
805 static int hf_gsm_map_ms_callTypeCriteria = -1;   /* CallTypeCriteria */
806 static int hf_gsm_map_ms_o_CauseValueCriteria = -1;  /* O_CauseValueCriteria */
807 static int hf_gsm_map_ms_t_BCSM_TriggerDetectionPoint = -1;  /* T_BcsmTriggerDetectionPoint */
808 static int hf_gsm_map_ms_t_CauseValueCriteria = -1;  /* T_CauseValueCriteria */
809 static int hf_gsm_map_ms_matchType = -1;          /* MatchType */
810 static int hf_gsm_map_ms_destinationNumberList = -1;  /* DestinationNumberList */
811 static int hf_gsm_map_ms_destinationNumberLengthList = -1;  /* DestinationNumberLengthList */
812 static int hf_gsm_map_ms_DestinationNumberList_item = -1;  /* ISDN_AddressString */
813 static int hf_gsm_map_ms_DestinationNumberLengthList_item = -1;  /* INTEGER_1_maxNumOfISDN_AddressDigits */
814 static int hf_gsm_map_ms_BasicServiceCriteria_item = -1;  /* Ext_BasicServiceCode */
815 static int hf_gsm_map_ms_O_CauseValueCriteria_item = -1;  /* CauseValue */
816 static int hf_gsm_map_ms_T_CauseValueCriteria_item = -1;  /* CauseValue */
817 static int hf_gsm_map_ms_sms_CAMEL_TDP_DataList = -1;  /* SMS_CAMEL_TDP_DataList */
818 static int hf_gsm_map_ms_SMS_CAMEL_TDP_DataList_item = -1;  /* SMS_CAMEL_TDP_Data */
819 static int hf_gsm_map_ms_defaultSMS_Handling = -1;  /* DefaultSMS_Handling */
820 static int hf_gsm_map_ms_mobilityTriggers = -1;   /* MobilityTriggers */
821 static int hf_gsm_map_ms_MobilityTriggers_item = -1;  /* MM_Code */
822 static int hf_gsm_map_ms_t_BcsmCamelTDPDataList = -1;  /* T_BcsmCamelTDPDataList */
823 static int hf_gsm_map_ms_T_BcsmCamelTDPDataList_item = -1;  /* T_BcsmCamelTDPData */
824 static int hf_gsm_map_ms_t_BcsmTriggerDetectionPoint = -1;  /* T_BcsmTriggerDetectionPoint */
825 static int hf_gsm_map_ms_ggsn_Address = -1;       /* GSN_Address */
826 static int hf_gsm_map_ms_ggsn_Number = -1;        /* ISDN_AddressString */
827 static int hf_gsm_map_ms_mobileNotReachableReason = -1;  /* AbsentSubscriberDiagnosticSM */
828 static int hf_gsm_map_ms_hlr_List = -1;           /* HLR_List */
829 static int hf_gsm_map_ms_msNotReachable = -1;     /* NULL */
830 static int hf_gsm_map_ms_VBSDataList_item = -1;   /* VoiceBroadcastData */
831 static int hf_gsm_map_ms_VGCSDataList_item = -1;  /* VoiceGroupCallData */
832 static int hf_gsm_map_ms_groupId = -1;            /* GroupId */
833 static int hf_gsm_map_ms_additionalSubscriptions = -1;  /* AdditionalSubscriptions */
834 static int hf_gsm_map_ms_additionalInfo = -1;     /* AdditionalInfo */
835 static int hf_gsm_map_ms_longGroupId = -1;        /* Long_GroupId */
836 static int hf_gsm_map_ms_groupid = -1;            /* GroupId */
837 static int hf_gsm_map_ms_broadcastInitEntitlement = -1;  /* NULL */
838 static int hf_gsm_map_ms_requestedInfo = -1;      /* RequestedInfo */
839 static int hf_gsm_map_ms_callPriority = -1;       /* EMLPP_Priority */
840 static int hf_gsm_map_ms_subscriberInfo = -1;     /* SubscriberInfo */
841 static int hf_gsm_map_ms_locationInformation = -1;  /* LocationInformation */
842 static int hf_gsm_map_ms_subscriberState = -1;    /* SubscriberState */
843 static int hf_gsm_map_ms_locationInformationGPRS = -1;  /* LocationInformationGPRS */
844 static int hf_gsm_map_ms_ps_SubscriberState = -1;  /* PS_SubscriberState */
845 static int hf_gsm_map_ms_ms_Classmark2 = -1;      /* MS_Classmark2 */
846 static int hf_gsm_map_ms_gprs_MS_Class = -1;      /* GPRSMSClass */
847 static int hf_gsm_map_ms_mnpInfoRes = -1;         /* MNPInfoRes */
848 static int hf_gsm_map_ms_routeingNumber = -1;     /* RouteingNumber */
849 static int hf_gsm_map_ms_numberPortabilityStatus = -1;  /* NumberPortabilityStatus */
850 static int hf_gsm_map_ms_mSNetworkCapability = -1;  /* MSNetworkCapability */
851 static int hf_gsm_map_ms_mSRadioAccessCapability = -1;  /* MSRadioAccessCapability */
852 static int hf_gsm_map_ms_locationInformation_01 = -1;  /* NULL */
853 static int hf_gsm_map_ms_subscriberState_01 = -1;  /* NULL */
854 static int hf_gsm_map_ms_currentLocation = -1;    /* NULL */
855 static int hf_gsm_map_ms_requestedDomain = -1;    /* DomainType */
856 static int hf_gsm_map_ms_imei_01 = -1;            /* NULL */
857 static int hf_gsm_map_ms_ms_classmark = -1;       /* NULL */
858 static int hf_gsm_map_ms_mnpRequestedInfo = -1;   /* NULL */
859 static int hf_gsm_map_ms_ageOfLocationInformation = -1;  /* AgeOfLocationInformation */
860 static int hf_gsm_map_ms_geographicalInformation = -1;  /* GeographicalInformation */
861 static int hf_gsm_map_ms_vlr_number = -1;         /* ISDN_AddressString */
862 static int hf_gsm_map_ms_locationNumber = -1;     /* LocationNumber */
863 static int hf_gsm_map_ms_cellGlobalIdOrServiceAreaIdOrLAI = -1;  /* CellGlobalIdOrServiceAreaIdOrLAI */
864 static int hf_gsm_map_ms_selectedLSA_Id = -1;     /* LSAIdentity */
865 static int hf_gsm_map_ms_geodeticInformation = -1;  /* GeodeticInformation */
866 static int hf_gsm_map_ms_currentLocationRetrieved = -1;  /* NULL */
867 static int hf_gsm_map_ms_sai_Present = -1;        /* NULL */
868 static int hf_gsm_map_ms_locationInformationEPS = -1;  /* LocationInformationEPS */
869 static int hf_gsm_map_ms_e_utranCellGlobalIdentity = -1;  /* OCTET_STRING_SIZE_7 */
870 static int hf_gsm_map_ms_trackingAreaIdentity = -1;  /* OCTET_STRING_SIZE_6 */
871 static int hf_gsm_map_ms_routeingAreaIdentity = -1;  /* RAIdentity */
872 static int hf_gsm_map_ms_selectedLSAIdentity = -1;  /* LSAIdentity */
873 static int hf_gsm_map_ms_assumedIdle = -1;        /* NULL */
874 static int hf_gsm_map_ms_camelBusy = -1;          /* NULL */
875 static int hf_gsm_map_ms_netDetNotReachable = -1;  /* NotReachableReason */
876 static int hf_gsm_map_ms_notProvidedFromVLR = -1;  /* NULL */
877 static int hf_gsm_map_ms_notProvidedFromSGSN = -1;  /* NULL */
878 static int hf_gsm_map_ms_ps_Detached = -1;        /* NULL */
879 static int hf_gsm_map_ms_ps_AttachedNotReachableForPaging = -1;  /* NULL */
880 static int hf_gsm_map_ms_ps_AttachedReachableForPaging = -1;  /* NULL */
881 static int hf_gsm_map_ms_ps_PDP_ActiveNotReachableForPaging = -1;  /* PDP_ContextInfoList */
882 static int hf_gsm_map_ms_ps_PDP_ActiveReachableForPaging = -1;  /* PDP_ContextInfoList */
883 static int hf_gsm_map_ms_PDP_ContextInfoList_item = -1;  /* PDP_ContextInfo */
884 static int hf_gsm_map_ms_pdp_ContextIdentifier = -1;  /* ContextId */
885 static int hf_gsm_map_ms_pdp_ContextActive = -1;  /* NULL */
886 static int hf_gsm_map_ms_apn_Subscribed = -1;     /* APN */
887 static int hf_gsm_map_ms_apn_InUse = -1;          /* APN */
888 static int hf_gsm_map_ms_nsapi = -1;              /* NSAPI */
889 static int hf_gsm_map_ms_transactionId = -1;      /* TransactionId */
890 static int hf_gsm_map_ms_teid_ForGnAndGp = -1;    /* TEID */
891 static int hf_gsm_map_ms_teid_ForIu = -1;         /* TEID */
892 static int hf_gsm_map_ms_qos_Subscribed_01 = -1;  /* Ext_QoS_Subscribed */
893 static int hf_gsm_map_ms_qos_Requested = -1;      /* Ext_QoS_Subscribed */
894 static int hf_gsm_map_ms_qos_Negotiated = -1;     /* Ext_QoS_Subscribed */
895 static int hf_gsm_map_ms_chargingId = -1;         /* GPRSChargingID */
896 static int hf_gsm_map_ms_rnc_Address = -1;        /* GSN_Address */
897 static int hf_gsm_map_ms_qos2_Subscribed = -1;    /* Ext2_QoS_Subscribed */
898 static int hf_gsm_map_ms_qos2_Requested = -1;     /* Ext2_QoS_Subscribed */
899 static int hf_gsm_map_ms_qos2_Negotiated = -1;    /* Ext2_QoS_Subscribed */
900 static int hf_gsm_map_ms_qos3_Subscribed = -1;    /* Ext3_QoS_Subscribed */
901 static int hf_gsm_map_ms_qos3_Requested = -1;     /* Ext3_QoS_Subscribed */
902 static int hf_gsm_map_ms_qos3_Negotiated = -1;    /* Ext3_QoS_Subscribed */
903 static int hf_gsm_map_ms_subscriberIdentity = -1;  /* SubscriberIdentity */
904 static int hf_gsm_map_ms_requestedSubscriptionInfo = -1;  /* RequestedSubscriptionInfo */
905 static int hf_gsm_map_ms_callForwardingData = -1;  /* CallForwardingData */
906 static int hf_gsm_map_ms_callBarringData = -1;    /* CallBarringData */
907 static int hf_gsm_map_ms_odb_Info = -1;           /* ODB_Info */
908 static int hf_gsm_map_ms_camel_SubscriptionInfo = -1;  /* CAMEL_SubscriptionInfo */
909 static int hf_gsm_map_ms_supportedVLR_CAMEL_Phases = -1;  /* SupportedCamelPhases */
910 static int hf_gsm_map_ms_supportedSGSN_CAMEL_Phases = -1;  /* SupportedCamelPhases */
911 static int hf_gsm_map_ms_offeredCamel4CSIsInVLR = -1;  /* OfferedCamel4CSIs */
912 static int hf_gsm_map_ms_offeredCamel4CSIsInSGSN = -1;  /* OfferedCamel4CSIs */
913 static int hf_gsm_map_ms_msisdn_BS_List = -1;     /* MSISDN_BS_List */
914 static int hf_gsm_map_ms_requestedSS_Info = -1;   /* SS_ForBS_Code */
915 static int hf_gsm_map_ms_odb = -1;                /* NULL */
916 static int hf_gsm_map_ms_requestedCAMEL_SubscriptionInfo = -1;  /* RequestedCAMEL_SubscriptionInfo */
917 static int hf_gsm_map_ms_supportedVLR_CAMEL_Phases_01 = -1;  /* NULL */
918 static int hf_gsm_map_ms_supportedSGSN_CAMEL_Phases_01 = -1;  /* NULL */
919 static int hf_gsm_map_ms_additionalRequestedCAMEL_SubscriptionInfo = -1;  /* AdditionalRequestedCAMEL_SubscriptionInfo */
920 static int hf_gsm_map_ms_msisdn_BS_List_01 = -1;  /* NULL */
921 static int hf_gsm_map_ms_MSISDN_BS_List_item = -1;  /* MSISDN_BS */
922 static int hf_gsm_map_ms_password = -1;           /* Password */
923 static int hf_gsm_map_ms_wrongPasswordAttemptsCounter = -1;  /* WrongPasswordAttemptsCounter */
924 static int hf_gsm_map_ms_t_CSI = -1;              /* T_CSI */
925 static int hf_gsm_map_ms_vt_BCSM_CAMEL_TDP_CriteriaList = -1;  /* T_BCSM_CAMEL_TDP_CriteriaList */
926 static int hf_gsm_map_ms_tif_CSI_NotificationToCSE = -1;  /* NULL */
927 static int hf_gsm_map_ms_specificCSIDeletedList = -1;  /* SpecificCSI_Withdraw */
928 static int hf_gsm_map_ms_o_IM_CSI = -1;           /* O_CSI */
929 static int hf_gsm_map_ms_o_IM_BcsmCamelTDP_CriteriaList = -1;  /* O_BcsmCamelTDPCriteriaList */
930 static int hf_gsm_map_ms_d_IM_CSI = -1;           /* D_CSI */
931 static int hf_gsm_map_ms_vt_IM_CSI = -1;          /* T_CSI */
932 static int hf_gsm_map_ms_vt_IM_BCSM_CAMEL_TDP_CriteriaList = -1;  /* T_BCSM_CAMEL_TDP_CriteriaList */
933 static int hf_gsm_map_ms_modificationRequestFor_CF_Info = -1;  /* ModificationRequestFor_CF_Info */
934 static int hf_gsm_map_ms_modificationRequestFor_CB_Info = -1;  /* ModificationRequestFor_CB_Info */
935 static int hf_gsm_map_ms_modificationRequestFor_CSI = -1;  /* ModificationRequestFor_CSI */
936 static int hf_gsm_map_ms_modificationRequestFor_ODB_data = -1;  /* ModificationRequestFor_ODB_data */
937 static int hf_gsm_map_ms_modificationRequestFor_IP_SM_GW_Data = -1;  /* ModificationRequestFor_IP_SM_GW_Data */
938 static int hf_gsm_map_ms_activationRequestForUE_reachability = -1;  /* ServingNode */
939 static int hf_gsm_map_ms_ss_InfoFor_CSE = -1;     /* Ext_SS_InfoFor_CSE */
940 static int hf_gsm_map_ms_forwardedToNumber_01 = -1;  /* AddressString */
941 static int hf_gsm_map_ms_modifyNotificationToCSE = -1;  /* ModificationInstruction */
942 static int hf_gsm_map_ms_odb_data = -1;           /* ODB_Data */
943 static int hf_gsm_map_ms_requestedCamel_SubscriptionInfo = -1;  /* RequestedCAMEL_SubscriptionInfo */
944 static int hf_gsm_map_ms_modifyCSI_State = -1;    /* ModificationInstruction */
945 static int hf_gsm_map_ms_modifyRegistrationStatus = -1;  /* ModificationInstruction */
946 static int hf_gsm_map_ms_forwardingInfoFor_CSE = -1;  /* Ext_ForwardingInfoFor_CSE */
947 static int hf_gsm_map_ms_callBarringInfoFor_CSE = -1;  /* Ext_CallBarringInfoFor_CSE */
948 static int hf_gsm_map_ms_allInformationSent = -1;  /* NULL */
949 static int hf_gsm_map_ms_ue_reachable = -1;       /* ServingNode */
950 static int hf_gsm_map_ms_eventMet = -1;           /* MM_Code */
951 static int hf_gsm_map_ms_supportedCAMELPhases = -1;  /* SupportedCamelPhases */
952 static int hf_gsm_map_ms_offeredCamel4Functionalities = -1;  /* OfferedCamel4Functionalities */
953 static int hf_gsm_map_ms_naea_PreferredCI = -1;   /* NAEA_PreferredCI */
954 static int hf_gsm_map_ms_gprsSubscriptionData = -1;  /* GPRSSubscriptionData */
955 static int hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsupportedFeature = -1;  /* NULL */
956 static int hf_gsm_map_ms_networkAccessMode = -1;  /* NetworkAccessMode */
957 static int hf_gsm_map_ms_lsaInformation = -1;     /* LSAInformation */
958 static int hf_gsm_map_ms_lmu_Indicator = -1;      /* NULL */
959 static int hf_gsm_map_ms_lcsInformation = -1;     /* LCSInformation */
960 static int hf_gsm_map_ms_istAlertTimer = -1;      /* IST_AlertTimerValue */
961 static int hf_gsm_map_ms_superChargerSupportedInHLR = -1;  /* AgeIndicator */
962 static int hf_gsm_map_ms_mc_SS_Info = -1;         /* MC_SS_Info */
963 static int hf_gsm_map_ms_cs_AllocationRetentionPriority = -1;  /* CS_AllocationRetentionPriority */
964 static int hf_gsm_map_ms_sgsn_CAMEL_SubscriptionInfo = -1;  /* SGSN_CAMEL_SubscriptionInfo */
965 static int hf_gsm_map_ms_accessRestrictionData = -1;  /* AccessRestrictionData */
966 static int hf_gsm_map_ms_ics_Indicator = -1;      /* BOOLEAN */
967 static int hf_gsm_map_ms_eps_SubscriptionData = -1;  /* EPS_SubscriptionData */
968 static int hf_gsm_map_ms_csg_SubscriptionDataList = -1;  /* CSG_SubscriptionDataList */
969 static int hf_gsm_map_ms_ue_ReachabilityRequestIndicator = -1;  /* NULL */
970 /* named bits */
971 static int hf_gsm_map_ms_SupportedRAT_Types_utran = -1;
972 static int hf_gsm_map_ms_SupportedRAT_Types_geran = -1;
973 static int hf_gsm_map_ms_SupportedRAT_Types_gan = -1;
974 static int hf_gsm_map_ms_SupportedRAT_Types_i_hspa_evolution = -1;
975 static int hf_gsm_map_ms_SupportedRAT_Types_e_utran = -1;
976 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet1 = -1;
977 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet2 = -1;
978 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet3 = -1;
979 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet4 = -1;
980 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet5 = -1;
981 static int hf_gsm_map_ms_ISR_Information_updateMME = -1;
982 static int hf_gsm_map_ms_ISR_Information_cancelSGSN = -1;
983 static int hf_gsm_map_ms_ISR_Information_initialAttachIndicator = -1;
984 static int hf_gsm_map_ms_SupportedFeatures_odb_all_apn = -1;
985 static int hf_gsm_map_ms_SupportedFeatures_odb_HPLMN_APN = -1;
986 static int hf_gsm_map_ms_SupportedFeatures_odb_VPLMN_APN = -1;
987 static int hf_gsm_map_ms_SupportedFeatures_odb_all_og = -1;
988 static int hf_gsm_map_ms_SupportedFeatures_odb_all_international_og = -1;
989 static int hf_gsm_map_ms_SupportedFeatures_odb_all_int_og_not_to_HPLMN_country = -1;
990 static int hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og = -1;
991 static int hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og_not_to_HPLMN_country = -1;
992 static int hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og_and_internat_og_not_to_HPLMN_country = -1;
993 static int hf_gsm_map_ms_SupportedFeatures_regSub = -1;
994 static int hf_gsm_map_ms_SupportedFeatures_trace = -1;
995 static int hf_gsm_map_ms_SupportedFeatures_lcs_all_PrivExcep = -1;
996 static int hf_gsm_map_ms_SupportedFeatures_lcs_universal = -1;
997 static int hf_gsm_map_ms_SupportedFeatures_lcs_CallSessionRelated = -1;
998 static int hf_gsm_map_ms_SupportedFeatures_lcs_CallSessionUnrelated = -1;
999 static int hf_gsm_map_ms_SupportedFeatures_lcs_PLMN_operator = -1;
1000 static int hf_gsm_map_ms_SupportedFeatures_lcs_ServiceType = -1;
1001 static int hf_gsm_map_ms_SupportedFeatures_lcs_all_MOLR_SS = -1;
1002 static int hf_gsm_map_ms_SupportedFeatures_lcs_basicSelfLocation = -1;
1003 static int hf_gsm_map_ms_SupportedFeatures_lcs_autonomousSelfLocation = -1;
1004 static int hf_gsm_map_ms_SupportedFeatures_lcs_transferToThirdParty = -1;
1005 static int hf_gsm_map_ms_SupportedFeatures_sm_mo_pp = -1;
1006 static int hf_gsm_map_ms_SupportedFeatures_barring_OutgoingCalls = -1;
1007 static int hf_gsm_map_ms_SupportedFeatures_baoc = -1;
1008 static int hf_gsm_map_ms_SupportedFeatures_boic = -1;
1009 static int hf_gsm_map_ms_SupportedFeatures_boicExHC = -1;
1010 static int hf_gsm_map_ms_RequestedEquipmentInfo_equipmentStatus = -1;
1011 static int hf_gsm_map_ms_RequestedEquipmentInfo_bmuef = -1;
1012 static int hf_gsm_map_ms_AccessRestrictionData_utranNotAllowed = -1;
1013 static int hf_gsm_map_ms_AccessRestrictionData_geranNotAllowed = -1;
1014 static int hf_gsm_map_ms_AccessRestrictionData_ganNotAllowed = -1;
1015 static int hf_gsm_map_ms_AccessRestrictionData_i_hspa_evolutionNotAllowed = -1;
1016 static int hf_gsm_map_ms_AccessRestrictionData_e_utranNotAllowed = -1;
1017 static int hf_gsm_map_ms_AccessRestrictionData_ho_toNon3GPP_AccessNotAllowed = -1;
1018 static int hf_gsm_map_ms_ODB_GeneralData_allOG_CallsBarred = -1;
1019 static int hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsBarred = -1;
1020 static int hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred = -1;
1021 static int hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsBarred = -1;
1022 static int hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred = -1;
1023 static int hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred = -1;
1024 static int hf_gsm_map_ms_ODB_GeneralData_premiumRateInformationOGCallsBarred = -1;
1025 static int hf_gsm_map_ms_ODB_GeneralData_premiumRateEntertainementOGCallsBarred = -1;
1026 static int hf_gsm_map_ms_ODB_GeneralData_ss_AccessBarred = -1;
1027 static int hf_gsm_map_ms_ODB_GeneralData_allECT_Barred = -1;
1028 static int hf_gsm_map_ms_ODB_GeneralData_chargeableECT_Barred = -1;
1029 static int hf_gsm_map_ms_ODB_GeneralData_internationalECT_Barred = -1;
1030 static int hf_gsm_map_ms_ODB_GeneralData_interzonalECT_Barred = -1;
1031 static int hf_gsm_map_ms_ODB_GeneralData_doublyChargeableECT_Barred = -1;
1032 static int hf_gsm_map_ms_ODB_GeneralData_multipleECT_Barred = -1;
1033 static int hf_gsm_map_ms_ODB_GeneralData_allPacketOrientedServicesBarred = -1;
1034 static int hf_gsm_map_ms_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred = -1;
1035 static int hf_gsm_map_ms_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred = -1;
1036 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred = -1;
1037 static int hf_gsm_map_ms_ODB_GeneralData_allIC_CallsBarred = -1;
1038 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred = -1;
1039 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred = -1;
1040 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_Barred = -1;
1041 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_CountryBarred = -1;
1042 static int hf_gsm_map_ms_ODB_GeneralData_registrationAllCF_Barred = -1;
1043 static int hf_gsm_map_ms_ODB_GeneralData_registrationCFNotToHPLMN_Barred = -1;
1044 static int hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCF_Barred = -1;
1045 static int hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred = -1;
1046 static int hf_gsm_map_ms_ODB_GeneralData_registrationInternationalCF_Barred = -1;
1047 static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType1 = -1;
1048 static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType2 = -1;
1049 static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType3 = -1;
1050 static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType4 = -1;
1051 static int hf_gsm_map_ms_SpecificCSI_Withdraw_o_csi = -1;
1052 static int hf_gsm_map_ms_SpecificCSI_Withdraw_ss_csi = -1;
1053 static int hf_gsm_map_ms_SpecificCSI_Withdraw_tif_csi = -1;
1054 static int hf_gsm_map_ms_SpecificCSI_Withdraw_d_csi = -1;
1055 static int hf_gsm_map_ms_SpecificCSI_Withdraw_vt_csi = -1;
1056 static int hf_gsm_map_ms_SpecificCSI_Withdraw_mo_sms_csi = -1;
1057 static int hf_gsm_map_ms_SpecificCSI_Withdraw_m_csi = -1;
1058 static int hf_gsm_map_ms_SpecificCSI_Withdraw_gprs_csi = -1;
1059 static int hf_gsm_map_ms_SpecificCSI_Withdraw_t_csi = -1;
1060 static int hf_gsm_map_ms_SpecificCSI_Withdraw_mt_sms_csi = -1;
1061 static int hf_gsm_map_ms_SpecificCSI_Withdraw_mg_csi = -1;
1062 static int hf_gsm_map_ms_SpecificCSI_Withdraw_o_IM_CSI = -1;
1063 static int hf_gsm_map_ms_SpecificCSI_Withdraw_d_IM_CSI = -1;
1064 static int hf_gsm_map_ms_SpecificCSI_Withdraw_vt_IM_CSI = -1;
1065 static int hf_gsm_map_ms_SupportedCamelPhases_phase1 = -1;
1066 static int hf_gsm_map_ms_SupportedCamelPhases_phase2 = -1;
1067 static int hf_gsm_map_ms_SupportedCamelPhases_phase3 = -1;
1068 static int hf_gsm_map_ms_SupportedCamelPhases_phase4 = -1;
1069 static int hf_gsm_map_ms_OfferedCamel4CSIs_o_csi = -1;
1070 static int hf_gsm_map_ms_OfferedCamel4CSIs_d_csi = -1;
1071 static int hf_gsm_map_ms_OfferedCamel4CSIs_vt_csi = -1;
1072 static int hf_gsm_map_ms_OfferedCamel4CSIs_t_csi = -1;
1073 static int hf_gsm_map_ms_OfferedCamel4CSIs_mt_sms_csi = -1;
1074 static int hf_gsm_map_ms_OfferedCamel4CSIs_mg_csi = -1;
1075 static int hf_gsm_map_ms_OfferedCamel4CSIs_psi_enhancements = -1;
1076 static int hf_gsm_map_ms_OfferedCamel4Functionalities_initiateCallAttempt = -1;
1077 static int hf_gsm_map_ms_OfferedCamel4Functionalities_splitLeg = -1;
1078 static int hf_gsm_map_ms_OfferedCamel4Functionalities_moveLeg = -1;
1079 static int hf_gsm_map_ms_OfferedCamel4Functionalities_disconnectLeg = -1;
1080 static int hf_gsm_map_ms_OfferedCamel4Functionalities_entityReleased = -1;
1081 static int hf_gsm_map_ms_OfferedCamel4Functionalities_dfc_WithArgument = -1;
1082 static int hf_gsm_map_ms_OfferedCamel4Functionalities_playTone = -1;
1083 static int hf_gsm_map_ms_OfferedCamel4Functionalities_dtmf_MidCall = -1;
1084 static int hf_gsm_map_ms_OfferedCamel4Functionalities_chargingIndicator = -1;
1085 static int hf_gsm_map_ms_OfferedCamel4Functionalities_alertingDP = -1;
1086 static int hf_gsm_map_ms_OfferedCamel4Functionalities_locationAtAlerting = -1;
1087 static int hf_gsm_map_ms_OfferedCamel4Functionalities_changeOfPositionDP = -1;
1088 static int hf_gsm_map_ms_OfferedCamel4Functionalities_or_Interactions = -1;
1089 static int hf_gsm_map_ms_OfferedCamel4Functionalities_warningToneEnhancements = -1;
1090 static int hf_gsm_map_ms_OfferedCamel4Functionalities_cf_Enhancements = -1;
1091 static int hf_gsm_map_ms_OfferedCamel4Functionalities_subscribedEnhancedDialledServices = -1;
1092 static int hf_gsm_map_ms_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices = -1;
1093 static int hf_gsm_map_ms_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP = -1;
1094 static int hf_gsm_map_ms_OfferedCamel4Functionalities_serviceChangeDP = -1;
1095 static int hf_gsm_map_ms_OfferedCamel4Functionalities_collectInformation = -1;
1096 static int hf_gsm_map_ms_AdditionalSubscriptions_privilegedUplinkRequest = -1;
1097 static int hf_gsm_map_ms_AdditionalSubscriptions_emergencyUplinkRequest = -1;
1098 static int hf_gsm_map_ms_AdditionalSubscriptions_emergencyReset = -1;
1099 static int hf_gsm_map_ms_ServingNode_mme = -1;
1100
1101 /* --- Module MAP-CH-DataTypes --- --- ---                                    */
1102
1103 static int hf_gsm_map_ch_cug_Interlock = -1;      /* CUG_Interlock */
1104 static int hf_gsm_map_ch_cug_OutgoingAccess = -1;  /* NULL */
1105 static int hf_gsm_map_ch_extensionContainer = -1;  /* ExtensionContainer */
1106 static int hf_gsm_map_ch_msisdn = -1;             /* ISDN_AddressString */
1107 static int hf_gsm_map_ch_cug_CheckInfo = -1;      /* CUG_CheckInfo */
1108 static int hf_gsm_map_ch_numberOfForwarding = -1;  /* NumberOfForwarding */
1109 static int hf_gsm_map_ch_interrogationType = -1;  /* InterrogationType */
1110 static int hf_gsm_map_ch_or_Interrogation = -1;   /* NULL */
1111 static int hf_gsm_map_ch_or_Capability = -1;      /* OR_Phase */
1112 static int hf_gsm_map_ch_gmsc_OrGsmSCF_Address = -1;  /* ISDN_AddressString */
1113 static int hf_gsm_map_ch_callReferenceNumber = -1;  /* CallReferenceNumber */
1114 static int hf_gsm_map_ch_forwardingReason = -1;   /* ForwardingReason */
1115 static int hf_gsm_map_ch_basicServiceGroup = -1;  /* Ext_BasicServiceCode */
1116 static int hf_gsm_map_ch_networkSignalInfo = -1;  /* ExternalSignalInfo */
1117 static int hf_gsm_map_ch_camelInfo = -1;          /* CamelInfo */
1118 static int hf_gsm_map_ch_suppressionOfAnnouncement = -1;  /* SuppressionOfAnnouncement */
1119 static int hf_gsm_map_ch_alertingPattern = -1;    /* AlertingPattern */
1120 static int hf_gsm_map_ch_ccbs_Call = -1;          /* NULL */
1121 static int hf_gsm_map_ch_supportedCCBS_Phase = -1;  /* SupportedCCBS_Phase */
1122 static int hf_gsm_map_ch_additionalSignalInfo = -1;  /* Ext_ExternalSignalInfo */
1123 static int hf_gsm_map_ch_istSupportIndicator = -1;  /* IST_SupportIndicator */
1124 static int hf_gsm_map_ch_pre_pagingSupported = -1;  /* NULL */
1125 static int hf_gsm_map_ch_callDiversionTreatmentIndicator = -1;  /* CallDiversionTreatmentIndicator */
1126 static int hf_gsm_map_ch_longFTN_Supported = -1;  /* NULL */
1127 static int hf_gsm_map_ch_suppress_VT_CSI = -1;    /* NULL */
1128 static int hf_gsm_map_ch_suppressIncomingCallBarring = -1;  /* NULL */
1129 static int hf_gsm_map_ch_gsmSCF_InitiatedCall = -1;  /* NULL */
1130 static int hf_gsm_map_ch_basicServiceGroup2 = -1;  /* Ext_BasicServiceCode */
1131 static int hf_gsm_map_ch_networkSignalInfo2 = -1;  /* ExternalSignalInfo */
1132 static int hf_gsm_map_ch_suppressMTSS = -1;       /* SuppressMTSS */
1133 static int hf_gsm_map_ch_mtRoamingRetrySupported = -1;  /* NULL */
1134 static int hf_gsm_map_ch_callPriority = -1;       /* EMLPP_Priority */
1135 static int hf_gsm_map_ch_imsi = -1;               /* IMSI */
1136 static int hf_gsm_map_ch_extendedRoutingInfo = -1;  /* ExtendedRoutingInfo */
1137 static int hf_gsm_map_ch_cugSubscriptionFlag = -1;  /* NULL */
1138 static int hf_gsm_map_ch_subscriberInfo = -1;     /* SubscriberInfo */
1139 static int hf_gsm_map_ch_ss_List = -1;            /* SS_List */
1140 static int hf_gsm_map_ch_basicService = -1;       /* Ext_BasicServiceCode */
1141 static int hf_gsm_map_ch_forwardingInterrogationRequired = -1;  /* NULL */
1142 static int hf_gsm_map_ch_vmsc_Address = -1;       /* ISDN_AddressString */
1143 static int hf_gsm_map_ch_naea_PreferredCI = -1;   /* NAEA_PreferredCI */
1144 static int hf_gsm_map_ch_ccbs_Indicators = -1;    /* CCBS_Indicators */
1145 static int hf_gsm_map_ch_numberPortabilityStatus = -1;  /* NumberPortabilityStatus */
1146 static int hf_gsm_map_ch_istAlertTimer = -1;      /* IST_AlertTimerValue */
1147 static int hf_gsm_map_ch_supportedCamelPhasesInVMSC = -1;  /* SupportedCamelPhases */
1148 static int hf_gsm_map_ch_offeredCamel4CSIsInVMSC = -1;  /* OfferedCamel4CSIs */
1149 static int hf_gsm_map_ch_routingInfo2 = -1;       /* RoutingInfo */
1150 static int hf_gsm_map_ch_ss_List2 = -1;           /* SS_List */
1151 static int hf_gsm_map_ch_basicService2 = -1;      /* Ext_BasicServiceCode */
1152 static int hf_gsm_map_ch_allowedServices = -1;    /* AllowedServices */
1153 static int hf_gsm_map_ch_unavailabilityCause = -1;  /* UnavailabilityCause */
1154 static int hf_gsm_map_ch_releaseResourcesSupported = -1;  /* NULL */
1155 static int hf_gsm_map_ch_gsm_BearerCapability = -1;  /* ExternalSignalInfo */
1156 static int hf_gsm_map_ch_ccbs_Possible = -1;      /* NULL */
1157 static int hf_gsm_map_ch_keepCCBS_CallIndicator = -1;  /* NULL */
1158 static int hf_gsm_map_ch_roamingNumber = -1;      /* ISDN_AddressString */
1159 static int hf_gsm_map_ch_forwardingData = -1;     /* ForwardingData */
1160 static int hf_gsm_map_ch_forwardedToNumber = -1;  /* ISDN_AddressString */
1161 static int hf_gsm_map_ch_forwardedToSubaddress = -1;  /* ISDN_SubaddressString */
1162 static int hf_gsm_map_ch_forwardingOptions = -1;  /* ForwardingOptions */
1163 static int hf_gsm_map_ch_longForwardedToNumber = -1;  /* FTN_AddressString */
1164 static int hf_gsm_map_ch_msc_Number = -1;         /* ISDN_AddressString */
1165 static int hf_gsm_map_ch_lmsi = -1;               /* LMSI */
1166 static int hf_gsm_map_ch_gmsc_Address = -1;       /* ISDN_AddressString */
1167 static int hf_gsm_map_ch_supportedCamelPhasesInInterrogatingNode = -1;  /* SupportedCamelPhases */
1168 static int hf_gsm_map_ch_orNotSupportedInGMSC = -1;  /* NULL */
1169 static int hf_gsm_map_ch_offeredCamel4CSIsInInterrogatingNode = -1;  /* OfferedCamel4CSIs */
1170 static int hf_gsm_map_ch_pagingArea = -1;         /* PagingArea */
1171 static int hf_gsm_map_ch_o_CSI = -1;              /* O_CSI */
1172 static int hf_gsm_map_ch_uu_Data = -1;            /* UU_Data */
1173 static int hf_gsm_map_ch_allInformationSent = -1;  /* NULL */
1174 static int hf_gsm_map_ch_d_csi = -1;              /* D_CSI */
1175 static int hf_gsm_map_ch_o_BcsmCamelTDPCriteriaList = -1;  /* O_BcsmCamelTDPCriteriaList */
1176 static int hf_gsm_map_ch_mtRoamingRetry = -1;     /* NULL */
1177 static int hf_gsm_map_ch_uuIndicator = -1;        /* UUIndicator */
1178 static int hf_gsm_map_ch_uui = -1;                /* UUI */
1179 static int hf_gsm_map_ch_uusCFInteraction = -1;   /* NULL */
1180 static int hf_gsm_map_ch_supportedCamelPhases = -1;  /* SupportedCamelPhases */
1181 static int hf_gsm_map_ch_suppress_T_CSI = -1;     /* NULL */
1182 static int hf_gsm_map_ch_offeredCamel4CSIs = -1;  /* OfferedCamel4CSIs */
1183 static int hf_gsm_map_ch_routingInfo = -1;        /* RoutingInfo */
1184 static int hf_gsm_map_ch_camelRoutingInfo = -1;   /* CamelRoutingInfo */
1185 static int hf_gsm_map_ch_gmscCamelSubscriptionInfo = -1;  /* GmscCamelSubscriptionInfo */
1186 static int hf_gsm_map_ch_t_CSI = -1;              /* T_CSI */
1187 static int hf_gsm_map_ch_o_BcsmCamelTDP_CriteriaList = -1;  /* O_BcsmCamelTDPCriteriaList */
1188 static int hf_gsm_map_ch_t_BCSM_CAMEL_TDP_CriteriaList = -1;  /* T_BCSM_CAMEL_TDP_CriteriaList */
1189 static int hf_gsm_map_ch_ccbs_Monitoring = -1;    /* ReportingState */
1190 static int hf_gsm_map_ch_ccbs_SubscriberStatus = -1;  /* CCBS_SubscriberStatus */
1191 static int hf_gsm_map_ch_eventReportData = -1;    /* EventReportData */
1192 static int hf_gsm_map_ch_callReportdata = -1;     /* CallReportData */
1193 static int hf_gsm_map_ch_monitoringMode = -1;     /* MonitoringMode */
1194 static int hf_gsm_map_ch_callOutcome = -1;        /* CallOutcome */
1195 static int hf_gsm_map_ch_callInfo = -1;           /* ExternalSignalInfo */
1196 static int hf_gsm_map_ch_ccbs_Feature = -1;       /* CCBS_Feature */
1197 static int hf_gsm_map_ch_translatedB_Number = -1;  /* ISDN_AddressString */
1198 static int hf_gsm_map_ch_replaceB_Number = -1;    /* NULL */
1199 static int hf_gsm_map_ch_ruf_Outcome = -1;        /* RUF_Outcome */
1200 static int hf_gsm_map_ch_istInformationWithdraw = -1;  /* NULL */
1201 static int hf_gsm_map_ch_callTerminationIndicator = -1;  /* CallTerminationIndicator */
1202 static int hf_gsm_map_ch_msrn = -1;               /* ISDN_AddressString */
1203 /* named bits */
1204 static int hf_gsm_map_ch_SuppressMTSS_suppressCUG = -1;
1205 static int hf_gsm_map_ch_SuppressMTSS_suppressCCBS = -1;
1206 static int hf_gsm_map_ch_AllowedServices_firstServiceAllowed = -1;
1207 static int hf_gsm_map_ch_AllowedServices_secondServiceAllowed = -1;
1208
1209 /* --- Module MAP-LCS-DataTypes --- --- ---                                   */
1210
1211 static int hf_gsm_map_lcs_gsm_map_lcs_LCS_ClientID_PDU = -1;  /* LCS_ClientID */
1212 static int hf_gsm_map_lcs_mlcNumber = -1;         /* ISDN_AddressString */
1213 static int hf_gsm_map_lcs_targetMS = -1;          /* SubscriberIdentity */
1214 static int hf_gsm_map_lcs_extensionContainer = -1;  /* ExtensionContainer */
1215 static int hf_gsm_map_lcs_lcsLocationInfo = -1;   /* LCSLocationInfo */
1216 static int hf_gsm_map_lcs_v_gmlc_Address = -1;    /* GSN_Address */
1217 static int hf_gsm_map_lcs_h_gmlc_Address = -1;    /* GSN_Address */
1218 static int hf_gsm_map_lcs_ppr_Address = -1;       /* GSN_Address */
1219 static int hf_gsm_map_lcs_additional_v_gmlc_Address = -1;  /* GSN_Address */
1220 static int hf_gsm_map_lcs_networkNode_Number = -1;  /* ISDN_AddressString */
1221 static int hf_gsm_map_lcs_lmsi = -1;              /* LMSI */
1222 static int hf_gsm_map_lcs_gprsNodeIndicator = -1;  /* NULL */
1223 static int hf_gsm_map_lcs_additional_Number = -1;  /* Additional_Number */
1224 static int hf_gsm_map_lcs_supportedLCS_CapabilitySets = -1;  /* SupportedLCS_CapabilitySets */
1225 static int hf_gsm_map_lcs_additional_LCS_CapabilitySets = -1;  /* SupportedLCS_CapabilitySets */
1226 static int hf_gsm_map_lcs_locationType = -1;      /* LocationType */
1227 static int hf_gsm_map_lcs_mlc_Number = -1;        /* ISDN_AddressString */
1228 static int hf_gsm_map_lcs_lcs_ClientID = -1;      /* LCS_ClientID */
1229 static int hf_gsm_map_lcs_privacyOverride = -1;   /* NULL */
1230 static int hf_gsm_map_lcs_imsi = -1;              /* IMSI */
1231 static int hf_gsm_map_lcs_msisdn = -1;            /* ISDN_AddressString */
1232 static int hf_gsm_map_lcs_imei = -1;              /* IMEI */
1233 static int hf_gsm_map_lcs_lcs_Priority = -1;      /* LCS_Priority */
1234 static int hf_gsm_map_lcs_lcs_QoS = -1;           /* LCS_QoS */
1235 static int hf_gsm_map_lcs_supportedGADShapes = -1;  /* SupportedGADShapes */
1236 static int hf_gsm_map_lcs_lcs_ReferenceNumber = -1;  /* LCS_ReferenceNumber */
1237 static int hf_gsm_map_lcs_lcsServiceTypeID = -1;  /* LCSServiceTypeID */
1238 static int hf_gsm_map_lcs_lcsCodeword = -1;       /* LCSCodeword */
1239 static int hf_gsm_map_lcs_lcs_PrivacyCheck = -1;  /* LCS_PrivacyCheck */
1240 static int hf_gsm_map_lcs_areaEventInfo = -1;     /* AreaEventInfo */
1241 static int hf_gsm_map_lcs_mo_lrShortCircuitIndicator = -1;  /* NULL */
1242 static int hf_gsm_map_lcs_periodicLDRInfo = -1;   /* PeriodicLDRInfo */
1243 static int hf_gsm_map_lcs_reportingPLMNList = -1;  /* ReportingPLMNList */
1244 static int hf_gsm_map_lcs_locationEstimateType = -1;  /* LocationEstimateType */
1245 static int hf_gsm_map_lcs_deferredLocationEventType = -1;  /* DeferredLocationEventType */
1246 static int hf_gsm_map_lcs_lcsClientType = -1;     /* LCSClientType */
1247 static int hf_gsm_map_lcs_lcsClientExternalID = -1;  /* LCSClientExternalID */
1248 static int hf_gsm_map_lcs_lcsClientDialedByMS = -1;  /* AddressString */
1249 static int hf_gsm_map_lcs_lcsClientInternalID = -1;  /* LCSClientInternalID */
1250 static int hf_gsm_map_lcs_lcsClientName = -1;     /* LCSClientName */
1251 static int hf_gsm_map_lcs_lcsAPN = -1;            /* APN */
1252 static int hf_gsm_map_lcs_lcsRequestorID = -1;    /* LCSRequestorID */
1253 static int hf_gsm_map_lcs_dataCodingScheme = -1;  /* USSD_DataCodingScheme */
1254 static int hf_gsm_map_lcs_nameString = -1;        /* NameString */
1255 static int hf_gsm_map_lcs_lcs_FormatIndicator = -1;  /* LCS_FormatIndicator */
1256 static int hf_gsm_map_lcs_requestorIDString = -1;  /* RequestorIDString */
1257 static int hf_gsm_map_lcs_horizontal_accuracy = -1;  /* Horizontal_Accuracy */
1258 static int hf_gsm_map_lcs_verticalCoordinateRequest = -1;  /* NULL */
1259 static int hf_gsm_map_lcs_vertical_accuracy = -1;  /* Vertical_Accuracy */
1260 static int hf_gsm_map_lcs_responseTime = -1;      /* ResponseTime */
1261 static int hf_gsm_map_lcs_velocityRequest = -1;   /* NULL */
1262 static int hf_gsm_map_lcs_responseTimeCategory = -1;  /* ResponseTimeCategory */
1263 static int hf_gsm_map_lcs_lcsCodewordString = -1;  /* LCSCodewordString */
1264 static int hf_gsm_map_lcs_callSessionUnrelated = -1;  /* PrivacyCheckRelatedAction */
1265 static int hf_gsm_map_lcs_callSessionRelated = -1;  /* PrivacyCheckRelatedAction */
1266 static int hf_gsm_map_lcs_areaDefinition = -1;    /* AreaDefinition */
1267 static int hf_gsm_map_lcs_occurrenceInfo = -1;    /* OccurrenceInfo */
1268 static int hf_gsm_map_lcs_intervalTime = -1;      /* IntervalTime */
1269 static int hf_gsm_map_lcs_areaList = -1;          /* AreaList */
1270 static int hf_gsm_map_lcs_AreaList_item = -1;     /* Area */
1271 static int hf_gsm_map_lcs_areaType = -1;          /* AreaType */
1272 static int hf_gsm_map_lcs_areaIdentification = -1;  /* AreaIdentification */
1273 static int hf_gsm_map_lcs_reportingAmount = -1;   /* ReportingAmount */
1274 static int hf_gsm_map_lcs_reportingInterval = -1;  /* ReportingInterval */
1275 static int hf_gsm_map_lcs_plmn_ListPrioritized = -1;  /* NULL */
1276 static int hf_gsm_map_lcs_plmn_List = -1;         /* PLMNList */
1277 static int hf_gsm_map_lcs_PLMNList_item = -1;     /* ReportingPLMN */
1278 static int hf_gsm_map_lcs_plmn_Id = -1;           /* PLMN_Id */
1279 static int hf_gsm_map_lcs_ran_Technology = -1;    /* RAN_Technology */
1280 static int hf_gsm_map_lcs_ran_PeriodicLocationSupport = -1;  /* NULL */
1281 static int hf_gsm_map_lcs_locationEstimate = -1;  /* Ext_GeographicalInformation */
1282 static int hf_gsm_map_lcs_ageOfLocationEstimate = -1;  /* AgeOfLocationInformation */
1283 static int hf_gsm_map_lcs_add_LocationEstimate = -1;  /* Add_GeographicalInformation */
1284 static int hf_gsm_map_lcs_deferredmt_lrResponseIndicator = -1;  /* NULL */
1285 static int hf_gsm_map_lcs_geranPositioningData = -1;  /* PositioningDataInformation */
1286 static int hf_gsm_map_lcs_utranPositioningData = -1;  /* UtranPositioningDataInfo */
1287 static int hf_gsm_map_lcs_cellIdOrSai = -1;       /* CellGlobalIdOrServiceAreaIdOrLAI */
1288 static int hf_gsm_map_lcs_sai_Present = -1;       /* NULL */
1289 static int hf_gsm_map_lcs_accuracyFulfilmentIndicator = -1;  /* AccuracyFulfilmentIndicator */
1290 static int hf_gsm_map_lcs_velocityEstimate = -1;  /* VelocityEstimate */
1291 static int hf_gsm_map_lcs_lcs_Event = -1;         /* LCS_Event */
1292 static int hf_gsm_map_lcs_na_ESRD = -1;           /* ISDN_AddressString */
1293 static int hf_gsm_map_lcs_na_ESRK = -1;           /* ISDN_AddressString */
1294 static int hf_gsm_map_lcs_slr_ArgExtensionContainer = -1;  /* SLR_ArgExtensionContainer */
1295 static int hf_gsm_map_lcs_deferredmt_lrData = -1;  /* Deferredmt_lrData */
1296 static int hf_gsm_map_lcs_pseudonymIndicator = -1;  /* NULL */
1297 static int hf_gsm_map_lcs_sequenceNumber = -1;    /* SequenceNumber */
1298 static int hf_gsm_map_lcs_terminationCause = -1;  /* TerminationCause */
1299 /* named bits */
1300 static int hf_gsm_map_lcs_DeferredLocationEventType_msAvailable = -1;
1301 static int hf_gsm_map_lcs_DeferredLocationEventType_enteringIntoArea = -1;
1302 static int hf_gsm_map_lcs_DeferredLocationEventType_leavingFromArea = -1;
1303 static int hf_gsm_map_lcs_DeferredLocationEventType_beingInsideArea = -1;
1304 static int hf_gsm_map_lcs_DeferredLocationEventType_periodicLDR = -1;
1305 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPoint = -1;
1306 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle = -1;
1307 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse = -1;
1308 static int hf_gsm_map_lcs_SupportedGADShapes_polygon = -1;
1309 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitude = -1;
1310 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid = -1;
1311 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidArc = -1;
1312
1313 /* --- Module MAP-GR-DataTypes --- --- ---                                    */
1314
1315 static int hf_gsm_map_gr_teleservice = -1;        /* Ext_TeleserviceCode */
1316 static int hf_gsm_map_gr_asciCallReference = -1;  /* ASCI_CallReference */
1317 static int hf_gsm_map_gr_codec_Info = -1;         /* CODEC_Info */
1318 static int hf_gsm_map_gr_cipheringAlgorithm = -1;  /* CipheringAlgorithm */
1319 static int hf_gsm_map_gr_groupKeyNumber_Vk_Id = -1;  /* GroupKeyNumber */
1320 static int hf_gsm_map_gr_groupKey = -1;           /* Kc */
1321 static int hf_gsm_map_gr_priority = -1;           /* EMLPP_Priority */
1322 static int hf_gsm_map_gr_uplinkFree = -1;         /* NULL */
1323 static int hf_gsm_map_gr_extensionContainer = -1;  /* ExtensionContainer */
1324 static int hf_gsm_map_gr_vstk = -1;               /* VSTK */
1325 static int hf_gsm_map_gr_vstk_rand = -1;          /* VSTK_RAND */
1326 static int hf_gsm_map_gr_talkerChannelParameter = -1;  /* NULL */
1327 static int hf_gsm_map_gr_groupCallNumber = -1;    /* ISDN_AddressString */
1328 static int hf_gsm_map_gr_imsi = -1;               /* IMSI */
1329 static int hf_gsm_map_gr_talkerPriority = -1;     /* TalkerPriority */
1330 static int hf_gsm_map_gr_additionalInfo = -1;     /* AdditionalInfo */
1331 static int hf_gsm_map_gr_uplinkRequestAck = -1;   /* NULL */
1332 static int hf_gsm_map_gr_uplinkReleaseIndication = -1;  /* NULL */
1333 static int hf_gsm_map_gr_uplinkRejectCommand = -1;  /* NULL */
1334 static int hf_gsm_map_gr_uplinkSeizedCommand = -1;  /* NULL */
1335 static int hf_gsm_map_gr_uplinkReleaseCommand = -1;  /* NULL */
1336 static int hf_gsm_map_gr_stateAttributes = -1;    /* StateAttributes */
1337 static int hf_gsm_map_gr_emergencyModeResetCommandFlag = -1;  /* NULL */
1338 static int hf_gsm_map_gr_sm_RP_UI = -1;           /* SignalInfo */
1339 static int hf_gsm_map_gr_an_APDU = -1;            /* AccessNetworkSignalInfo */
1340 static int hf_gsm_map_gr_uplinkRequest = -1;      /* NULL */
1341 static int hf_gsm_map_gr_releaseGroupCall = -1;   /* NULL */
1342 static int hf_gsm_map_gr_downlinkAttached = -1;   /* NULL */
1343 static int hf_gsm_map_gr_uplinkAttached = -1;     /* NULL */
1344 static int hf_gsm_map_gr_dualCommunication = -1;  /* NULL */
1345 static int hf_gsm_map_gr_callOriginator = -1;     /* NULL */
1346 static int hf_gsm_map_gr_requestedInfo = -1;      /* RequestedInfo */
1347 static int hf_gsm_map_gr_groupId = -1;            /* Long_GroupId */
1348 static int hf_gsm_map_gr_cellId = -1;             /* GlobalCellId */
1349 static int hf_gsm_map_gr_tmsi = -1;               /* TMSI */
1350 static int hf_gsm_map_gr_cksn = -1;               /* Cksn */
1351 static int hf_gsm_map_gr_anchorMSC_Address = -1;  /* ISDN_AddressString */
1352 static int hf_gsm_map_gr_additionalSubscriptions = -1;  /* AdditionalSubscriptions */
1353 static int hf_gsm_map_gr_kc = -1;                 /* Kc */
1354
1355 /* --- Module MAP-DialogueInformation --- --- ---                             */
1356
1357 static int hf_gsm_map_dialogue_gsm_map_dialogue_MAP_DialoguePDU_PDU = -1;  /* MAP_DialoguePDU */
1358 static int hf_gsm_map_dialogue_map_open = -1;     /* MAP_OpenInfo */
1359 static int hf_gsm_map_dialogue_map_accept = -1;   /* MAP_AcceptInfo */
1360 static int hf_gsm_map_dialogue_map_close = -1;    /* MAP_CloseInfo */
1361 static int hf_gsm_map_dialogue_map_refuse = -1;   /* MAP_RefuseInfo */
1362 static int hf_gsm_map_dialogue_map_userAbort = -1;  /* MAP_UserAbortInfo */
1363 static int hf_gsm_map_dialogue_map_providerAbort = -1;  /* MAP_ProviderAbortInfo */
1364 static int hf_gsm_map_dialogue_destinationReference = -1;  /* AddressString */
1365 static int hf_gsm_map_dialogue_originationReference = -1;  /* AddressString */
1366 static int hf_gsm_map_dialogue_extensionContainer = -1;  /* ExtensionContainer */
1367 static int hf_gsm_map_dialogue_reason = -1;       /* Reason */
1368 static int hf_gsm_map_dialogue_alternativeApplicationContext = -1;  /* OBJECT_IDENTIFIER */
1369 static int hf_gsm_map_dialogue_map_UserAbortChoice = -1;  /* MAP_UserAbortChoice */
1370 static int hf_gsm_map_dialogue_userSpecificReason = -1;  /* NULL */
1371 static int hf_gsm_map_dialogue_userResourceLimitation = -1;  /* NULL */
1372 static int hf_gsm_map_dialogue_resourceUnavailable = -1;  /* ResourceUnavailableReason */
1373 static int hf_gsm_map_dialogue_applicationProcedureCancellation = -1;  /* ProcedureCancellationReason */
1374 static int hf_gsm_map_dialogue_map_ProviderAbortReason = -1;  /* MAP_ProviderAbortReason */
1375
1376 /* --- Module DummyMAP --- --- ---                                            */
1377
1378 static int hf_gsm_old_invoke = -1;                /* Invoke */
1379 static int hf_gsm_old_returnResultLast = -1;      /* ReturnResult */
1380 static int hf_gsm_old_returnError = -1;           /* ReturnError */
1381 static int hf_gsm_old_reject = -1;                /* Reject */
1382 static int hf_gsm_old_returnResultNotLast = -1;   /* ReturnResult */
1383 static int hf_gsm_old_invokeID = -1;              /* InvokeIdType */
1384 static int hf_gsm_old_linkedID = -1;              /* InvokeIdType */
1385 static int hf_gsm_old_opCode = -1;                /* MAP_OPERATION */
1386 static int hf_gsm_old_invokeparameter = -1;       /* InvokeParameter */
1387 static int hf_gsm_old_resultretres = -1;          /* T_resultretres */
1388 static int hf_gsm_old_returnparameter = -1;       /* ReturnResultParameter */
1389 static int hf_gsm_old_errorCode = -1;             /* MAP_ERROR */
1390 static int hf_gsm_old_parameter = -1;             /* ReturnErrorParameter */
1391 static int hf_gsm_old_invokeIDRej = -1;           /* T_invokeIDRej */
1392 static int hf_gsm_old_derivable = -1;             /* InvokeIdType */
1393 static int hf_gsm_old_not_derivable = -1;         /* NULL */
1394 static int hf_gsm_old_problem = -1;               /* T_problem */
1395 static int hf_gsm_old_generalProblem = -1;        /* GeneralProblem */
1396 static int hf_gsm_old_invokeProblem = -1;         /* InvokeProblem */
1397 static int hf_gsm_old_returnResultProblem = -1;   /* ReturnResultProblem */
1398 static int hf_gsm_old_returnErrorProblem = -1;    /* ReturnErrorProblem */
1399 static int hf_gsm_old_localValue = -1;            /* OperationLocalvalue */
1400 static int hf_gsm_old_globalValue = -1;           /* OBJECT_IDENTIFIER */
1401 static int hf_gsm_old_localValue_01 = -1;         /* LocalErrorcode */
1402 static int hf_gsm_old_protocolId = -1;            /* ProtocolId */
1403 static int hf_gsm_old_signalInfo = -1;            /* SignalInfo */
1404 static int hf_gsm_old_extensionContainer = -1;    /* ExtensionContainer */
1405 static int hf_gsm_old_gsm_BearerCapability = -1;  /* ExternalSignalInfo */
1406 static int hf_gsm_old_isdn_BearerCapability = -1;  /* ExternalSignalInfo */
1407 static int hf_gsm_old_call_Direction = -1;        /* CallDirection */
1408 static int hf_gsm_old_b_Subscriber_Address = -1;  /* ISDN_AddressString */
1409 static int hf_gsm_old_chosenChannel = -1;         /* ExternalSignalInfo */
1410 static int hf_gsm_old_lowerLayerCompatibility = -1;  /* ExternalSignalInfo */
1411 static int hf_gsm_old_highLayerCompatibility = -1;  /* ExternalSignalInfo */
1412 static int hf_gsm_old_sIWFSNumber = -1;           /* ISDN_AddressString */
1413 static int hf_gsm_old_imsi = -1;                  /* IMSI */
1414 static int hf_gsm_old_vlr_Number = -1;            /* ISDN_AddressString */
1415 static int hf_gsm_old_targetCellId = -1;          /* GlobalCellId */
1416 static int hf_gsm_old_ho_NumberNotRequired = -1;  /* NULL */
1417 static int hf_gsm_old_bss_APDU = -1;              /* Bss_APDU */
1418 static int hf_gsm_old_handoverNumber = -1;        /* ISDN_AddressString */
1419 static int hf_gsm_old_SendAuthenticationInfoResOld_item = -1;  /* SendAuthenticationInfoResOld_item */
1420 static int hf_gsm_old_rand = -1;                  /* RAND */
1421 static int hf_gsm_old_sres = -1;                  /* SRES */
1422 static int hf_gsm_old_kc = -1;                    /* Kc */
1423 static int hf_gsm_old_tripletList = -1;           /* TripletListold */
1424 static int hf_gsm_old_TripletListold_item = -1;   /* AuthenticationTriplet_v2 */
1425 static int hf_gsm_old_channelType = -1;           /* ExternalSignalInfo */
1426 static int hf_gsm_old_securityHeader = -1;        /* SecurityHeader */
1427 static int hf_gsm_old_protectedPayload = -1;      /* ProtectedPayload */
1428 static int hf_gsm_old_securityParametersIndex = -1;  /* SecurityParametersIndex */
1429 static int hf_gsm_old_originalComponentIdentifier = -1;  /* OriginalComponentIdentifier */
1430 static int hf_gsm_old_initialisationVector = -1;  /* InitialisationVector */
1431 static int hf_gsm_old_operationCode = -1;         /* OperationCode */
1432 static int hf_gsm_old_errorCode_01 = -1;          /* ErrorCode */
1433 static int hf_gsm_old_userInfo = -1;              /* NULL */
1434 static int hf_gsm_old_localValue_02 = -1;         /* INTEGER */
1435 static int hf_gsm_old_msisdn = -1;                /* ISDN_AddressString */
1436 static int hf_gsm_old_category = -1;              /* Category */
1437 static int hf_gsm_old_basicService = -1;          /* BasicServiceCode */
1438 static int hf_gsm_old_operatorSS_Code = -1;       /* T_operatorSS_Code */
1439 static int hf_gsm_old_operatorSS_Code_item = -1;  /* OCTET_STRING_SIZE_1 */
1440 static int hf_gsm_old_sm_RP_DA = -1;              /* SM_RP_DAold */
1441 static int hf_gsm_old_sm_RP_OA = -1;              /* SM_RP_OAold */
1442 static int hf_gsm_old_sm_RP_UI = -1;              /* SignalInfo */
1443 static int hf_gsm_old_moreMessagesToSend = -1;    /* NULL */
1444 static int hf_gsm_old_lmsi = -1;                  /* LMSI */
1445 static int hf_gsm_old_serviceCentreAddressDA = -1;  /* AddressString */
1446 static int hf_gsm_old_noSM_RP_DA = -1;            /* NULL */
1447 static int hf_gsm_old_msisdn_01 = -1;             /* T_msisdn */
1448 static int hf_gsm_old_serviceCentreAddressOA = -1;  /* T_serviceCentreAddressOA */
1449 static int hf_gsm_old_noSM_RP_OA = -1;            /* NULL */
1450 static int hf_gsm_old_cug_CheckInfo = -1;         /* CUG_CheckInfo */
1451 static int hf_gsm_old_numberOfForwarding = -1;    /* NumberOfForwarding */
1452 static int hf_gsm_old_networkSignalInfo = -1;     /* ExternalSignalInfo */
1453 static int hf_gsm_old_routingInfo = -1;           /* RoutingInfo */
1454 static int hf_gsm_old_originatingEntityNumber = -1;  /* ISDN_AddressString */
1455 static int hf_gsm_old_msisdn_02 = -1;             /* AddressString */
1456
1457 /* --- Module SS-DataTypes --- --- ---                                        */
1458
1459 static int hf_gsm_ss_ss_Code = -1;                /* SS_Code */
1460 static int hf_gsm_ss_ss_Status = -1;              /* SS_Status */
1461 static int hf_gsm_ss_ss_Notification = -1;        /* SS_Notification */
1462 static int hf_gsm_ss_callIsWaiting_Indicator = -1;  /* NULL */
1463 static int hf_gsm_ss_callOnHold_Indicator = -1;   /* CallOnHold_Indicator */
1464 static int hf_gsm_ss_mpty_Indicator = -1;         /* NULL */
1465 static int hf_gsm_ss_cug_Index = -1;              /* CUG_Index */
1466 static int hf_gsm_ss_clirSuppressionRejected = -1;  /* NULL */
1467 static int hf_gsm_ss_ect_Indicator = -1;          /* ECT_Indicator */
1468 static int hf_gsm_ss_nameIndicator = -1;          /* NameIndicator */
1469 static int hf_gsm_ss_ccbs_Feature = -1;           /* CCBS_Feature */
1470 static int hf_gsm_ss_alertingPattern = -1;        /* AlertingPattern */
1471 static int hf_gsm_ss_multicall_Indicator = -1;    /* Multicall_Indicator */
1472 static int hf_gsm_ss_chargingInformation = -1;    /* ChargingInformation */
1473 static int hf_gsm_ss_e1 = -1;                     /* E1 */
1474 static int hf_gsm_ss_e2 = -1;                     /* E2 */
1475 static int hf_gsm_ss_e3 = -1;                     /* E3 */
1476 static int hf_gsm_ss_e4 = -1;                     /* E4 */
1477 static int hf_gsm_ss_e5 = -1;                     /* E5 */
1478 static int hf_gsm_ss_e6 = -1;                     /* E6 */
1479 static int hf_gsm_ss_e7 = -1;                     /* E7 */
1480 static int hf_gsm_ss_suppressPrefCUG = -1;        /* NULL */
1481 static int hf_gsm_ss_suppressOA = -1;             /* NULL */
1482 static int hf_gsm_ss_ect_CallState = -1;          /* ECT_CallState */
1483 static int hf_gsm_ss_rdn = -1;                    /* RDN */
1484 static int hf_gsm_ss_callingName = -1;            /* Name */
1485 static int hf_gsm_ss_namePresentationAllowed = -1;  /* NameSet */
1486 static int hf_gsm_ss_presentationRestricted = -1;  /* NULL */
1487 static int hf_gsm_ss_nameUnavailable = -1;        /* NULL */
1488 static int hf_gsm_ss_namePresentationRestricted = -1;  /* NameSet */
1489 static int hf_gsm_ss_dataCodingScheme = -1;       /* USSD_DataCodingScheme */
1490 static int hf_gsm_ss_lengthInCharacters = -1;     /* INTEGER */
1491 static int hf_gsm_ss_nameString = -1;             /* USSD_String */
1492 static int hf_gsm_ss_presentationAllowedAddress = -1;  /* RemotePartyNumber */
1493 static int hf_gsm_ss_numberNotAvailableDueToInterworking = -1;  /* NULL */
1494 static int hf_gsm_ss_presentationRestrictedAddress = -1;  /* RemotePartyNumber */
1495 static int hf_gsm_ss_partyNumber = -1;            /* ISDN_AddressString */
1496 static int hf_gsm_ss_partyNumberSubaddress = -1;  /* ISDN_SubaddressString */
1497 static int hf_gsm_ss_deflectedToNumber = -1;      /* AddressString */
1498 static int hf_gsm_ss_deflectedToSubaddress = -1;  /* ISDN_SubaddressString */
1499 static int hf_gsm_ss_uUS_Service = -1;            /* UUS_Service */
1500 static int hf_gsm_ss_uUS_Required = -1;           /* BOOLEAN */
1501 static int hf_gsm_ss_notificationType = -1;       /* NotificationToMSUser */
1502 static int hf_gsm_ss_locationType = -1;           /* LocationType */
1503 static int hf_gsm_ss_lcsClientExternalID = -1;    /* LCSClientExternalID */
1504 static int hf_gsm_ss_lcsClientName = -1;          /* LCSClientName */
1505 static int hf_gsm_ss_lcsRequestorID = -1;         /* LCSRequestorID */
1506 static int hf_gsm_ss_lcsCodeword = -1;            /* LCSCodeword */
1507 static int hf_gsm_ss_lcsServiceTypeID = -1;       /* LCSServiceTypeID */
1508 static int hf_gsm_ss_verificationResponse = -1;   /* VerificationResponse */
1509 static int hf_gsm_ss_molr_Type = -1;              /* MOLR_Type */
1510 static int hf_gsm_ss_locationMethod = -1;         /* LocationMethod */
1511 static int hf_gsm_ss_lcs_QoS = -1;                /* LCS_QoS */
1512 static int hf_gsm_ss_mlc_Number = -1;             /* ISDN_AddressString */
1513 static int hf_gsm_ss_gpsAssistanceData = -1;      /* GPSAssistanceData */
1514 static int hf_gsm_ss_supportedGADShapes = -1;     /* SupportedGADShapes */
1515 static int hf_gsm_ss_ageOfLocationInfo = -1;      /* AgeOfLocationInformation */
1516 static int hf_gsm_ss_pseudonymIndicator = -1;     /* NULL */
1517 static int hf_gsm_ss_h_gmlc_address = -1;         /* GSN_Address */
1518 static int hf_gsm_ss_locationEstimate = -1;       /* Ext_GeographicalInformation */
1519 static int hf_gsm_ss_velocityEstimate = -1;       /* VelocityEstimate */
1520 static int hf_gsm_ss_referenceNumber = -1;        /* LCS_ReferenceNumber */
1521 static int hf_gsm_ss_periodicLDRInfo = -1;        /* PeriodicLDRInfo */
1522 static int hf_gsm_ss_locationUpdateRequest = -1;  /* NULL */
1523 static int hf_gsm_ss_sequenceNumber = -1;         /* SequenceNumber */
1524 static int hf_gsm_ss_terminationCause = -1;       /* TerminationCause */
1525 static int hf_gsm_ss_mo_lrShortCircuit = -1;      /* NULL */
1526 static int hf_gsm_ss_ganssAssistanceData = -1;    /* GANSSAssistanceData */
1527 static int hf_gsm_ss_decipheringKeys = -1;        /* DecipheringKeys */
1528 static int hf_gsm_ss_add_LocationEstimate = -1;   /* Add_GeographicalInformation */
1529 static int hf_gsm_ss_reportingPLMNList = -1;      /* ReportingPLMNList */
1530 static int hf_gsm_ss_deferredLocationEventType = -1;  /* DeferredLocationEventType */
1531 static int hf_gsm_ss_areaEventInfo = -1;          /* AreaEventInfo */
1532 static int hf_gsm_ss_qoS = -1;                    /* LCS_QoS */
1533
1534 /*--- End of included file: packet-gsm_map-hf.c ---*/
1535 #line 145 "packet-gsm_map-template.c"
1536
1537 /* Initialize the subtree pointers */
1538 static gint ett_gsm_map = -1;
1539 static gint ett_gsm_map_InvokeId = -1;
1540 static gint ett_gsm_map_InvokePDU = -1;
1541 static gint ett_gsm_map_ReturnResultPDU = -1;
1542 static gint ett_gsm_map_ReturnErrorPDU = -1;
1543 static gint ett_gsm_map_ReturnResult_result = -1;
1544 static gint ett_gsm_map_ReturnError_result = -1;
1545 static gint ett_gsm_map_GSMMAPPDU = -1;
1546 static gint ett_gsm_map_ext_qos_subscribed = -1;
1547 static gint ett_gsm_map_pdptypenumber = -1;
1548 static gint ett_gsm_map_RAIdentity = -1;
1549 static gint ett_gsm_map_LAIFixedLength = -1;
1550 static gint ett_gsm_map_isdn_address_string = -1;
1551 static gint ett_gsm_map_geo_desc = -1;
1552 static gint ett_gsm_map_LongSignalInfo = -1;
1553 static gint ett_gsm_map_RadioResourceInformation =-1;
1554 static gint ett_gsm_map_MSNetworkCapability =-1;
1555 static gint ett_gsm_map_MSRadioAccessCapability = -1;
1556 static gint ett_gsm_map_externalsignalinfo = -1;
1557 static gint ett_gsm_map_cbs_data_coding = -1;
1558 static gint ett_gsm_map_GlobalCellId = -1;
1559 static gint ett_gsm_map_GeographicalInformation = -1;
1560
1561
1562 /*--- Included file: packet-gsm_map-ett.c ---*/
1563 #line 1 "packet-gsm_map-ett.c"
1564
1565 /* --- Module MAP-ExtensionDataTypes --- --- ---                              */
1566
1567 static gint ett_gsm_map_ExtensionContainer = -1;
1568 static gint ett_gsm_map_SLR_ArgExtensionContainer = -1;
1569 static gint ett_gsm_map_PrivateExtensionList = -1;
1570 static gint ett_gsm_map_PrivateExtension = -1;
1571 static gint ett_gsm_map_PCS_Extensions = -1;
1572 static gint ett_gsm_map_SLR_Arg_PCS_Extensions = -1;
1573
1574 /* --- Module MAP-CommonDataTypes --- --- ---                                 */
1575
1576 static gint ett_gsm_map_ExternalSignalInfo = -1;
1577 static gint ett_gsm_map_Ext_ExternalSignalInfo = -1;
1578 static gint ett_gsm_map_AccessNetworkSignalInfo = -1;
1579 static gint ett_gsm_map_Identity = -1;
1580 static gint ett_gsm_map_IMSI_WithLMSI = -1;
1581 static gint ett_gsm_map_HLR_List = -1;
1582 static gint ett_gsm_map_NAEA_PreferredCI = -1;
1583 static gint ett_gsm_map_SubscriberIdentity = -1;
1584 static gint ett_gsm_map_LCSClientExternalID = -1;
1585 static gint ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI = -1;
1586 static gint ett_gsm_map_BasicServiceCode = -1;
1587 static gint ett_gsm_map_Ext_BasicServiceCode = -1;
1588 static gint ett_gsm_map_EMLPP_Info = -1;
1589 static gint ett_gsm_map_MC_SS_Info = -1;
1590
1591 /* --- Module MAP-SS-DataTypes --- --- ---                                    */
1592
1593 static gint ett_gsm_map_ss_RegisterSS_Arg = -1;
1594 static gint ett_gsm_map_ss_SS_Info = -1;
1595 static gint ett_gsm_map_ss_ForwardingInfo = -1;
1596 static gint ett_gsm_map_ss_ForwardingFeatureList = -1;
1597 static gint ett_gsm_map_ss_ForwardingFeature = -1;
1598 static gint ett_gsm_map_ss_CallBarringInfo = -1;
1599 static gint ett_gsm_map_ss_CallBarringFeatureList = -1;
1600 static gint ett_gsm_map_ss_CallBarringFeature = -1;
1601 static gint ett_gsm_map_ss_SS_Data = -1;
1602 static gint ett_gsm_map_ss_SS_SubscriptionOption = -1;
1603 static gint ett_gsm_map_ss_SS_ForBS_Code = -1;
1604 static gint ett_gsm_map_ss_GenericServiceInfo = -1;
1605 static gint ett_gsm_map_ss_CCBS_FeatureList = -1;
1606 static gint ett_gsm_map_ss_CCBS_Feature = -1;
1607 static gint ett_gsm_map_ss_InterrogateSS_Res = -1;
1608 static gint ett_gsm_map_ss_USSD_Arg = -1;
1609 static gint ett_gsm_map_ss_USSD_Res = -1;
1610 static gint ett_gsm_map_ss_SS_List = -1;
1611 static gint ett_gsm_map_ss_BasicServiceGroupList = -1;
1612 static gint ett_gsm_map_ss_SS_InvocationNotificationArg = -1;
1613 static gint ett_gsm_map_ss_SS_InvocationNotificationRes = -1;
1614 static gint ett_gsm_map_ss_SS_EventSpecification = -1;
1615 static gint ett_gsm_map_ss_RegisterCC_EntryArg = -1;
1616 static gint ett_gsm_map_ss_CCBS_Data = -1;
1617 static gint ett_gsm_map_ss_ServiceIndicator = -1;
1618 static gint ett_gsm_map_ss_RegisterCC_EntryRes = -1;
1619 static gint ett_gsm_map_ss_EraseCC_EntryArg = -1;
1620 static gint ett_gsm_map_ss_EraseCC_EntryRes = -1;
1621
1622 /* --- Module MAP-ER-DataTypes --- --- ---                                    */
1623
1624 static gint ett_gsm_map_er_RoamingNotAllowedParam = -1;
1625 static gint ett_gsm_map_er_CallBarredParam = -1;
1626 static gint ett_gsm_map_er_ExtensibleCallBarredParam = -1;
1627 static gint ett_gsm_map_er_CUG_RejectParam = -1;
1628 static gint ett_gsm_map_er_SS_IncompatibilityCause = -1;
1629 static gint ett_gsm_map_er_SM_DeliveryFailureCause = -1;
1630 static gint ett_gsm_map_er_AbsentSubscriberSM_Param = -1;
1631 static gint ett_gsm_map_er_SystemFailureParam = -1;
1632 static gint ett_gsm_map_er_ExtensibleSystemFailureParam = -1;
1633 static gint ett_gsm_map_er_DataMissingParam = -1;
1634 static gint ett_gsm_map_er_UnexpectedDataParam = -1;
1635 static gint ett_gsm_map_er_FacilityNotSupParam = -1;
1636 static gint ett_gsm_map_er_OR_NotAllowedParam = -1;
1637 static gint ett_gsm_map_er_UnknownSubscriberParam = -1;
1638 static gint ett_gsm_map_er_NumberChangedParam = -1;
1639 static gint ett_gsm_map_er_UnidentifiedSubParam = -1;
1640 static gint ett_gsm_map_er_IllegalSubscriberParam = -1;
1641 static gint ett_gsm_map_er_IllegalEquipmentParam = -1;
1642 static gint ett_gsm_map_er_BearerServNotProvParam = -1;
1643 static gint ett_gsm_map_er_TeleservNotProvParam = -1;
1644 static gint ett_gsm_map_er_TracingBufferFullParam = -1;
1645 static gint ett_gsm_map_er_NoRoamingNbParam = -1;
1646 static gint ett_gsm_map_er_AbsentSubscriberParam = -1;
1647 static gint ett_gsm_map_er_BusySubscriberParam = -1;
1648 static gint ett_gsm_map_er_NoSubscriberReplyParam = -1;
1649 static gint ett_gsm_map_er_ForwardingViolationParam = -1;
1650 static gint ett_gsm_map_er_ForwardingFailedParam = -1;
1651 static gint ett_gsm_map_er_ATI_NotAllowedParam = -1;
1652 static gint ett_gsm_map_er_ATSI_NotAllowedParam = -1;
1653 static gint ett_gsm_map_er_ATM_NotAllowedParam = -1;
1654 static gint ett_gsm_map_er_IllegalSS_OperationParam = -1;
1655 static gint ett_gsm_map_er_SS_NotAvailableParam = -1;
1656 static gint ett_gsm_map_er_SS_SubscriptionViolationParam = -1;
1657 static gint ett_gsm_map_er_InformationNotAvailableParam = -1;
1658 static gint ett_gsm_map_er_SubBusyForMT_SMS_Param = -1;
1659 static gint ett_gsm_map_er_MessageWaitListFullParam = -1;
1660 static gint ett_gsm_map_er_ResourceLimitationParam = -1;
1661 static gint ett_gsm_map_er_NoGroupCallNbParam = -1;
1662 static gint ett_gsm_map_er_IncompatibleTerminalParam = -1;
1663 static gint ett_gsm_map_er_ShortTermDenialParam = -1;
1664 static gint ett_gsm_map_er_LongTermDenialParam = -1;
1665 static gint ett_gsm_map_er_UnauthorizedRequestingNetwork_Param = -1;
1666 static gint ett_gsm_map_er_UnauthorizedLCSClient_Param = -1;
1667 static gint ett_gsm_map_er_PositionMethodFailure_Param = -1;
1668 static gint ett_gsm_map_er_UnknownOrUnreachableLCSClient_Param = -1;
1669 static gint ett_gsm_map_er_MM_EventNotSupported_Param = -1;
1670 static gint ett_gsm_map_er_TargetCellOutsideGCA_Param = -1;
1671 static gint ett_gsm_map_er_OngoingGroupCallParam = -1;
1672
1673 /* --- Module MAP-SM-DataTypes --- --- ---                                    */
1674
1675 static gint ett_gsm_map_sm_RoutingInfoForSM_Arg = -1;
1676 static gint ett_gsm_map_sm_RoutingInfoForSM_Res = -1;
1677 static gint ett_gsm_map_sm_LocationInfoWithLMSI = -1;
1678 static gint ett_gsm_map_sm_Additional_Number = -1;
1679 static gint ett_gsm_map_sm_MO_ForwardSM_Arg = -1;
1680 static gint ett_gsm_map_sm_MO_ForwardSM_Res = -1;
1681 static gint ett_gsm_map_sm_MT_ForwardSM_Arg = -1;
1682 static gint ett_gsm_map_sm_MT_ForwardSM_Res = -1;
1683 static gint ett_gsm_map_sm_SM_RP_DA = -1;
1684 static gint ett_gsm_map_sm_SM_RP_OA = -1;
1685 static gint ett_gsm_map_sm_ReportSM_DeliveryStatusArg = -1;
1686 static gint ett_gsm_map_sm_ReportSM_DeliveryStatusRes = -1;
1687 static gint ett_gsm_map_sm_AlertServiceCentreArg = -1;
1688 static gint ett_gsm_map_sm_InformServiceCentreArg = -1;
1689 static gint ett_gsm_map_sm_MW_Status = -1;
1690 static gint ett_gsm_map_sm_ReadyForSM_Arg = -1;
1691 static gint ett_gsm_map_sm_ReadyForSM_Res = -1;
1692 static gint ett_gsm_map_sm_MT_ForwardSM_VGCS_Arg = -1;
1693 static gint ett_gsm_map_sm_MT_ForwardSM_VGCS_Res = -1;
1694 static gint ett_gsm_map_sm_DispatcherList = -1;
1695
1696 /* --- Module MAP-OM-DataTypes --- --- ---                                    */
1697
1698 static gint ett_gsm_map_om_ActivateTraceModeArg = -1;
1699 static gint ett_gsm_map_om_TraceDepthList = -1;
1700 static gint ett_gsm_map_om_TraceNE_TypeList = -1;
1701 static gint ett_gsm_map_om_TraceInterfaceList = -1;
1702 static gint ett_gsm_map_om_MSC_S_InterfaceList = -1;
1703 static gint ett_gsm_map_om_MGW_InterfaceList = -1;
1704 static gint ett_gsm_map_om_SGSN_InterfaceList = -1;
1705 static gint ett_gsm_map_om_GGSN_InterfaceList = -1;
1706 static gint ett_gsm_map_om_RNC_InterfaceList = -1;
1707 static gint ett_gsm_map_om_BMSC_InterfaceList = -1;
1708 static gint ett_gsm_map_om_MME_InterfaceList = -1;
1709 static gint ett_gsm_map_om_SGW_InterfaceList = -1;
1710 static gint ett_gsm_map_om_PGW_InterfaceList = -1;
1711 static gint ett_gsm_map_om_ENB_InterfaceList = -1;
1712 static gint ett_gsm_map_om_TraceEventList = -1;
1713 static gint ett_gsm_map_om_MSC_S_EventList = -1;
1714 static gint ett_gsm_map_om_MGW_EventList = -1;
1715 static gint ett_gsm_map_om_SGSN_EventList = -1;
1716 static gint ett_gsm_map_om_GGSN_EventList = -1;
1717 static gint ett_gsm_map_om_BMSC_EventList = -1;
1718 static gint ett_gsm_map_om_MME_EventList = -1;
1719 static gint ett_gsm_map_om_SGW_EventList = -1;
1720 static gint ett_gsm_map_om_PGW_EventList = -1;
1721 static gint ett_gsm_map_om_TracePropagationList = -1;
1722 static gint ett_gsm_map_om_ActivateTraceModeRes = -1;
1723 static gint ett_gsm_map_om_DeactivateTraceModeArg = -1;
1724 static gint ett_gsm_map_om_DeactivateTraceModeRes = -1;
1725
1726 /* --- Module MAP-MS-DataTypes --- --- ---                                    */
1727
1728 static gint ett_gsm_map_ms_UpdateLocationArg = -1;
1729 static gint ett_gsm_map_ms_VLR_Capability = -1;
1730 static gint ett_gsm_map_ms_SupportedRAT_Types = -1;
1731 static gint ett_gsm_map_ms_SuperChargerInfo = -1;
1732 static gint ett_gsm_map_ms_SupportedLCS_CapabilitySets = -1;
1733 static gint ett_gsm_map_ms_UpdateLocationRes = -1;
1734 static gint ett_gsm_map_ms_ADD_Info = -1;
1735 static gint ett_gsm_map_ms_PagingArea = -1;
1736 static gint ett_gsm_map_ms_LocationArea = -1;
1737 static gint ett_gsm_map_ms_CancelLocationArg_U = -1;
1738 static gint ett_gsm_map_ms_CancelLocationRes = -1;
1739 static gint ett_gsm_map_ms_PurgeMS_Arg_U = -1;
1740 static gint ett_gsm_map_ms_PurgeMS_Res = -1;
1741 static gint ett_gsm_map_ms_SendIdentificationArg = -1;
1742 static gint ett_gsm_map_ms_SendIdentificationRes_U = -1;
1743 static gint ett_gsm_map_ms_AuthenticationSetList = -1;
1744 static gint ett_gsm_map_ms_TripletList = -1;
1745 static gint ett_gsm_map_ms_QuintupletList = -1;
1746 static gint ett_gsm_map_ms_AuthenticationTriplet = -1;
1747 static gint ett_gsm_map_ms_AuthenticationQuintuplet = -1;
1748 static gint ett_gsm_map_ms_CurrentSecurityContext = -1;
1749 static gint ett_gsm_map_ms_GSM_SecurityContextData = -1;
1750 static gint ett_gsm_map_ms_UMTS_SecurityContextData = -1;
1751 static gint ett_gsm_map_ms_AuthenticationFailureReportArg = -1;
1752 static gint ett_gsm_map_ms_AuthenticationFailureReportRes = -1;
1753 static gint ett_gsm_map_ms_UpdateGprsLocationArg = -1;
1754 static gint ett_gsm_map_ms_EPS_Info = -1;
1755 static gint ett_gsm_map_ms_PDN_GW_Update = -1;
1756 static gint ett_gsm_map_ms_ISR_Information = -1;
1757 static gint ett_gsm_map_ms_SGSN_Capability = -1;
1758 static gint ett_gsm_map_ms_SupportedFeatures = -1;
1759 static gint ett_gsm_map_ms_UpdateGprsLocationRes = -1;
1760 static gint ett_gsm_map_ms_ForwardAccessSignalling_Arg_U = -1;
1761 static gint ett_gsm_map_ms_AllowedUMTS_Algorithms = -1;
1762 static gint ett_gsm_map_ms_PrepareHO_Arg_U = -1;
1763 static gint ett_gsm_map_ms_BSSMAP_ServiceHandoverList = -1;
1764 static gint ett_gsm_map_ms_BSSMAP_ServiceHandoverInfo = -1;
1765 static gint ett_gsm_map_ms_RadioResourceList = -1;
1766 static gint ett_gsm_map_ms_RadioResource = -1;
1767 static gint ett_gsm_map_ms_PrepareHO_Res_U = -1;
1768 static gint ett_gsm_map_ms_SelectedUMTS_Algorithms = -1;
1769 static gint ett_gsm_map_ms_ChosenRadioResourceInformation = -1;
1770 static gint ett_gsm_map_ms_PrepareSubsequentHO_Arg_U = -1;
1771 static gint ett_gsm_map_ms_PrepareSubsequentHO_Res_U = -1;
1772 static gint ett_gsm_map_ms_ProcessAccessSignalling_Arg_U = -1;
1773 static gint ett_gsm_map_ms_SupportedCodecsList = -1;
1774 static gint ett_gsm_map_ms_CodecList = -1;
1775 static gint ett_gsm_map_ms_SendEndSignal_Arg_U = -1;
1776 static gint ett_gsm_map_ms_SendEndSignal_Res = -1;
1777 static gint ett_gsm_map_ms_RelocationNumberList = -1;
1778 static gint ett_gsm_map_ms_RelocationNumber = -1;
1779 static gint ett_gsm_map_ms_SendAuthenticationInfoArg = -1;
1780 static gint ett_gsm_map_ms_Re_synchronisationInfo = -1;
1781 static gint ett_gsm_map_ms_SendAuthenticationInfoRes_U = -1;
1782 static gint ett_gsm_map_ms_EPS_AuthenticationSetList = -1;
1783 static gint ett_gsm_map_ms_EPC_AV = -1;
1784 static gint ett_gsm_map_ms_CheckIMEI_Arg = -1;
1785 static gint ett_gsm_map_ms_CheckIMEI_Res = -1;
1786 static gint ett_gsm_map_ms_RequestedEquipmentInfo = -1;
1787 static gint ett_gsm_map_ms_UESBI_Iu = -1;
1788 static gint ett_gsm_map_ms_InsertSubscriberDataArg = -1;
1789 static gint ett_gsm_map_ms_CSG_SubscriptionDataList = -1;
1790 static gint ett_gsm_map_ms_CSG_SubscriptionData = -1;
1791 static gint ett_gsm_map_ms_EPS_SubscriptionData = -1;
1792 static gint ett_gsm_map_ms_APN_ConfigurationProfile = -1;
1793 static gint ett_gsm_map_ms_EPS_DataList = -1;
1794 static gint ett_gsm_map_ms_APN_Configuration = -1;
1795 static gint ett_gsm_map_ms_EPS_QoS_Subscribed = -1;
1796 static gint ett_gsm_map_ms_AMBR = -1;
1797 static gint ett_gsm_map_ms_SpecificAPNInfoList = -1;
1798 static gint ett_gsm_map_ms_SpecificAPNInfo = -1;
1799 static gint ett_gsm_map_ms_Allocation_Retention_Priority = -1;
1800 static gint ett_gsm_map_ms_PDN_GW_Identity = -1;
1801 static gint ett_gsm_map_ms_AccessRestrictionData = -1;
1802 static gint ett_gsm_map_ms_LCSInformation = -1;
1803 static gint ett_gsm_map_ms_GMLC_List = -1;
1804 static gint ett_gsm_map_ms_GPRSDataList = -1;
1805 static gint ett_gsm_map_ms_PDP_Context = -1;
1806 static gint ett_gsm_map_ms_GPRSSubscriptionData = -1;
1807 static gint ett_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo = -1;
1808 static gint ett_gsm_map_ms_GPRS_CSI = -1;
1809 static gint ett_gsm_map_ms_GPRS_CamelTDPDataList = -1;
1810 static gint ett_gsm_map_ms_GPRS_CamelTDPData = -1;
1811 static gint ett_gsm_map_ms_LSADataList = -1;
1812 static gint ett_gsm_map_ms_LSAData = -1;
1813 static gint ett_gsm_map_ms_LSAInformation = -1;
1814 static gint ett_gsm_map_ms_SubscriberData = -1;
1815 static gint ett_gsm_map_ms_BearerServiceList = -1;
1816 static gint ett_gsm_map_ms_TeleserviceList = -1;
1817 static gint ett_gsm_map_ms_ODB_Data = -1;
1818 static gint ett_gsm_map_ms_ODB_GeneralData = -1;
1819 static gint ett_gsm_map_ms_ODB_HPLMN_Data = -1;
1820 static gint ett_gsm_map_ms_Ext_SS_InfoList = -1;
1821 static gint ett_gsm_map_ms_Ext_SS_Info = -1;
1822 static gint ett_gsm_map_ms_Ext_ForwInfo = -1;
1823 static gint ett_gsm_map_ms_Ext_ForwFeatureList = -1;
1824 static gint ett_gsm_map_ms_Ext_ForwFeature = -1;
1825 static gint ett_gsm_map_ms_Ext_CallBarInfo = -1;
1826 static gint ett_gsm_map_ms_Ext_CallBarFeatureList = -1;
1827 static gint ett_gsm_map_ms_Ext_CallBarringFeature = -1;
1828 static gint ett_gsm_map_ms_CUG_Info = -1;
1829 static gint ett_gsm_map_ms_CUG_SubscriptionList = -1;
1830 static gint ett_gsm_map_ms_CUG_Subscription = -1;
1831 static gint ett_gsm_map_ms_CUG_FeatureList = -1;
1832 static gint ett_gsm_map_ms_Ext_BasicServiceGroupList = -1;
1833 static gint ett_gsm_map_ms_CUG_Feature = -1;
1834 static gint ett_gsm_map_ms_Ext_SS_Data = -1;
1835 static gint ett_gsm_map_ms_LCS_PrivacyExceptionList = -1;
1836 static gint ett_gsm_map_ms_LCS_PrivacyClass = -1;
1837 static gint ett_gsm_map_ms_ExternalClientList = -1;
1838 static gint ett_gsm_map_ms_PLMNClientList = -1;
1839 static gint ett_gsm_map_ms_Ext_ExternalClientList = -1;
1840 static gint ett_gsm_map_ms_ExternalClient = -1;
1841 static gint ett_gsm_map_ms_ServiceTypeList = -1;
1842 static gint ett_gsm_map_ms_ServiceType = -1;
1843 static gint ett_gsm_map_ms_MOLR_List = -1;
1844 static gint ett_gsm_map_ms_MOLR_Class = -1;
1845 static gint ett_gsm_map_ms_ZoneCodeList = -1;
1846 static gint ett_gsm_map_ms_InsertSubscriberDataRes = -1;
1847 static gint ett_gsm_map_ms_DeleteSubscriberDataArg = -1;
1848 static gint ett_gsm_map_ms_SpecificCSI_Withdraw = -1;
1849 static gint ett_gsm_map_ms_GPRSSubscriptionDataWithdraw = -1;
1850 static gint ett_gsm_map_ms_EPS_SubscriptionDataWithdraw = -1;
1851 static gint ett_gsm_map_ms_ContextIdList = -1;
1852 static gint ett_gsm_map_ms_LSAInformationWithdraw = -1;
1853 static gint ett_gsm_map_ms_LSAIdentityList = -1;
1854 static gint ett_gsm_map_ms_BasicServiceList = -1;
1855 static gint ett_gsm_map_ms_DeleteSubscriberDataRes = -1;
1856 static gint ett_gsm_map_ms_VlrCamelSubscriptionInfo = -1;
1857 static gint ett_gsm_map_ms_MT_smsCAMELTDP_CriteriaList = -1;
1858 static gint ett_gsm_map_ms_MT_smsCAMELTDP_Criteria = -1;
1859 static gint ett_gsm_map_ms_TPDU_TypeCriterion = -1;
1860 static gint ett_gsm_map_ms_D_CSI = -1;
1861 static gint ett_gsm_map_ms_DP_AnalysedInfoCriteriaList = -1;
1862 static gint ett_gsm_map_ms_DP_AnalysedInfoCriterium = -1;
1863 static gint ett_gsm_map_ms_SS_CSI = -1;
1864 static gint ett_gsm_map_ms_SS_CamelData = -1;
1865 static gint ett_gsm_map_ms_SS_EventList = -1;
1866 static gint ett_gsm_map_ms_O_CSI = -1;
1867 static gint ett_gsm_map_ms_O_BcsmCamelTDPDataList = -1;
1868 static gint ett_gsm_map_ms_O_BcsmCamelTDPData = -1;
1869 static gint ett_gsm_map_ms_O_BcsmCamelTDPCriteriaList = -1;
1870 static gint ett_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList = -1;
1871 static gint ett_gsm_map_ms_O_BcsmCamelTDP_Criteria = -1;
1872 static gint ett_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria = -1;
1873 static gint ett_gsm_map_ms_DestinationNumberCriteria = -1;
1874 static gint ett_gsm_map_ms_DestinationNumberList = -1;
1875 static gint ett_gsm_map_ms_DestinationNumberLengthList = -1;
1876 static gint ett_gsm_map_ms_BasicServiceCriteria = -1;
1877 static gint ett_gsm_map_ms_O_CauseValueCriteria = -1;
1878 static gint ett_gsm_map_ms_T_CauseValueCriteria = -1;
1879 static gint ett_gsm_map_ms_SupportedCamelPhases = -1;
1880 static gint ett_gsm_map_ms_OfferedCamel4CSIs = -1;
1881 static gint ett_gsm_map_ms_OfferedCamel4Functionalities = -1;
1882 static gint ett_gsm_map_ms_SMS_CSI = -1;
1883 static gint ett_gsm_map_ms_SMS_CAMEL_TDP_DataList = -1;
1884 static gint ett_gsm_map_ms_SMS_CAMEL_TDP_Data = -1;
1885 static gint ett_gsm_map_ms_M_CSI = -1;
1886 static gint ett_gsm_map_ms_MG_CSI = -1;
1887 static gint ett_gsm_map_ms_MobilityTriggers = -1;
1888 static gint ett_gsm_map_ms_T_CSI = -1;
1889 static gint ett_gsm_map_ms_T_BcsmCamelTDPDataList = -1;
1890 static gint ett_gsm_map_ms_T_BcsmCamelTDPData = -1;
1891 static gint ett_gsm_map_ms_SendRoutingInfoForGprsArg = -1;
1892 static gint ett_gsm_map_ms_SendRoutingInfoForGprsRes = -1;
1893 static gint ett_gsm_map_ms_FailureReportArg = -1;
1894 static gint ett_gsm_map_ms_FailureReportRes = -1;
1895 static gint ett_gsm_map_ms_NoteMsPresentForGprsArg = -1;
1896 static gint ett_gsm_map_ms_NoteMsPresentForGprsRes = -1;
1897 static gint ett_gsm_map_ms_ResetArg = -1;
1898 static gint ett_gsm_map_ms_RestoreDataArg = -1;
1899 static gint ett_gsm_map_ms_RestoreDataRes = -1;
1900 static gint ett_gsm_map_ms_VBSDataList = -1;
1901 static gint ett_gsm_map_ms_VGCSDataList = -1;
1902 static gint ett_gsm_map_ms_VoiceGroupCallData = -1;
1903 static gint ett_gsm_map_ms_AdditionalSubscriptions = -1;
1904 static gint ett_gsm_map_ms_VoiceBroadcastData = -1;
1905 static gint ett_gsm_map_ms_ProvideSubscriberInfoArg = -1;
1906 static gint ett_gsm_map_ms_ProvideSubscriberInfoRes = -1;
1907 static gint ett_gsm_map_ms_SubscriberInfo = -1;
1908 static gint ett_gsm_map_ms_MNPInfoRes = -1;
1909 static gint ett_gsm_map_ms_GPRSMSClass = -1;
1910 static gint ett_gsm_map_ms_RequestedInfo = -1;
1911 static gint ett_gsm_map_ms_LocationInformation = -1;
1912 static gint ett_gsm_map_ms_LocationInformationEPS = -1;
1913 static gint ett_gsm_map_ms_LocationInformationGPRS = -1;
1914 static gint ett_gsm_map_ms_SubscriberState = -1;
1915 static gint ett_gsm_map_ms_PS_SubscriberState = -1;
1916 static gint ett_gsm_map_ms_PDP_ContextInfoList = -1;
1917 static gint ett_gsm_map_ms_PDP_ContextInfo = -1;
1918 static gint ett_gsm_map_ms_AnyTimeInterrogationArg = -1;
1919 static gint ett_gsm_map_ms_AnyTimeInterrogationRes = -1;
1920 static gint ett_gsm_map_ms_AnyTimeSubscriptionInterrogationArg = -1;
1921 static gint ett_gsm_map_ms_AnyTimeSubscriptionInterrogationRes = -1;
1922 static gint ett_gsm_map_ms_RequestedSubscriptionInfo = -1;
1923 static gint ett_gsm_map_ms_MSISDN_BS_List = -1;
1924 static gint ett_gsm_map_ms_MSISDN_BS = -1;
1925 static gint ett_gsm_map_ms_CallForwardingData = -1;
1926 static gint ett_gsm_map_ms_CallBarringData = -1;
1927 static gint ett_gsm_map_ms_ODB_Info = -1;
1928 static gint ett_gsm_map_ms_CAMEL_SubscriptionInfo = -1;
1929 static gint ett_gsm_map_ms_AnyTimeModificationArg = -1;
1930 static gint ett_gsm_map_ms_ServingNode = -1;
1931 static gint ett_gsm_map_ms_AnyTimeModificationRes = -1;
1932 static gint ett_gsm_map_ms_ModificationRequestFor_CF_Info = -1;
1933 static gint ett_gsm_map_ms_ModificationRequestFor_CB_Info = -1;
1934 static gint ett_gsm_map_ms_ModificationRequestFor_ODB_data = -1;
1935 static gint ett_gsm_map_ms_ModificationRequestFor_CSI = -1;
1936 static gint ett_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data = -1;
1937 static gint ett_gsm_map_ms_NoteSubscriberDataModifiedArg = -1;
1938 static gint ett_gsm_map_ms_NoteSubscriberDataModifiedRes = -1;
1939 static gint ett_gsm_map_ms_NoteMM_EventArg = -1;
1940 static gint ett_gsm_map_ms_NoteMM_EventRes = -1;
1941 static gint ett_gsm_map_ms_Ext_SS_InfoFor_CSE = -1;
1942 static gint ett_gsm_map_ms_Ext_ForwardingInfoFor_CSE = -1;
1943 static gint ett_gsm_map_ms_Ext_CallBarringInfoFor_CSE = -1;
1944
1945 /* --- Module MAP-CH-DataTypes --- --- ---                                    */
1946
1947 static gint ett_gsm_map_ch_CUG_CheckInfo = -1;
1948 static gint ett_gsm_map_ch_SendRoutingInfoArg = -1;
1949 static gint ett_gsm_map_ch_SuppressMTSS = -1;
1950 static gint ett_gsm_map_ch_SendRoutingInfoRes_U = -1;
1951 static gint ett_gsm_map_ch_AllowedServices = -1;
1952 static gint ett_gsm_map_ch_CCBS_Indicators = -1;
1953 static gint ett_gsm_map_ch_RoutingInfo = -1;
1954 static gint ett_gsm_map_ch_ForwardingData = -1;
1955 static gint ett_gsm_map_ch_ProvideRoamingNumberArg = -1;
1956 static gint ett_gsm_map_ch_ProvideRoamingNumberRes = -1;
1957 static gint ett_gsm_map_ch_ResumeCallHandlingArg = -1;
1958 static gint ett_gsm_map_ch_UU_Data = -1;
1959 static gint ett_gsm_map_ch_ResumeCallHandlingRes = -1;
1960 static gint ett_gsm_map_ch_CamelInfo = -1;
1961 static gint ett_gsm_map_ch_ExtendedRoutingInfo = -1;
1962 static gint ett_gsm_map_ch_CamelRoutingInfo = -1;
1963 static gint ett_gsm_map_ch_GmscCamelSubscriptionInfo = -1;
1964 static gint ett_gsm_map_ch_SetReportingStateArg = -1;
1965 static gint ett_gsm_map_ch_SetReportingStateRes = -1;
1966 static gint ett_gsm_map_ch_StatusReportArg = -1;
1967 static gint ett_gsm_map_ch_EventReportData = -1;
1968 static gint ett_gsm_map_ch_CallReportData = -1;
1969 static gint ett_gsm_map_ch_StatusReportRes = -1;
1970 static gint ett_gsm_map_ch_RemoteUserFreeArg = -1;
1971 static gint ett_gsm_map_ch_RemoteUserFreeRes = -1;
1972 static gint ett_gsm_map_ch_IST_AlertArg = -1;
1973 static gint ett_gsm_map_ch_IST_AlertRes = -1;
1974 static gint ett_gsm_map_ch_IST_CommandArg = -1;
1975 static gint ett_gsm_map_ch_IST_CommandRes = -1;
1976 static gint ett_gsm_map_ch_ReleaseResourcesArg = -1;
1977 static gint ett_gsm_map_ch_ReleaseResourcesRes = -1;
1978
1979 /* --- Module MAP-LCS-DataTypes --- --- ---                                   */
1980
1981 static gint ett_gsm_map_lcs_RoutingInfoForLCS_Arg = -1;
1982 static gint ett_gsm_map_lcs_RoutingInfoForLCS_Res = -1;
1983 static gint ett_gsm_map_lcs_LCSLocationInfo = -1;
1984 static gint ett_gsm_map_lcs_ProvideSubscriberLocation_Arg = -1;
1985 static gint ett_gsm_map_lcs_LocationType = -1;
1986 static gint ett_gsm_map_lcs_DeferredLocationEventType = -1;
1987 static gint ett_gsm_map_lcs_LCS_ClientID = -1;
1988 static gint ett_gsm_map_lcs_LCSClientName = -1;
1989 static gint ett_gsm_map_lcs_LCSRequestorID = -1;
1990 static gint ett_gsm_map_lcs_LCS_QoS = -1;
1991 static gint ett_gsm_map_lcs_ResponseTime = -1;
1992 static gint ett_gsm_map_lcs_SupportedGADShapes = -1;
1993 static gint ett_gsm_map_lcs_LCSCodeword = -1;
1994 static gint ett_gsm_map_lcs_LCS_PrivacyCheck = -1;
1995 static gint ett_gsm_map_lcs_AreaEventInfo = -1;
1996 static gint ett_gsm_map_lcs_AreaDefinition = -1;
1997 static gint ett_gsm_map_lcs_AreaList = -1;
1998 static gint ett_gsm_map_lcs_Area = -1;
1999 static gint ett_gsm_map_lcs_PeriodicLDRInfo = -1;
2000 static gint ett_gsm_map_lcs_ReportingPLMNList = -1;
2001 static gint ett_gsm_map_lcs_PLMNList = -1;
2002 static gint ett_gsm_map_lcs_ReportingPLMN = -1;
2003 static gint ett_gsm_map_lcs_ProvideSubscriberLocation_Res = -1;
2004 static gint ett_gsm_map_lcs_SubscriberLocationReport_Arg = -1;
2005 static gint ett_gsm_map_lcs_Deferredmt_lrData = -1;
2006 static gint ett_gsm_map_lcs_SubscriberLocationReport_Res = -1;
2007
2008 /* --- Module MAP-GR-DataTypes --- --- ---                                    */
2009
2010 static gint ett_gsm_map_gr_PrepareGroupCallArg = -1;
2011 static gint ett_gsm_map_gr_PrepareGroupCallRes = -1;
2012 static gint ett_gsm_map_gr_SendGroupCallEndSignalArg = -1;
2013 static gint ett_gsm_map_gr_SendGroupCallEndSignalRes = -1;
2014 static gint ett_gsm_map_gr_ForwardGroupCallSignallingArg = -1;
2015 static gint ett_gsm_map_gr_ProcessGroupCallSignallingArg = -1;
2016 static gint ett_gsm_map_gr_StateAttributes = -1;
2017 static gint ett_gsm_map_gr_SendGroupCallInfoArg = -1;
2018 static gint ett_gsm_map_gr_SendGroupCallInfoRes = -1;
2019
2020 /* --- Module MAP-DialogueInformation --- --- ---                             */
2021
2022 static gint ett_gsm_map_dialogue_MAP_DialoguePDU = -1;
2023 static gint ett_gsm_map_dialogue_MAP_OpenInfo = -1;
2024 static gint ett_gsm_map_dialogue_MAP_AcceptInfo = -1;
2025 static gint ett_gsm_map_dialogue_MAP_CloseInfo = -1;
2026 static gint ett_gsm_map_dialogue_MAP_RefuseInfo = -1;
2027 static gint ett_gsm_map_dialogue_MAP_UserAbortInfo = -1;
2028 static gint ett_gsm_map_dialogue_MAP_UserAbortChoice = -1;
2029 static gint ett_gsm_map_dialogue_MAP_ProviderAbortInfo = -1;
2030
2031 /* --- Module MAP-LocationServiceOperations --- --- ---                       */
2032
2033
2034 /* --- Module MAP-Group-Call-Operations --- --- ---                           */
2035
2036
2037 /* --- Module MAP-ShortMessageServiceOperations --- --- ---                   */
2038
2039
2040 /* --- Module MAP-SupplementaryServiceOperations --- --- ---                  */
2041
2042
2043 /* --- Module MAP-CallHandlingOperations --- --- ---                          */
2044
2045
2046 /* --- Module MAP-OperationAndMaintenanceOperations --- --- ---               */
2047
2048
2049 /* --- Module MAP-MobileServiceOperations --- --- ---                         */
2050
2051
2052 /* --- Module MAP-Errors --- --- ---                                          */
2053
2054
2055 /* --- Module MAP-Protocol --- --- ---                                        */
2056
2057
2058 /* --- Module DummyMAP --- --- ---                                            */
2059
2060 static gint ett_gsm_old_Component = -1;
2061 static gint ett_gsm_old_Invoke = -1;
2062 static gint ett_gsm_old_ReturnResult = -1;
2063 static gint ett_gsm_old_T_resultretres = -1;
2064 static gint ett_gsm_old_ReturnError = -1;
2065 static gint ett_gsm_old_Reject = -1;
2066 static gint ett_gsm_old_T_invokeIDRej = -1;
2067 static gint ett_gsm_old_T_problem = -1;
2068 static gint ett_gsm_old_MAP_OPERATION = -1;
2069 static gint ett_gsm_old_MAP_ERROR = -1;
2070 static gint ett_gsm_old_Bss_APDU = -1;
2071 static gint ett_gsm_old_ProvideSIWFSNumberArg = -1;
2072 static gint ett_gsm_old_ProvideSIWFSNumberRes = -1;
2073 static gint ett_gsm_old_PurgeMSArgV2 = -1;
2074 static gint ett_gsm_old_PrepareHO_ArgOld = -1;
2075 static gint ett_gsm_old_PrepareHO_ResOld = -1;
2076 static gint ett_gsm_old_SendAuthenticationInfoResOld = -1;
2077 static gint ett_gsm_old_SendAuthenticationInfoResOld_item = -1;
2078 static gint ett_gsm_old_SendIdentificationResV2 = -1;
2079 static gint ett_gsm_old_TripletListold = -1;
2080 static gint ett_gsm_old_AuthenticationTriplet_v2 = -1;
2081 static gint ett_gsm_old_SIWFSSignallingModifyArg = -1;
2082 static gint ett_gsm_old_SIWFSSignallingModifyRes = -1;
2083 static gint ett_gsm_old_SecureTransportArg = -1;
2084 static gint ett_gsm_old_SecureTransportErrorParam = -1;
2085 static gint ett_gsm_old_SecureTransportRes = -1;
2086 static gint ett_gsm_old_SecurityHeader = -1;
2087 static gint ett_gsm_old_OriginalComponentIdentifier = -1;
2088 static gint ett_gsm_old_OperationCode = -1;
2089 static gint ett_gsm_old_ErrorCode = -1;
2090 static gint ett_gsm_old_PlmnContainer_U = -1;
2091 static gint ett_gsm_old_T_operatorSS_Code = -1;
2092 static gint ett_gsm_old_ForwardSM_Arg = -1;
2093 static gint ett_gsm_old_SM_RP_DAold = -1;
2094 static gint ett_gsm_old_SM_RP_OAold = -1;
2095 static gint ett_gsm_old_SendRoutingInfoArgV2 = -1;
2096 static gint ett_gsm_old_SendRoutingInfoResV2 = -1;
2097 static gint ett_gsm_old_BeginSubscriberActivityArg = -1;
2098
2099 /* --- Module SS-DataTypes --- --- ---                                        */
2100
2101 static gint ett_gsm_ss_NotifySS_Arg = -1;
2102 static gint ett_gsm_ss_ForwardChargeAdviceArg = -1;
2103 static gint ett_gsm_ss_ChargingInformation = -1;
2104 static gint ett_gsm_ss_ForwardCUG_InfoArg = -1;
2105 static gint ett_gsm_ss_ECT_Indicator = -1;
2106 static gint ett_gsm_ss_NameIndicator = -1;
2107 static gint ett_gsm_ss_Name = -1;
2108 static gint ett_gsm_ss_NameSet = -1;
2109 static gint ett_gsm_ss_RDN = -1;
2110 static gint ett_gsm_ss_RemotePartyNumber = -1;
2111 static gint ett_gsm_ss_AccessRegisterCCEntryArg = -1;
2112 static gint ett_gsm_ss_CallDeflectionArg = -1;
2113 static gint ett_gsm_ss_UserUserServiceArg = -1;
2114 static gint ett_gsm_ss_LocationNotificationArg = -1;
2115 static gint ett_gsm_ss_LocationNotificationRes = -1;
2116 static gint ett_gsm_ss_LCS_MOLRArg = -1;
2117 static gint ett_gsm_ss_LCS_MOLRRes = -1;
2118 static gint ett_gsm_ss_LCS_AreaEventRequestArg = -1;
2119 static gint ett_gsm_ss_LCS_AreaEventReportArg = -1;
2120 static gint ett_gsm_ss_LCS_AreaEventCancellationArg = -1;
2121 static gint ett_gsm_ss_LCS_PeriodicLocationRequestArg = -1;
2122 static gint ett_gsm_ss_LCS_PeriodicLocationRequestRes = -1;
2123 static gint ett_gsm_ss_LCS_LocationUpdateArg = -1;
2124 static gint ett_gsm_ss_LCS_LocationUpdateRes = -1;
2125 static gint ett_gsm_ss_LCS_PeriodicLocationCancellationArg = -1;
2126
2127 /* --- Module SS-Operations --- --- ---                                       */
2128
2129
2130 /*--- End of included file: packet-gsm_map-ett.c ---*/
2131 #line 171 "packet-gsm_map-template.c"
2132
2133 static dissector_table_t        sms_dissector_table;    /* SMS TPDU */
2134 static dissector_handle_t       data_handle;
2135 static dissector_handle_t       ranap_handle;
2136 static dissector_handle_t       dtap_handle;
2137 static dissector_handle_t       map_handle;
2138
2139 /* Preferenc settings default */
2140 #define MAX_SSN 254
2141 static range_t *global_ssn_range;
2142
2143 /* Global variables */
2144 static guint32 opcode=0;
2145 static guint32 errorCode;
2146 static proto_tree *top_tree;
2147 static int application_context_version;
2148 static guint ProtocolId;
2149 static guint AccessNetworkProtocolId;
2150 static const char *obj_id = NULL;
2151 static int gsm_map_tap = -1;
2152
2153 #define SMS_ENCODING_NOT_SET    0
2154 #define SMS_ENCODING_7BIT               1
2155 #define SMS_ENCODING_8BIT               2
2156 #define SMS_ENCODING_UCS2               3
2157 #define SMS_ENCODING_7BIT_LANG  4
2158 #define SMS_ENCODING_UCS2_LANG  5
2159
2160 static guint8 sms_encoding;
2161
2162 /* Forward declarations */
2163 static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
2164 static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
2165 static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
2166 const gchar* gsm_map_opr_code(guint32 val);
2167
2168 /* Value strings */
2169
2170 const value_string gsm_map_PDP_Type_Organisation_vals[] = {
2171   {  0, "ETSI" },
2172   {  1, "IETF" },
2173   { 0, NULL }
2174 };
2175
2176 const value_string gsm_map_ietf_defined_pdp_vals[] = {
2177   {  0x21, "IPv4 Address" },
2178   {  0x57, "IPv6 Address" },
2179   { 0, NULL }
2180 };
2181
2182 const value_string gsm_map_etsi_defined_pdp_vals[] = {
2183   {  1, "PPP" },
2184   { 0, NULL }
2185 };
2186
2187 static const value_string gsm_map_tag_vals[] = {
2188   {  0x4, "Bearer Capability" },
2189   { 0, NULL }
2190 };
2191
2192 static const value_string gsm_map_disc_par_vals[] = {
2193   {  0, "Not Transparent" },
2194   {  1, "Transparent" },
2195   { 0, NULL }
2196 };
2197
2198 char *
2199 unpack_digits(tvbuff_t *tvb, int offset) {
2200
2201         int length;
2202         guint8 octet;
2203         int i=0;
2204         char *digit_str;
2205
2206         length = tvb_length(tvb);
2207         if (length < offset)
2208                 return "";
2209         digit_str = ep_alloc((length - offset)*2+1);
2210
2211         while ( offset < length ){
2212
2213                 octet = tvb_get_guint8(tvb,offset);
2214                 digit_str[i] = ((octet & 0x0f) + '0');
2215                 i++;
2216
2217                 /*
2218                  * unpack second value in byte
2219                  */
2220                 octet = octet >> 4;
2221
2222                 if (octet == 0x0f)      /* odd number bytes - hit filler */
2223                         break;
2224
2225                 digit_str[i] = ((octet & 0x0f) + '0');
2226                 i++;
2227                 offset++;
2228
2229         }
2230         digit_str[i]= '\0';
2231         return digit_str;
2232 }
2233
2234 /* returns value in kb/s */
2235 static guint
2236 gsm_map_calc_bitrate(guint8 value){
2237
2238         guint8 granularity;
2239         guint returnvalue;
2240
2241         if (value == 0xff)
2242                 return 0;
2243
2244         granularity = value >> 6;
2245         returnvalue = value & 0x7f;
2246         switch (granularity){
2247         case 0:
2248                 break;
2249         case 1:
2250                 returnvalue = ((returnvalue - 0x40) << 3)+64;
2251                 break;
2252         case 2:
2253                 returnvalue = (returnvalue << 6)+576;
2254                 break;
2255         case 3:
2256                 returnvalue = (returnvalue << 6)+576;
2257                 break;
2258         }
2259         return returnvalue;
2260
2261 }
2262
2263 static void
2264 dissect_gsm_map_ext_qos_subscribed(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx){
2265         int offset = 0;
2266     proto_tree *subtree;
2267         guint8 octet;
2268         guint16 value;
2269
2270         subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ext_qos_subscribed);
2271         /*  OCTET 1:
2272                 Allocation/Retention Priority (This octet encodes each priority level defined in
2273                 23.107 as the binary value of the priority level, declaration in 29.060)
2274                 Octets 2-9 are coded according to 3GPP TS 24.008[35] Quality of Service Octets
2275                 6-13.
2276          */
2277         /* Allocation/Retention Priority */
2278         proto_tree_add_item(subtree, hf_gsm_map_ext_qos_subscribed_pri, tvb, offset, 1, FALSE);
2279         offset++;
2280
2281         /* Quality of Service Octets 6-13.( Octet 2 - 9 Here) */
2282
2283         /* Traffic class, octet 6 (see 3GPP TS 23.107) Bits 8 7 6 */
2284         proto_tree_add_item(subtree, hf_gsm_map_qos_traffic_cls, tvb, offset, 1, FALSE);
2285         /* Delivery order, octet 6 (see 3GPP TS 23.107) Bits 5 4 */
2286         proto_tree_add_item(subtree, hf_gsm_map_qos_del_order, tvb, offset, 1, FALSE);
2287         /* Delivery of erroneous SDUs, octet 6 (see 3GPP TS 23.107) Bits 3 2 1 */
2288         proto_tree_add_item(subtree, hf_gsm_map_qos_del_of_err_sdu, tvb, offset, 1, FALSE);
2289         offset++;
2290
2291         /* Maximum SDU size, octet 7 (see 3GPP TS 23.107) */
2292         octet = tvb_get_guint8(tvb,offset);
2293         switch (octet){
2294         case 0:
2295                 proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Maximum SDU size/Reserved");
2296                 break;
2297         case 0x93:
2298                 value = 1502;
2299                 proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
2300                 break;
2301         case 0x98:
2302                 value = 1510;
2303                 proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
2304                 break;
2305         case 0x99:
2306                 value = 1532;
2307                 proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
2308                 break;
2309         default:
2310                 if (octet<0x97){
2311                         value = octet * 10;
2312                         proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
2313                 }else{
2314                         proto_tree_add_text(subtree, tvb, offset, 1, "Maximum SDU size value 0x%x not defined in TS 24.008",octet);
2315                 }
2316         }
2317         offset++;
2318
2319         /* Maximum bit rate for uplink, octet 8 */
2320         octet = tvb_get_guint8(tvb,offset);
2321         if (octet == 0 ){
2322                 proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Maximum bit rate for uplink/Reserved"  );
2323         }else{
2324                 proto_tree_add_uint(subtree, hf_gsm_map_max_brate_ulink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
2325         }
2326         offset++;
2327         /* Maximum bit rate for downlink, octet 9 (see 3GPP TS 23.107) */
2328         octet = tvb_get_guint8(tvb,offset);
2329         if (octet == 0 ){
2330                 proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Maximum bit rate for downlink/Reserved"  );
2331         }else{
2332                 proto_tree_add_uint(subtree, hf_gsm_map_max_brate_dlink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
2333         }
2334         offset++;
2335         /* Residual Bit Error Rate (BER), octet 10 (see 3GPP TS 23.107) Bits 8 7 6 5 */
2336         proto_tree_add_item(subtree, hf_gsm_map_qos_ber, tvb, offset, 1, FALSE);
2337         /* SDU error ratio, octet 10 (see 3GPP TS 23.107) */
2338         proto_tree_add_item(subtree, hf_gsm_map_qos_sdu_err_rat, tvb, offset, 1, FALSE);
2339         offset++;
2340
2341         /* Transfer delay, octet 11 (See 3GPP TS 23.107) Bits 8 7 6 5 4 3 */
2342         proto_tree_add_item(subtree, hf_gsm_map_qos_transfer_delay, tvb, offset, 1, FALSE);
2343         /* Traffic handling priority, octet 11 (see 3GPP TS 23.107) Bits 2 1 */
2344         proto_tree_add_item(subtree, hf_gsm_map_qos_traff_hdl_pri, tvb, offset, 1, FALSE);
2345         offset++;
2346
2347         /*      Guaranteed bit rate for uplink, octet 12 (See 3GPP TS 23.107)
2348                 Coding is identical to that of Maximum bit rate for uplink.
2349          */
2350         octet = tvb_get_guint8(tvb,offset);
2351         if (octet == 0 ){
2352                 proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Guaranteed bit rate for uplink/Reserved"  );
2353         }else{
2354                 proto_tree_add_uint(subtree, hf_gsm_map_guaranteed_max_brate_ulink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
2355         }
2356         offset++;
2357
2358         /*      Guaranteed bit rate for downlink, octet 13(See 3GPP TS 23.107)
2359                 Coding is identical to that of Maximum bit rate for uplink.
2360          */
2361         octet = tvb_get_guint8(tvb,offset);
2362         if (octet == 0 ){
2363                 proto_tree_add_text(subtree, tvb, offset, 1, "Subscribed Guaranteed bit rate for downlink/Reserved"  );
2364         }else{
2365                 proto_tree_add_uint(subtree, hf_gsm_map_guaranteed_max_brate_dlink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
2366         }
2367
2368 }
2369
2370 #define  ELLIPSOID_POINT 0
2371 #define  ELLIPSOID_POINT_WITH_UNCERT_CIRC 1
2372 #define  ELLIPSOID_POINT_WITH_UNCERT_ELLIPSE 3
2373 #define  POLYGON 5
2374 #define  ELLIPSOID_POINT_WITH_ALT 8
2375 #define  ELLIPSOID_POINT_WITH_ALT_AND_UNCERT_ELLIPSOID 9
2376 #define  ELLIPSOID_ARC 10
2377 /*
2378 4 3 2 1
2379 0 0 0 0 Ellipsoid Point
2380 0 0 0 1 Ellipsoid point with uncertainty Circle
2381 0 0 1 1 Ellipsoid point with uncertainty Ellipse
2382 0 1 0 1 Polygon
2383 1 0 0 0 Ellipsoid point with altitude
2384 1 0 0 1 Ellipsoid point with altitude and uncertainty Ellipsoid
2385 1 0 1 0 Ellipsoid Arc
2386 other values reserved for future use
2387 */
2388
2389 /* TS 23 032 Table 2a: Coding of Type of Shape */
2390 static const value_string type_of_shape_vals[] = {
2391         { ELLIPSOID_POINT,              "Ellipsoid Point"},
2392         { ELLIPSOID_POINT_WITH_UNCERT_CIRC,             "Ellipsoid point with uncertainty Circle"},
2393         { ELLIPSOID_POINT_WITH_UNCERT_ELLIPSE,          "Ellipsoid point with uncertainty Ellipse"},
2394         { POLYGON,              "Polygon"},
2395         { ELLIPSOID_POINT_WITH_ALT,             "Ellipsoid point with altitude"},
2396         { ELLIPSOID_POINT_WITH_ALT_AND_UNCERT_ELLIPSOID,                "Ellipsoid point with altitude and uncertainty Ellipsoid"},
2397         { ELLIPSOID_ARC,                "Ellipsoid Arc"},
2398         { 0,    NULL }
2399 };
2400
2401 /* 3GPP TS 23.032 7.3.1 */
2402 static const value_string sign_of_latitude_vals[] = {
2403         { 0,            "North"},
2404         { 1,            "South"},
2405         { 0,    NULL }
2406 };
2407
2408 static const value_string dir_of_alt_vals[] = {
2409         { 0,            "Altitude expresses height"},
2410         { 1,            "Altitude expresses depth"},
2411         { 0,    NULL }
2412 };
2413
2414 static const value_string gsm_map_cbs_data_coding_scheme_coding_grp_vals[] = {
2415         { 0, "Coding Group 0(Language using the GSM 7 bit default alphabet)" },
2416         { 1, "Coding Group 1" },
2417         { 2, "Coding Group 2" },
2418         { 3, "Coding Group 3" },
2419         { 4, "General Data Coding indication" },
2420         { 5, "General Data Coding indication" },
2421         { 6, "General Data Coding indication" },
2422         { 7, "General Data Coding indication" },
2423         { 8, "Reserved" },
2424         { 9, "Message with User Data Header (UDH) structure" },
2425         { 10,"Reserved" },
2426         { 11,"Reserved" },
2427         { 12,"Reserved" },
2428         { 13,"Reserved" },
2429         { 14,"Defined by the WAP Forum" },
2430         { 15,"Data coding / message handling" },
2431         { 0, NULL}
2432 };
2433 /* Coding group 0
2434  * Bits 3..0 indicate the language:
2435  */
2436 static const value_string gsm_map_cbs_coding_grp0_lang_vals[] = {
2437         { 0, "German"},
2438         { 1, "English"},
2439         { 2, "Italian"},
2440         { 3, "French"},
2441         { 4, "Spanish"},
2442         { 5, "Dutch"},
2443         { 6, "Swedish"},
2444         { 7, "Danish"},
2445         { 8, "Portuguese"},
2446         { 9, "Finnish"},
2447         { 10, "Norwegian"},
2448         { 11, "Greek"},
2449         { 12, "Turkish"},
2450         { 13, "Hungarian"},
2451         { 14, "Polish"},
2452         { 15, "Language unspecified"},
2453         { 0,    NULL }
2454 };
2455
2456 static const value_string gsm_map_cbs_coding_grp1_lang_vals[] = {
2457         { 0, "GSM 7 bit default alphabet; message preceded by language indication"},
2458         { 1, "UCS2; message preceded by language indication"},
2459         { 2, "Reserved"},
2460         { 3, "Reserved"},
2461         { 4, "Reserved"},
2462         { 5, "Reserved"},
2463         { 6, "Reserved"},
2464         { 7, "Reserved"},
2465         { 8, "Reserved"},
2466         { 9, "Reserved"},
2467         { 10, "Reserved"},
2468         { 11, "Reserved"},
2469         { 12, "Reserved"},
2470         { 13, "Reserved"},
2471         { 14, "Reserved"},
2472         { 15, "Reserved"},
2473         { 0,    NULL }
2474 };
2475 static const value_string gsm_map_cbs_coding_grp2_lang_vals[] = {
2476         { 0, "Czech"},
2477         { 1, "Hebrew"},
2478         { 2, "Arabic"},
2479         { 3, "Russian"},
2480         { 4, "Icelandic"},
2481         { 5, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2482         { 6, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2483         { 7, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2484         { 8, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2485         { 9, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2486         { 10, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2487         { 11, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2488         { 12, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2489         { 13, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2490         { 14, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2491         { 15, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2492         { 0,    NULL }
2493 };
2494 static const value_string gsm_map_cbs_coding_grp3_lang_vals[] = {
2495         { 0, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2496         { 1, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2497         { 2, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2498         { 3, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2499         { 4, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2500         { 5, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2501         { 6, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2502         { 7, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2503         { 8, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2504         { 9, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2505         { 10, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2506         { 11, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2507         { 12, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2508         { 13, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2509         { 14, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2510         { 15, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
2511         { 0,    NULL }
2512 };
2513
2514 static const true_false_string gsm_map_cbs_coding_grp4_7_comp_vals = {
2515   "The text is compressed using the compression algorithm defined in 3GPP TS 23.042",
2516   "The text is uncompressed"
2517 };
2518
2519 static const true_false_string gsm_map_cbs_coding_grp4_7_class_ind_vals = {
2520   "Bits 1 to 0 have a message class meaning",
2521   "Bits 1 to 0 are reserved and have no message class meaning"
2522 };
2523
2524 /* Bits 3 and 2 indicate the character set being used, as follows: */
2525
2526 static const value_string gsm_map_cbs_coding_grp4_7_char_set_vals[] = {
2527         { 0, "GSM 7 bit default alphabet"},
2528         { 1, "8 bit data"},
2529         { 2, "UCS2 (16 bit)"},
2530         { 3, "Reserved"},
2531         { 0,    NULL }
2532 };
2533
2534 static const value_string gsm_map_cbs_coding_grp4_7_class_vals[] = {
2535         { 0, "Class 0"},
2536         { 1, "Class 1 Default meaning: ME-specific"},
2537         { 2, "Class 2 (U)SIM specific message"},
2538         { 3, "Class 3 Default meaning: TE-specific (see 3GPP TS 27.005"},
2539         { 0,    NULL }
2540 };
2541
2542 static const value_string gsm_map_cbs_coding_grp15_mess_code_vals[] = {
2543         { 0, "GSM 7 bit default alphabet"},
2544         { 1, "8 bit data"},
2545         { 0,    NULL }
2546 };
2547
2548 static const value_string gsm_map_cbs_coding_grp15_class_vals[] = {
2549         { 0, "GSM 7 bit default alphabet"},
2550         { 1, "8 bit data"},
2551         { 0,    NULL }
2552 };
2553
2554
2555 /* 3GPP TS 23.038 version 7.0.0 Release 7 */
2556 guint8
2557 dissect_cbs_data_coding_scheme(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
2558 {
2559         guint8 octet;
2560         guint8 coding_grp;
2561         guint8 character_set;
2562
2563         octet = tvb_get_guint8(tvb,0);
2564         coding_grp = octet >>4;
2565         proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp, tvb, 0, 1, FALSE);
2566
2567         sms_encoding = SMS_ENCODING_NOT_SET;
2568         switch (coding_grp){
2569         case 0:
2570                 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp0_lang, tvb, 0, 1, FALSE);
2571                 sms_encoding = SMS_ENCODING_7BIT;
2572                 break;
2573         case 1:
2574                 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp1_lang, tvb, 0, 1, FALSE);
2575                 if ((octet & 0x0f)== 0){
2576                         sms_encoding = SMS_ENCODING_7BIT_LANG;
2577                 }else{
2578                         sms_encoding = SMS_ENCODING_UCS2_LANG;
2579                 }
2580                 break;
2581         case 2:
2582                 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp2_lang, tvb, 0, 1, FALSE);
2583                 sms_encoding = SMS_ENCODING_7BIT;
2584                 break;
2585         case 3:
2586                 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp3_lang, tvb, 0, 1, FALSE);
2587                 sms_encoding = SMS_ENCODING_7BIT;
2588                 break;
2589                 /* Coding_grp 01xx */
2590         case 4:
2591         case 5:
2592         case 6:
2593         case 7:
2594                 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_comp, tvb, 0, 1, FALSE);
2595                 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class_ind, tvb, 0, 1, FALSE);
2596                 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_char_set, tvb, 0, 1, FALSE);
2597                 if ((octet & 0x10)== 0x10){
2598                         proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class, tvb, 0, 1, FALSE);
2599                 }
2600                 /* Bits 3 and 2 indicate the character set being used, */
2601                 character_set = (octet&0x0c)>>2;
2602                 switch (character_set){
2603                 case 0:
2604                         /* GSM 7 bit default alphabet */
2605                         sms_encoding = SMS_ENCODING_7BIT;
2606                         break;
2607                 case 1:
2608                         /* 8 bit data */
2609                         sms_encoding = SMS_ENCODING_8BIT;
2610                         break;
2611                 case 2:
2612                         /* UCS2 (16 bit) */
2613                         sms_encoding = SMS_ENCODING_UCS2;
2614                         break;
2615                 case 3:
2616                         /* Reserved */
2617                         sms_encoding = SMS_ENCODING_NOT_SET;
2618                         break;
2619                 default:
2620                         break;
2621                 }
2622                 break;
2623         case 8:
2624                 /* Reserved coding groups */
2625                 break;
2626         case 9:
2627                 /* Message with User Data Header (UDH) structure:*/
2628                 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_char_set, tvb, 0, 1, FALSE);
2629                 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class, tvb, 0, 1, FALSE);
2630                 character_set = (octet&0x0c)>>2;
2631                 switch (character_set){
2632                 case 0:
2633                         /* GSM 7 bit default alphabet */
2634                         sms_encoding = SMS_ENCODING_7BIT;
2635                         break;
2636                 case 1:
2637                         /* 8 bit data */
2638                         sms_encoding = SMS_ENCODING_8BIT;
2639                         break;
2640                 case 2:
2641                         /* UCS2 (16 bit) */
2642                         sms_encoding = SMS_ENCODING_UCS2;
2643                         break;
2644                 case 3:
2645                         /* Reserved */
2646                         sms_encoding = SMS_ENCODING_NOT_SET;
2647                         break;
2648                 default:
2649                         break;
2650                 }
2651                 break;
2652         case 10:
2653         case 11:
2654         case 12:
2655         case 13:
2656                 /* 1010..1101 Reserved coding groups */
2657                 break;
2658         case 14:
2659                 /* Defined by the WAP Forum
2660                  * "Wireless Datagram Protocol Specification", Wireless Application Protocol Forum Ltd.
2661                  */
2662                 break;
2663         case 15:
2664                 /* Data coding / message handling */
2665                 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp15_mess_code, tvb, 0, 1, FALSE);
2666                 proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp15_class, tvb, 0, 1, FALSE);
2667                 character_set = (octet&0x04)>>2;
2668                 if (character_set == 0){
2669                         sms_encoding = SMS_ENCODING_7BIT;
2670                 }else{
2671                         sms_encoding = SMS_ENCODING_8BIT;
2672                 }
2673                 break;
2674         default:
2675                 break;
2676         }
2677
2678         return sms_encoding;
2679 }
2680 void
2681 dissect_gsm_map_msisdn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
2682 {
2683  char           *digit_str;
2684  guint8         octet;
2685  guint8         na;
2686  guint8         np;
2687
2688  proto_tree_add_item(tree, hf_gsm_map_extension, tvb, 0,1,FALSE);
2689  proto_tree_add_item(tree, hf_gsm_map_nature_of_number, tvb, 0,1,FALSE);
2690  proto_tree_add_item(tree, hf_gsm_map_number_plan, tvb, 0,1,FALSE);
2691
2692  digit_str = unpack_digits(tvb, 1);
2693
2694  proto_tree_add_string(tree, hf_gsm_map_address_digits, tvb, 1, -1, digit_str);
2695
2696  octet = tvb_get_guint8(tvb,0);
2697  na = (octet & 0x70)>>4;
2698  np = octet & 0x0f;
2699  if ((na == 1) && (np==1))/*International Number & E164*/
2700         dissect_e164_cc(tvb, tree, 1, TRUE);
2701  else if(np==6)
2702         dissect_e212_mcc_mnc(tvb, pinfo, tree, 1);
2703
2704 }
2705
2706
2707 /*--- Included file: packet-gsm_map-fn.c ---*/
2708 #line 1 "packet-gsm_map-fn.c"
2709
2710 /* --- Module MAP-SS-Code --- --- ---                                         */
2711
2712
2713
2714 int
2715 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_) {
2716   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2717                                        NULL);
2718
2719   return offset;
2720 }
2721
2722
2723 /* --- Module MAP-BS-Code --- --- ---                                         */
2724
2725
2726
2727 static int
2728 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_) {
2729   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2730                                        NULL);
2731
2732   return offset;
2733 }
2734
2735
2736
2737 static int
2738 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_) {
2739   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2740                                        NULL);
2741
2742   return offset;
2743 }
2744
2745
2746 /* --- Module MAP-TS-Code --- --- ---                                         */
2747
2748
2749
2750 static int
2751 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_) {
2752   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2753                                        NULL);
2754
2755   return offset;
2756 }
2757
2758
2759
2760 static int
2761 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_) {
2762   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2763                                        NULL);
2764
2765   return offset;
2766 }
2767
2768
2769 /* --- Module MAP-ExtensionDataTypes --- --- ---                              */
2770
2771
2772
2773 static int
2774 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_) {
2775   offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &obj_id);
2776
2777   return offset;
2778 }
2779
2780
2781
2782 static int
2783 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_) {
2784 #line 172 "gsm_map.cnf"
2785   proto_tree_add_text(tree, tvb, offset, -1, "Extension Data");
2786   if (obj_id){
2787          offset=call_ber_oid_callback(obj_id, tvb, offset, actx->pinfo, tree);
2788   }else{
2789          call_dissector(data_handle, tvb, actx->pinfo, tree);
2790          offset = tvb_length_remaining(tvb,offset);
2791   }     
2792
2793
2794
2795   return offset;
2796 }
2797
2798
2799 static const ber_sequence_t gsm_map_PrivateExtension_sequence[] = {
2800   { &hf_gsm_map_extId       , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_map_T_extId },
2801   { &hf_gsm_map_extType     , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_T_extType },
2802   { NULL, 0, 0, 0, NULL }
2803 };
2804
2805 static int
2806 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_) {
2807   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2808                                    gsm_map_PrivateExtension_sequence, hf_index, ett_gsm_map_PrivateExtension);
2809
2810   return offset;
2811 }
2812
2813
2814 static const ber_sequence_t gsm_map_PrivateExtensionList_sequence_of[1] = {
2815   { &hf_gsm_map_PrivateExtensionList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_PrivateExtension },
2816 };
2817
2818 static int
2819 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_) {
2820   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2821                                       gsm_map_PrivateExtensionList_sequence_of, hf_index, ett_gsm_map_PrivateExtensionList);
2822
2823   return offset;
2824 }
2825
2826
2827 static const ber_sequence_t gsm_map_PCS_Extensions_sequence[] = {
2828   { NULL, 0, 0, 0, NULL }
2829 };
2830
2831 static int
2832 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_) {
2833   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2834                                    gsm_map_PCS_Extensions_sequence, hf_index, ett_gsm_map_PCS_Extensions);
2835
2836   return offset;
2837 }
2838
2839
2840 static const ber_sequence_t gsm_map_ExtensionContainer_sequence[] = {
2841   { &hf_gsm_map_privateExtensionList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PrivateExtensionList },
2842   { &hf_gsm_map_pcs_Extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PCS_Extensions },
2843   { NULL, 0, 0, 0, NULL }
2844 };
2845
2846 int
2847 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_) {
2848   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2849                                    gsm_map_ExtensionContainer_sequence, hf_index, ett_gsm_map_ExtensionContainer);
2850
2851   return offset;
2852 }
2853
2854
2855
2856 static int
2857 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_) {
2858   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
2859
2860   return offset;
2861 }
2862
2863
2864 static const ber_sequence_t gsm_map_SLR_Arg_PCS_Extensions_sequence[] = {
2865   { &hf_gsm_map_na_ESRK_Request, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NULL },
2866   { NULL, 0, 0, 0, NULL }
2867 };
2868
2869 static int
2870 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_) {
2871   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2872                                    gsm_map_SLR_Arg_PCS_Extensions_sequence, hf_index, ett_gsm_map_SLR_Arg_PCS_Extensions);
2873
2874   return offset;
2875 }
2876
2877
2878 static const ber_sequence_t gsm_map_SLR_ArgExtensionContainer_sequence[] = {
2879   { &hf_gsm_map_privateExtensionList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PrivateExtensionList },
2880   { &hf_gsm_map_slr_Arg_PCS_Extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SLR_Arg_PCS_Extensions },
2881   { NULL, 0, 0, 0, NULL }
2882 };
2883
2884 static int
2885 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_) {
2886   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2887                                    gsm_map_SLR_ArgExtensionContainer_sequence, hf_index, ett_gsm_map_SLR_ArgExtensionContainer);
2888
2889   return offset;
2890 }
2891
2892
2893 /* --- Module MAP-CommonDataTypes --- --- ---                                 */
2894
2895
2896
2897 static int
2898 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_) {
2899 #line 198 "gsm_map.cnf"
2900  tvbuff_t       *parameter_tvb;
2901  char           *digit_str;
2902
2903    offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2904                                        &parameter_tvb);
2905
2906
2907  if (!parameter_tvb)
2908         return offset;
2909
2910  digit_str = unpack_digits(parameter_tvb, 0);
2911  proto_tree_add_string(tree, hf_gsm_map_TBCD_digits, parameter_tvb, 0, -1, digit_str);
2912
2913
2914
2915   return offset;
2916 }
2917
2918
2919
2920 int
2921 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_) {
2922 #line 185 "gsm_map.cnf"
2923
2924  tvbuff_t       *parameter_tvb;
2925  proto_tree *subtree;
2926
2927   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2928                                        &parameter_tvb);
2929
2930
2931  if (!parameter_tvb)
2932         return offset;
2933
2934  subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_isdn_address_string);
2935  dissect_gsm_map_msisdn(parameter_tvb, actx->pinfo , subtree);
2936
2937
2938
2939   return offset;
2940 }
2941
2942
2943
2944 int
2945 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_) {
2946   offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
2947
2948   return offset;
2949 }
2950
2951
2952
2953 static int
2954 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_) {
2955   offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
2956
2957   return offset;
2958 }
2959
2960
2961
2962 int
2963 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_) {
2964   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2965                                        NULL);
2966
2967   return offset;
2968 }
2969
2970
2971 static const value_string gsm_map_ProtocolId_vals[] = {
2972   {   1, "gsm-0408" },
2973   {   2, "gsm-0806" },
2974   {   3, "gsm-BSSMAP" },
2975   {   4, "ets-300102-1" },
2976   { 0, NULL }
2977 };
2978
2979
2980 static int
2981 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_) {
2982   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2983                                   &ProtocolId);
2984
2985   return offset;
2986 }
2987
2988
2989
2990 static int
2991 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_) {
2992 #line 279 "gsm_map.cnf"
2993  tvbuff_t       *parameter_tvb;
2994
2995    offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
2996                                        &parameter_tvb);
2997
2998         actx->value_ptr = parameter_tvb;
2999
3000
3001
3002
3003   return offset;
3004 }
3005
3006
3007 static const ber_sequence_t gsm_map_ExternalSignalInfo_sequence[] = {
3008   { &hf_gsm_map_protocolId  , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ProtocolId },
3009   { &hf_gsm_map_signalInfo  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
3010   { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
3011   { NULL, 0, 0, 0, NULL }
3012 };
3013
3014 static int
3015 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_) {
3016 #line 701 "gsm_map.cnf"
3017 /*
3018 -- Information about the internal structure is given in
3019 -- clause 7.6.9.
3020 7.6.9.4 External Signal Information
3021 This parameter contains concatenated information elements (including tag and length) which are defined by a common
3022 protocol version, preceded by the associated protocol ID. It is used to transport information of the indicated protocol via
3023 MAP interfaces
3024 */
3025  guint8         octet;
3026  guint8         length;
3027  tvbuff_t       *next_tvb;
3028  proto_tree *subtree;
3029  
3030  ProtocolId = 0xffffffff;
3031   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3032                                    gsm_map_ExternalSignalInfo_sequence, hf_index, ett_gsm_map_ExternalSignalInfo);
3033  
3034 if (!actx->value_ptr)
3035         return offset;
3036  subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_externalsignalinfo);
3037  switch (ProtocolId){
3038         case 1:
3039         /* gsm-0408 */
3040                 /* As per comment abowe Individual IE:(s) will be found here in TLV format
3041                  * Unfortunatly a branch for each IE must be made to call the apropriate
3042                  * function
3043                  */
3044                  /* Get tag */
3045                  octet = tvb_get_guint8(actx->value_ptr,0);
3046                  proto_tree_add_item(subtree, hf_gsm_map_ie_tag, actx->value_ptr, 0,1,FALSE);
3047                  /* get length */
3048                  length = tvb_get_guint8(actx->value_ptr,1);
3049                  proto_tree_add_item(subtree, hf_gsm_map_len, actx->value_ptr, 1,1,FALSE);
3050                  /* Branch on tag */
3051                  switch(octet){
3052                  case 4:
3053                         /* Dissect the data part */                     
3054                         de_bearer_cap(actx->value_ptr, subtree, 2, length, NULL, 0);
3055                         /* TODO: There may be more than one IE */
3056                         break;
3057                  default:
3058                         proto_tree_add_text(subtree, actx->value_ptr, 0, length, "If you want this decoded send the packet to Wireshark-dev");
3059                         break;
3060                 }/* switch(octet) */
3061                 break;
3062         case 2:
3063                 /* gsm-0806 */
3064                 octet = tvb_get_guint8(actx->value_ptr,0);
3065                 /* Discrimination parameter */
3066                 proto_tree_add_item(subtree, hf_gsm_map_disc_par, actx->value_ptr, 0,1,FALSE);
3067                 if ( octet == 0) {/* DISCRIMINATION TS 48 006(GSM 08.06 version 5.3.0) */
3068                         /* Strip off discrimination and length */
3069                         proto_tree_add_item(subtree, hf_gsm_map_len, actx->value_ptr, 1,1,FALSE);
3070                         next_tvb = tvb_new_subset_remaining(actx->value_ptr, 2);
3071                         dissect_bssmap(next_tvb, actx->pinfo, subtree);
3072                 }else if(octet==1){
3073                         proto_tree_add_item(subtree, hf_gsm_map_dlci, actx->value_ptr, 1,1,FALSE);
3074                         proto_tree_add_item(subtree, hf_gsm_map_len, actx->value_ptr, 2,1,FALSE);
3075                         next_tvb = tvb_new_subset_remaining(actx->value_ptr, 3);
3076                         call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree); 
3077                 }       
3078                 break;
3079         case 3:
3080         /* gsm-BSSMAP TODO Is it correct to stripp off two first octets here?*/
3081                 octet = tvb_get_guint8(actx->value_ptr,0);
3082                 length = tvb_get_guint8(actx->value_ptr,1);
3083                 if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
3084                         next_tvb = tvb_new_subset_remaining(actx->value_ptr, 2);
3085                         dissect_bssmap(next_tvb, actx->pinfo, subtree);
3086                 }
3087                 break;
3088         /* ets-300102-1 (~Q.931 ) */
3089         case 4:
3090                 octet = tvb_get_guint8(actx->value_ptr,0);
3091                 length = tvb_get_guint8(actx->value_ptr,1);
3092                 if ( octet == 4 )
3093                         dissect_q931_bearer_capability_ie(actx->value_ptr, 2, length, subtree);
3094                 break;
3095         default:
3096                 break;
3097         }/*switch (ProtocolId)*/
3098
3099
3100
3101   return offset;
3102 }
3103
3104
3105 static const value_string gsm_map_Ext_ProtocolId_vals[] = {
3106   {   1, "ets-300356" },
3107   { 0, NULL }
3108 };
3109
3110
3111 static int
3112 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_) {
3113   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3114                                   NULL);
3115
3116   return offset;
3117 }
3118
3119
3120 static const ber_sequence_t gsm_map_Ext_ExternalSignalInfo_sequence[] = {
3121   { &hf_gsm_map_ext_ProtocolId, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_ProtocolId },
3122   { &hf_gsm_map_signalInfo  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
3123   { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
3124   { NULL, 0, 0, 0, NULL }
3125 };
3126
3127 static int
3128 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_) {
3129   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3130                                    gsm_map_Ext_ExternalSignalInfo_sequence, hf_index, ett_gsm_map_Ext_ExternalSignalInfo);
3131
3132   return offset;
3133 }
3134
3135
3136 static const value_string gsm_map_AccessNetworkProtocolId_vals[] = {
3137   {   1, "ts3G-48006" },
3138   {   2, "ts3G-25413" },
3139   { 0, NULL }
3140 };
3141
3142
3143 static int
3144 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_) {
3145   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3146                                   &AccessNetworkProtocolId);
3147
3148   return offset;
3149 }
3150
3151
3152
3153 static int
3154 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_) {
3155 #line 217 "gsm_map.cnf"
3156
3157  tvbuff_t       *parameter_tvb;
3158  guint8         octet;
3159  guint8         length;
3160  tvbuff_t       *next_tvb;
3161  proto_tree *subtree;
3162
3163
3164   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3165                                        &parameter_tvb);
3166
3167
3168  if (!parameter_tvb)
3169         return offset;
3170
3171  subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LongSignalInfo); 
3172
3173  switch (AccessNetworkProtocolId){
3174         /* ts3G-48006 */
3175         case 1:
3176                 octet = tvb_get_guint8(parameter_tvb,0);
3177                 /* Discrimination parameter */
3178                 proto_tree_add_item(subtree, hf_gsm_map_disc_par, parameter_tvb, 0,1,FALSE);
3179                 if ( octet == 0) {/* DISCRIMINATION TS 48 006(GSM 08.06 version 5.3.0) */
3180                         /* Strip off discrimination and length */
3181                         length = tvb_get_guint8(parameter_tvb,0);
3182                         proto_tree_add_item(subtree, hf_gsm_map_len, parameter_tvb, 1,1,FALSE);
3183                         next_tvb = tvb_new_subset_remaining(parameter_tvb, 2);
3184                         dissect_bssmap(next_tvb, actx->pinfo, subtree);
3185                 }else if(octet==1){
3186                         proto_tree_add_item(subtree, hf_gsm_map_dlci, parameter_tvb, 1,1,FALSE);
3187                         proto_tree_add_item(subtree, hf_gsm_map_len, parameter_tvb, 2,1,FALSE);
3188                         length = tvb_get_guint8(parameter_tvb,0);
3189                         next_tvb = tvb_new_subset_remaining(parameter_tvb, 3);
3190                         call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree); 
3191                 }       
3192                 break;
3193         /* ts3G-25413 */
3194         case 2:
3195                 call_dissector(ranap_handle, parameter_tvb, actx->pinfo, tree); 
3196                 break;
3197         default:
3198                 break;
3199
3200  }
3201
3202
3203   return offset;
3204 }
3205
3206
3207 static const ber_sequence_t gsm_map_AccessNetworkSignalInfo_sequence[] = {
3208   { &hf_gsm_map_accessNetworkProtocolId, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkProtocolId },
3209   { &hf_gsm_map_signalInfo_01, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LongSignalInfo },
3210   { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
3211   { NULL, 0, 0, 0, NULL }
3212 };
3213
3214 static int
3215 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_) {
3216   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3217                                    gsm_map_AccessNetworkSignalInfo_sequence, hf_index, ett_gsm_map_AccessNetworkSignalInfo);
3218
3219   return offset;
3220 }
3221
3222
3223
3224 int
3225 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_) {
3226   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3227                                        NULL);
3228
3229   return offset;
3230 }
3231
3232
3233
3234 int
3235 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_) {
3236 #line 525 "gsm_map.cnf"
3237
3238         tvbuff_t        *parameter_tvb;
3239         guint8          octet;
3240         proto_tree *subtree;
3241
3242   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3243                                        &parameter_tvb);
3244
3245
3246         if (!parameter_tvb)
3247                 return offset;
3248         subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_pdptypenumber);
3249
3250         octet = tvb_get_guint8(parameter_tvb,0);
3251         switch(octet){
3252         case 0x04: /* IPv4 */
3253                 proto_tree_add_item(subtree, hf_gsm_map_GSNAddress_IPv4, parameter_tvb, 1, tvb_length_remaining(parameter_tvb, 1), FALSE);
3254                 break;
3255         case 0x50: /* IPv4 */
3256                 proto_tree_add_item(subtree, hf_gsm_map_GSNAddress_IPv4, parameter_tvb, 1, tvb_length_remaining(parameter_tvb, 1), FALSE);
3257                 break;
3258         default:
3259                 break;
3260         }
3261
3262
3263
3264   return offset;
3265 }
3266
3267
3268
3269 int
3270 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_) {
3271   offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
3272
3273   return offset;
3274 }
3275
3276
3277
3278 static int
3279 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_) {
3280   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3281                                        NULL);
3282
3283   return offset;
3284 }
3285
3286
3287 static const ber_sequence_t gsm_map_IMSI_WithLMSI_sequence[] = {
3288   { &hf_gsm_map_imsi        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
3289   { &hf_gsm_map_lmsi        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LMSI },
3290   { NULL, 0, 0, 0, NULL }
3291 };
3292
3293 static int
3294 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_) {
3295   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3296                                    gsm_map_IMSI_WithLMSI_sequence, hf_index, ett_gsm_map_IMSI_WithLMSI);
3297
3298   return offset;
3299 }
3300
3301
3302 static const value_string gsm_map_Identity_vals[] = {
3303   {   0, "imsi" },
3304   {   1, "imsi-WithLMSI" },
3305   { 0, NULL }
3306 };
3307
3308 static const ber_choice_t gsm_map_Identity_choice[] = {
3309   {   0, &hf_gsm_map_imsi        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
3310   {   1, &hf_gsm_map_imsi_WithLMSI, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI_WithLMSI },
3311   { 0, NULL, 0, 0, 0, NULL }
3312 };
3313
3314 static int
3315 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_) {
3316   offset = dissect_ber_choice(actx, tree, tvb, offset,
3317                                  gsm_map_Identity_choice, hf_index, ett_gsm_map_Identity,
3318                                  NULL);
3319
3320   return offset;
3321 }
3322
3323
3324
3325 static int
3326 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_) {
3327   offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
3328
3329   return offset;
3330 }
3331
3332
3333
3334 static int
3335 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_) {
3336   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3337                                        NULL);
3338
3339   return offset;
3340 }
3341
3342
3343
3344 int
3345 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_) {
3346   offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
3347
3348   return offset;
3349 }
3350
3351
3352
3353 static int
3354 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_) {
3355   offset = dissect_gsm_map_IMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
3356
3357   return offset;
3358 }
3359
3360
3361 static const ber_sequence_t gsm_map_HLR_List_sequence_of[1] = {
3362   { &hf_gsm_map_HLR_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_HLR_Id },
3363 };
3364
3365 static int
3366 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_) {
3367   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3368                                       gsm_map_HLR_List_sequence_of, hf_index, ett_gsm_map_HLR_List);
3369
3370   return offset;
3371 }
3372
3373
3374
3375 int
3376 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_) {
3377 #line 782 "gsm_map.cnf"
3378     tvbuff_t    *parameter_tvb; 
3379         proto_tree      *subtree;
3380
3381   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3382                                        &parameter_tvb);
3383  
3384
3385         if (!parameter_tvb) 
3386                 return offset; 
3387
3388     subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GlobalCellId); 
3389         be_cell_id_aux(parameter_tvb, subtree, 0, tvb_length_remaining(tvb,0), NULL, 0, 0);
3390
3391
3392
3393   return offset;
3394 }
3395
3396
3397 static const value_string gsm_map_NetworkResource_vals[] = {
3398   {   0, "plmn" },
3399   {   1, "hlr" },
3400   {   2, "vlr" },
3401   {   3, "pvlr" },
3402   {   4, "controllingMSC" },
3403   {   5, "vmsc" },
3404   {   6, "eir" },
3405   {   7, "rss" },
3406   { 0, NULL }
3407 };
3408
3409
3410 static int
3411 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_) {
3412   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3413                                   NULL);
3414
3415   return offset;
3416 }
3417
3418
3419 static const value_string gsm_map_AdditionalNetworkResource_vals[] = {
3420   {   0, "sgsn" },
3421   {   1, "ggsn" },
3422   {   2, "gmlc" },
3423   {   3, "gsmSCF" },
3424   {   4, "nplr" },
3425   {   5, "auc" },
3426   {   6, "ue" },
3427   {   7, "mme" },
3428   { 0, NULL }
3429 };
3430
3431
3432 static int
3433 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_) {
3434   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3435                                   NULL);
3436
3437   return offset;
3438 }
3439
3440
3441
3442 static int
3443 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_) {
3444   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3445                                        NULL);
3446
3447   return offset;
3448 }
3449
3450
3451 static const ber_sequence_t gsm_map_NAEA_PreferredCI_sequence[] = {
3452   { &hf_gsm_map_naea_PreferredCIC, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_NAEA_CIC },
3453   { &hf_gsm_map_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
3454   { NULL, 0, 0, 0, NULL }
3455 };
3456
3457 static int
3458 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_) {
3459   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3460                                    gsm_map_NAEA_PreferredCI_sequence, hf_index, ett_gsm_map_NAEA_PreferredCI);
3461
3462   return offset;
3463 }
3464
3465
3466 static const value_string gsm_map_SubscriberIdentity_vals[] = {
3467   {   0, "imsi" },
3468   {   1, "msisdn" },
3469   { 0, NULL }
3470 };
3471
3472 static const ber_choice_t gsm_map_SubscriberIdentity_choice[] = {
3473   {   0, &hf_gsm_map_imsi        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
3474   {   1, &hf_gsm_map_msisdn      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
3475   { 0, NULL, 0, 0, 0, NULL }
3476 };
3477
3478 static int
3479 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_) {
3480   offset = dissect_ber_choice(actx, tree, tvb, offset,
3481                                  gsm_map_SubscriberIdentity_choice, hf_index, ett_gsm_map_SubscriberIdentity,
3482                                  NULL);
3483
3484   return offset;
3485 }
3486
3487
3488 static const ber_sequence_t gsm_map_LCSClientExternalID_sequence[] = {
3489   { &hf_gsm_map_externalAddress, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
3490   { &hf_gsm_map_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
3491   { NULL, 0, 0, 0, NULL }
3492 };
3493
3494 int
3495 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_) {
3496   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3497                                    gsm_map_LCSClientExternalID_sequence, hf_index, ett_gsm_map_LCSClientExternalID);
3498
3499   return offset;
3500 }
3501
3502
3503 static const value_string gsm_map_LCSClientInternalID_vals[] = {
3504   {   0, "broadcastService" },
3505   {   1, "o-andM-HPLMN" },
3506   {   2, "o-andM-VPLMN" },
3507   {   3, "anonymousLocation" },
3508   {   4, "targetMSsubscribedService" },
3509   { 0, NULL }
3510 };
3511
3512
3513 static int
3514 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_) {
3515   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3516                                   NULL);
3517
3518   return offset;
3519 }
3520
3521
3522 const value_string gsm_map_LCSServiceTypeID_vals[] = {
3523   {   0, "emergencyServices" },
3524   {   1, "emergencyAlertServices" },
3525   {   2, "personTracking" },
3526   {   3, "fleetManagement" },
3527   {   4, "assetManagement" },
3528   {   5, "trafficCongestionReporting" },
3529   {   6, "roadsideAssistance" },
3530   {   7, "routingToNearestCommercialEnterprise" },
3531   {   8, "navigation" },
3532   {   9, "citySightseeing" },
3533   {  10, "localizedAdvertising" },
3534   {  11, "mobileYellowPages" },
3535   {  12, "trafficAndPublicTransportationInfo" },
3536   {  13, "weather" },
3537   {  14, "assetAndServiceFinding" },
3538   {  15, "gaming" },
3539   {  16, "findYourFriend" },
3540   {  17, "dating" },
3541   {  18, "chatting" },
3542   {  19, "routeFinding" },
3543   {  20, "whereAmI" },
3544   {  64, "serv64" },
3545   {  65, "serv65" },
3546   {  66, "serv66" },
3547   {  67, "serv67" },
3548   {  68, "serv68" },
3549   {  69, "serv69" },
3550   {  70, "serv70" },
3551   {  71, "serv71" },
3552   {  72, "serv72" },
3553   {  73, "serv73" },
3554   {  74, "serv74" },
3555   {  75, "serv75" },
3556   {  76, "serv76" },
3557   {  77, "serv77" },
3558   {  78, "serv78" },
3559   {  79, "serv79" },
3560   {  80, "serv80" },
3561   {  81, "serv81" },
3562   {  82, "serv82" },
3563   {  83, "serv83" },
3564  &