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