1 /* Do not modify this file. Changes will be overwritten.                      */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
3 /* packet-gsm_map.c                                                           */
4 /* asn2wrs.py -b -c ./gsm_map.cnf -s ./packet-gsm_map-template -D . -O ../.. ../ros/Remote-Operations-Information-Objects.asn MobileDomainDefinitions.asn MAP-ApplicationContexts.asn MAP-SS-Code.asn MAP-BS-Code.asn MAP-TS-Code.asn MAP-ExtensionDataTypes.asn MAP-CommonDataTypes.asn MAP-SS-DataTypes.asn MAP-ER-DataTypes.asn MAP-SM-DataTypes.asn MAP-OM-DataTypes.asn MAP-MS-DataTypes.asn MAP-CH-DataTypes.asn MAP-LCS-DataTypes.asn MAP-GR-DataTypes.asn MAP-DialogueInformation.asn MAP-LocationServiceOperations.asn MAP-Group-Call-Operations.asn MAP-ShortMessageServiceOperations.asn MAP-SupplementaryServiceOperations.asn MAP-CallHandlingOperations.asn MAP-OperationAndMaintenanceOperations.asn MAP-MobileServiceOperations.asn MAP-Errors.asn MAP-Protocol.asn GSMMAP.asn SS-DataTypes.asn SS-Operations.asn Ericsson.asn Nokia.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  * Wireshark - Network traffic analyzer
29  * By Gerald Combs <gerald@wireshark.org>
30  * Copyright 1998 Gerald Combs
31  *
32  * SPDX-License-Identifier: GPL-2.0-or-later
33  * References GSM MAP:
34  * ETSI TS 129 002
35  * Updated to ETSI TS 129 002 V7.5.0 (3GPP TS 29.002 V7.5.0 (2006-09) Release 7)
36  * Updated to ETSI TS 129 002 V8.4.0 (3GPP TS 29.002 V8.1.0 (2007-06) Release 8)
37  * References GSM SS
38  * References: 3GPP TS 24.080
39  */
40 
41 #include "config.h"
42 
43 #include <stdlib.h>
44 
45 #include <epan/packet.h>
46 #include <epan/prefs.h>
47 #include <epan/stat_tap_ui.h>
48 #include <epan/tap.h>
49 #include <epan/oids.h>
50 #include <epan/expert.h>
51 #include <epan/proto_data.h>
52 #include <epan/conversation.h>
53 #include <wsutil/strtoi.h>
54 
55 #include <epan/asn1.h>
56 #include "packet-ber.h"
57 #include "packet-per.h"
58 #include "packet-q931.h"
59 #include "packet-gsm_map.h"
60 #include "packet-gsm_a_common.h"
61 #include "packet-tcap.h"
62 #include "packet-e164.h"
63 #include "packet-e212.h"
64 #include "packet-smpp.h"
65 #include "packet-gsm_sms.h"
66 #include "packet-ranap.h"
67 #include "packet-isup.h"
68 
69 #define PNAME  "GSM Mobile Application"
70 #define PSNAME "GSM_MAP"
71 #define PFNAME "gsm_map"
72 
73 void proto_register_gsm_map(void);
74 void proto_reg_handoff_gsm_map(void);
75 
76 /* Initialize the protocol and registered fields */
77 static int proto_gsm_map = -1;
78 static int proto_gsm_map_dialogue = -1;
79 static int proto_gsm_map_ms = -1;
80 
81 static int hf_gsm_map_old_Component_PDU = -1;
82 static int hf_gsm_map_getPassword = -1;
83 static int hf_gsm_map_currentPassword = -1;
84 static int hf_gsm_map_extension = -1;
85 static int hf_gsm_map_nature_of_number = -1;
86 static int hf_gsm_map_number_plan = -1;
87 static int hf_gsm_map_address_digits = -1;
88 static int hf_gsm_map_TBCD_digits = -1;
89 static int hf_gsm_map_Ss_Status_unused = -1;
90 static int hf_gsm_map_Ss_Status_q_bit = -1;
91 static int hf_gsm_map_Ss_Status_p_bit = -1;
92 static int hf_gsm_map_Ss_Status_r_bit = -1;
93 static int hf_gsm_map_Ss_Status_a_bit = -1;
94 static int hf_gsm_map_notification_to_forwarding_party = -1;
95 static int hf_gsm_map_redirecting_presentation = -1;
96 static int hf_gsm_map_notification_to_calling_party = -1;
97 static int hf_gsm_map_forwarding_reason = -1;
98 static int hf_gsm_map_pdp_type_org = -1;
99 static int hf_gsm_map_etsi_pdp_type_number = -1;
100 static int hf_gsm_map_ietf_pdp_type_number = -1;
101 static int hf_gsm_map_ext_qos_subscribed_pri = -1;
102 
103 static int hf_gsm_map_qos_traffic_cls = -1;
104 static int hf_gsm_map_qos_del_order = -1;
105 static int hf_gsm_map_qos_del_of_err_sdu = -1;
106 static int hf_gsm_map_qos_ber = -1;
107 static int hf_gsm_map_qos_sdu_err_rat = -1;
108 static int hf_gsm_map_qos_traff_hdl_pri = -1;
109 static int hf_gsm_map_qos_max_sdu = -1;
110 static int hf_gsm_map_max_brate_ulink = -1;
111 static int hf_gsm_map_max_brate_dlink = -1;
112 static int hf_gsm_map_qos_transfer_delay = -1;
113 static int hf_gsm_map_guaranteed_max_brate_ulink = -1;
114 static int hf_gsm_map_guaranteed_max_brate_dlink = -1;
115 static int hf_gsm_map_GSNAddress_IPv4 = -1;
116 static int hf_gsm_map_GSNAddress_IPv6 = -1;
117 static int hf_gsm_map_ranap_service_Handover = -1;
118 static int hf_gsm_map_IntegrityProtectionInformation = -1;
119 static int hf_gsm_map_EncryptionInformation = -1;
120 static int hf_gsm_map_ss_SS_UserData = -1;
121 static int hf_gsm_map_cbs_coding_grp = -1;
122 static int hf_gsm_map_cbs_coding_grp0_lang = -1;
123 static int hf_gsm_map_cbs_coding_grp1_lang = -1;
124 static int hf_gsm_map_cbs_coding_grp2_lang = -1;
125 static int hf_gsm_map_cbs_coding_grp3_lang = -1;
126 static int hf_gsm_map_cbs_coding_grp4_7_comp = -1;
127 static int hf_gsm_map_cbs_coding_grp4_7_class_ind = -1;
128 static int hf_gsm_map_cbs_coding_grp4_7_char_set = -1;
129 static int hf_gsm_map_cbs_coding_grp4_7_class = -1;
130 static int hf_gsm_map_cbs_coding_grp15_mess_code = -1;
131 static int hf_gsm_map_cbs_coding_grp15_class = -1;
132 static int hf_gsm_map_tmsi = -1;
133 static int hf_gsm_map_ie_tag = -1;
134 static int hf_gsm_map_len = -1;
135 static int hf_gsm_map_disc_par = -1;
136 static int hf_gsm_map_dlci = -1;
137 static int hf_gsm_apn_str = -1;
138 static int hf_gsm_map_ericsson_locationInformation_rat = -1;
139 static int hf_gsm_map_ericsson_locationInformation_lac = -1;
140 static int hf_gsm_map_ericsson_locationInformation_ci = -1;
141 static int hf_gsm_map_ericsson_locationInformation_sac = -1;
142 static int hf_gsm_map_ussd_string = -1;
143 static int hf_gsm_map_spare_bits = -1;
144 static int hf_gsm_map_qos_signalling_ind = -1;
145 static int hf_gsm_map_qos_source_stat_desc = - 1;
146 static int hf_gsm_map_qos_max_bitrate_upl_ext = -1;
147 static int hf_gsm_map_qos_max_bitrate_downl_ext = -1;
148 static int hf_gsm_map_qos_guar_bitrate_upl_ext = -1;
149 static int hf_gsm_map_qos_guar_bitrate_downl_ext = -1;
150 /*
151 static int hf_gsm_map_qos_max_bitrate_upl_ext2 = -1;
152 static int hf_gsm_map_qos_max_bitrate_downl_ext2 = -1;
153 static int hf_gsm_map_qos_guar_bitrate_upl_ext2 = -1;
154 static int hf_gsm_map_qos_guar_bitrate_downl_ext2 = -1;
155 */
156 static int hf_gsm_map_earp_pci = -1;
157 static int hf_gsm_map_earp_pl = -1;
158 static int hf_gsm_map_earp_pvi = -1;
159 
160 
161 /*--- Included file: packet-gsm_map-hf.c ---*/
162 #line 1 "./asn1/gsm_map/packet-gsm_map-hf.c"
163 
164 /* --- Module MAP-ExtensionDataTypes --- --- ---                              */
165 
166 static int hf_gsm_map_privateExtensionList = -1;  /* PrivateExtensionList */
167 static int hf_gsm_map_pcs_Extensions = -1;        /* PCS_Extensions */
168 static int hf_gsm_map_slr_Arg_PCS_Extensions = -1;  /* SLR_Arg_PCS_Extensions */
169 static int hf_gsm_map_PrivateExtensionList_item = -1;  /* PrivateExtension */
170 static int hf_gsm_map_extId = -1;                 /* T_extId */
171 static int hf_gsm_map_extType = -1;               /* T_extType */
172 static int hf_gsm_map_na_ESRK_Request = -1;       /* NULL */
173 
174 /* --- Module MAP-CommonDataTypes --- --- ---                                 */
175 
176 static int hf_gsm_map_gsm_map_ISDN_AddressString_PDU = -1;  /* ISDN_AddressString */
177 static int hf_gsm_map_protocolId = -1;            /* ProtocolId */
178 static int hf_gsm_map_signalInfo = -1;            /* SignalInfo */
179 static int hf_gsm_map_extensionContainer = -1;    /* ExtensionContainer */
180 static int hf_gsm_map_ext_ProtocolId = -1;        /* Ext_ProtocolId */
181 static int hf_gsm_map_accessNetworkProtocolId = -1;  /* AccessNetworkProtocolId */
182 static int hf_gsm_map_signalInfo_01 = -1;         /* LongSignalInfo */
183 static int hf_gsm_map_imsi = -1;                  /* IMSI */
184 static int hf_gsm_map_imsi_WithLMSI = -1;         /* IMSI_WithLMSI */
185 static int hf_gsm_map_lmsi = -1;                  /* LMSI */
186 static int hf_gsm_map_HLR_List_item = -1;         /* HLR_Id */
187 static int hf_gsm_map_naea_PreferredCIC = -1;     /* NAEA_CIC */
188 static int hf_gsm_map_msisdn = -1;                /* ISDN_AddressString */
189 static int hf_gsm_map_externalAddress = -1;       /* ISDN_AddressString */
190 static int hf_gsm_map_diameter_Name = -1;         /* DiameterIdentity */
191 static int hf_gsm_map_diameter_Realm = -1;        /* DiameterIdentity */
192 static int hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength = -1;  /* CellGlobalIdOrServiceAreaIdFixedLength */
193 static int hf_gsm_map_laiFixedLength = -1;        /* LAIFixedLength */
194 static int hf_gsm_map_bearerService = -1;         /* BearerServiceCode */
195 static int hf_gsm_map_teleservice = -1;           /* TeleserviceCode */
196 static int hf_gsm_map_ext_BearerService = -1;     /* Ext_BearerServiceCode */
197 static int hf_gsm_map_ext_Teleservice = -1;       /* Ext_TeleserviceCode */
198 static int hf_gsm_map_maximumentitledPriority = -1;  /* EMLPP_Priority */
199 static int hf_gsm_map_defaultPriority = -1;       /* EMLPP_Priority */
200 static int hf_gsm_map_ss_Code = -1;               /* SS_Code */
201 static int hf_gsm_map_ss_Status = -1;             /* Ext_SS_Status */
202 static int hf_gsm_map_nbrSB = -1;                 /* MaxMC_Bearers */
203 static int hf_gsm_map_nbrUser = -1;               /* MC_Bearers */
204 
205 /* --- Module MAP-SS-DataTypes --- --- ---                                    */
206 
207 static int hf_gsm_map_ss_ss_Code = -1;            /* SS_Code */
208 static int hf_gsm_map_ss_basicService = -1;       /* BasicServiceCode */
209 static int hf_gsm_map_ss_forwardedToNumber = -1;  /* AddressString */
210 static int hf_gsm_map_ss_forwardedToSubaddress = -1;  /* ISDN_SubaddressString */
211 static int hf_gsm_map_ss_noReplyConditionTime = -1;  /* NoReplyConditionTime */
212 static int hf_gsm_map_ss_defaultPriority = -1;    /* EMLPP_Priority */
213 static int hf_gsm_map_ss_nbrUser = -1;            /* MC_Bearers */
214 static int hf_gsm_map_ss_longFTN_Supported = -1;  /* NULL */
215 static int hf_gsm_map_ss_forwardingInfo = -1;     /* ForwardingInfo */
216 static int hf_gsm_map_ss_callBarringInfo = -1;    /* CallBarringInfo */
217 static int hf_gsm_map_ss_ss_Data = -1;            /* SS_Data */
218 static int hf_gsm_map_ss_forwardingFeatureList = -1;  /* ForwardingFeatureList */
219 static int hf_gsm_map_ss_ForwardingFeatureList_item = -1;  /* ForwardingFeature */
220 static int hf_gsm_map_ss_ss_Status = -1;          /* SS_Status */
221 static int hf_gsm_map_ss_forwardedToNumber_01 = -1;  /* ISDN_AddressString */
222 static int hf_gsm_map_ss_forwardingOptions = -1;  /* ForwardingOptions */
223 static int hf_gsm_map_ss_longForwardedToNumber = -1;  /* FTN_AddressString */
224 static int hf_gsm_map_ss_callBarringFeatureList = -1;  /* CallBarringFeatureList */
225 static int hf_gsm_map_ss_CallBarringFeatureList_item = -1;  /* CallBarringFeature */
226 static int hf_gsm_map_ss_ss_SubscriptionOption = -1;  /* SS_SubscriptionOption */
227 static int hf_gsm_map_ss_basicServiceGroupList = -1;  /* BasicServiceGroupList */
228 static int hf_gsm_map_ss_cliRestrictionOption = -1;  /* CliRestrictionOption */
229 static int hf_gsm_map_ss_overrideCategory = -1;   /* OverrideCategory */
230 static int hf_gsm_map_ss_maximumEntitledPriority = -1;  /* EMLPP_Priority */
231 static int hf_gsm_map_ss_ccbs_FeatureList = -1;   /* CCBS_FeatureList */
232 static int hf_gsm_map_ss_nbrSB = -1;              /* MaxMC_Bearers */
233 static int hf_gsm_map_ss_nbrSN = -1;              /* MC_Bearers */
234 static int hf_gsm_map_ss_CCBS_FeatureList_item = -1;  /* CCBS_Feature */
235 static int hf_gsm_map_ss_ccbs_Index = -1;         /* CCBS_Index */
236 static int hf_gsm_map_ss_b_subscriberNumber = -1;  /* ISDN_AddressString */
237 static int hf_gsm_map_ss_b_subscriberSubaddress = -1;  /* ISDN_SubaddressString */
238 static int hf_gsm_map_ss_basicServiceGroup = -1;  /* BasicServiceCode */
239 static int hf_gsm_map_ss_genericServiceInfo = -1;  /* GenericServiceInfo */
240 static int hf_gsm_map_ss_ussd_DataCodingScheme = -1;  /* USSD_DataCodingScheme */
241 static int hf_gsm_map_ss_ussd_String = -1;        /* USSD_String */
242 static int hf_gsm_map_ss_alertingPattern = -1;    /* AlertingPattern */
243 static int hf_gsm_map_ss_msisdn = -1;             /* ISDN_AddressString */
244 static int hf_gsm_map_ss_SS_List_item = -1;       /* SS_Code */
245 static int hf_gsm_map_ss_BasicServiceGroupList_item = -1;  /* BasicServiceCode */
246 static int hf_gsm_map_ss_imsi = -1;               /* IMSI */
247 static int hf_gsm_map_ss_ss_Event = -1;           /* SS_Code */
248 static int hf_gsm_map_ss_ss_EventSpecification = -1;  /* SS_EventSpecification */
249 static int hf_gsm_map_ss_extensionContainer = -1;  /* ExtensionContainer */
250 static int hf_gsm_map_ss_ccbs_RequestState = -1;  /* CCBS_RequestState */
251 static int hf_gsm_map_ss_SS_EventSpecification_item = -1;  /* AddressString */
252 static int hf_gsm_map_ss_ccbs_Data = -1;          /* CCBS_Data */
253 static int hf_gsm_map_ss_ccbs_Feature = -1;       /* CCBS_Feature */
254 static int hf_gsm_map_ss_translatedB_Number = -1;  /* ISDN_AddressString */
255 static int hf_gsm_map_ss_serviceIndicator = -1;   /* ServiceIndicator */
256 static int hf_gsm_map_ss_callInfo = -1;           /* ExternalSignalInfo */
257 static int hf_gsm_map_ss_networkSignalInfo = -1;  /* ExternalSignalInfo */
258 /* named bits */
259 static int hf_gsm_map_ss_ServiceIndicator_clir_invoked = -1;
260 static int hf_gsm_map_ss_ServiceIndicator_camel_invoked = -1;
261 
262 /* --- Module MAP-ER-DataTypes --- --- ---                                    */
263 
264 static int hf_gsm_map_er_roamingNotAllowedCause = -1;  /* RoamingNotAllowedCause */
265 static int hf_gsm_map_er_extensionContainer = -1;  /* ExtensionContainer */
266 static int hf_gsm_map_er_additionalRoamingNotAllowedCause = -1;  /* AdditionalRoamingNotAllowedCause */
267 static int hf_gsm_map_er_callBarringCause = -1;   /* CallBarringCause */
268 static int hf_gsm_map_er_extensibleCallBarredParam = -1;  /* ExtensibleCallBarredParam */
269 static int hf_gsm_map_er_unauthorisedMessageOriginator = -1;  /* NULL */
270 static int hf_gsm_map_er_anonymousCallRejection = -1;  /* NULL */
271 static int hf_gsm_map_er_cug_RejectCause = -1;    /* CUG_RejectCause */
272 static int hf_gsm_map_er_ss_Code = -1;            /* SS_Code */
273 static int hf_gsm_map_er_basicService = -1;       /* BasicServiceCode */
274 static int hf_gsm_map_er_ss_Status = -1;          /* SS_Status */
275 static int hf_gsm_map_er_sm_EnumeratedDeliveryFailureCause = -1;  /* SM_EnumeratedDeliveryFailureCause */
276 static int hf_gsm_map_er_diagnosticInfo = -1;     /* SignalInfo */
277 static int hf_gsm_map_er_absentSubscriberDiagnosticSM = -1;  /* AbsentSubscriberDiagnosticSM */
278 static int hf_gsm_map_er_additionalAbsentSubscriberDiagnosticSM = -1;  /* AbsentSubscriberDiagnosticSM */
279 static int hf_gsm_map_er_imsi = -1;               /* IMSI */
280 static int hf_gsm_map_er_requestedRetransmissionTime = -1;  /* Time */
281 static int hf_gsm_map_er_userIdentifierAlert = -1;  /* IMSI */
282 static int hf_gsm_map_er_networkResource = -1;    /* NetworkResource */
283 static int hf_gsm_map_er_extensibleSystemFailureParam = -1;  /* ExtensibleSystemFailureParam */
284 static int hf_gsm_map_er_additionalNetworkResource = -1;  /* AdditionalNetworkResource */
285 static int hf_gsm_map_er_failureCauseParam = -1;  /* FailureCauseParam */
286 static int hf_gsm_map_er_unexpectedSubscriber = -1;  /* NULL */
287 static int hf_gsm_map_er_shapeOfLocationEstimateNotSupported = -1;  /* NULL */
288 static int hf_gsm_map_er_neededLcsCapabilityNotSupportedInServingNode = -1;  /* NULL */
289 static int hf_gsm_map_er_unknownSubscriberDiagnostic = -1;  /* UnknownSubscriberDiagnostic */
290 static int hf_gsm_map_er_absentSubscriberReason = -1;  /* AbsentSubscriberReason */
291 static int hf_gsm_map_er_ccbs_Possible = -1;      /* NULL */
292 static int hf_gsm_map_er_ccbs_Busy = -1;          /* NULL */
293 static int hf_gsm_map_er_gprsConnectionSuspended = -1;  /* NULL */
294 static int hf_gsm_map_er_unauthorizedLCSClient_Diagnostic = -1;  /* UnauthorizedLCSClient_Diagnostic */
295 static int hf_gsm_map_er_positionMethodFailure_Diagnostic = -1;  /* PositionMethodFailure_Diagnostic */
296 
297 /* --- Module MAP-SM-DataTypes --- --- ---                                    */
298 
299 static int hf_gsm_map_sm_msisdn = -1;             /* ISDN_AddressString */
300 static int hf_gsm_map_sm_sm_RP_PRI = -1;          /* BOOLEAN */
301 static int hf_gsm_map_sm_serviceCentreAddress = -1;  /* AddressString */
302 static int hf_gsm_map_sm_extensionContainer = -1;  /* ExtensionContainer */
303 static int hf_gsm_map_sm_gprsSupportIndicator = -1;  /* NULL */
304 static int hf_gsm_map_sm_sm_RP_MTI = -1;          /* SM_RP_MTI */
305 static int hf_gsm_map_sm_sm_RP_SMEA = -1;         /* SM_RP_SMEA */
306 static int hf_gsm_map_sm_sm_deliveryNotIntended = -1;  /* SM_DeliveryNotIntended */
307 static int hf_gsm_map_sm_ip_sm_gwGuidanceIndicator = -1;  /* NULL */
308 static int hf_gsm_map_sm_imsi = -1;               /* IMSI */
309 static int hf_gsm_map_sm_t4_Trigger_Indicator = -1;  /* NULL */
310 static int hf_gsm_map_sm_singleAttemptDelivery = -1;  /* NULL */
311 static int hf_gsm_map_sm_correlationID = -1;      /* CorrelationID */
312 static int hf_gsm_map_sm_smsf_supportIndicator = -1;  /* NULL */
313 static int hf_gsm_map_sm_locationInfoWithLMSI = -1;  /* LocationInfoWithLMSI */
314 static int hf_gsm_map_sm_ip_sm_gwGuidance = -1;   /* IP_SM_GW_Guidance */
315 static int hf_gsm_map_sm_minimumDeliveryTimeValue = -1;  /* SM_DeliveryTimerValue */
316 static int hf_gsm_map_sm_recommendedDeliveryTimeValue = -1;  /* SM_DeliveryTimerValue */
317 static int hf_gsm_map_sm_networkNode_Number = -1;  /* ISDN_AddressString */
318 static int hf_gsm_map_sm_lmsi = -1;               /* LMSI */
319 static int hf_gsm_map_sm_gprsNodeIndicator = -1;  /* NULL */
320 static int hf_gsm_map_sm_additional_Number = -1;  /* Additional_Number */
321 static int hf_gsm_map_sm_networkNodeDiameterAddress = -1;  /* NetworkNodeDiameterAddress */
322 static int hf_gsm_map_sm_additionalNetworkNodeDiameterAddress = -1;  /* NetworkNodeDiameterAddress */
323 static int hf_gsm_map_sm_thirdNumber = -1;        /* Additional_Number */
324 static int hf_gsm_map_sm_thirdNetworkNodeDiameterAddress = -1;  /* NetworkNodeDiameterAddress */
325 static int hf_gsm_map_sm_imsNodeIndicator = -1;   /* NULL */
326 static int hf_gsm_map_sm_smsf_3gpp_Number = -1;   /* ISDN_AddressString */
327 static int hf_gsm_map_sm_smsf_3gpp_DiameterAddress = -1;  /* NetworkNodeDiameterAddress */
328 static int hf_gsm_map_sm_smsf_non_3gpp_Number = -1;  /* ISDN_AddressString */
329 static int hf_gsm_map_sm_smsf_non_3gpp_DiameterAddress = -1;  /* NetworkNodeDiameterAddress */
330 static int hf_gsm_map_sm_smsf_3gpp_address_indicator = -1;  /* NULL */
331 static int hf_gsm_map_sm_smsf_non_3gpp_address_indicator = -1;  /* NULL */
332 static int hf_gsm_map_sm_msc_Number = -1;         /* ISDN_AddressString */
333 static int hf_gsm_map_sm_sgsn_Number = -1;        /* ISDN_AddressString */
334 static int hf_gsm_map_sm_sm_RP_DA = -1;           /* SM_RP_DA */
335 static int hf_gsm_map_sm_sm_RP_OA = -1;           /* SM_RP_OA */
336 static int hf_gsm_map_sm_sm_RP_UI = -1;           /* SignalInfo */
337 static int hf_gsm_map_sm_sm_DeliveryOutcome = -1;  /* SM_DeliveryOutcome */
338 static int hf_gsm_map_sm_moreMessagesToSend = -1;  /* NULL */
339 static int hf_gsm_map_sm_smDeliveryTimer = -1;    /* SM_DeliveryTimerValue */
340 static int hf_gsm_map_sm_smDeliveryStartTime = -1;  /* Time */
341 static int hf_gsm_map_sm_smsOverIP_OnlyIndicator = -1;  /* NULL */
342 static int hf_gsm_map_sm_maximumRetransmissionTime = -1;  /* Time */
343 static int hf_gsm_map_sm_smsGmscAddress = -1;     /* ISDN_AddressString */
344 static int hf_gsm_map_sm_smsGmscDiameterAddress = -1;  /* NetworkNodeDiameterAddress */
345 static int hf_gsm_map_sm_hlr_id = -1;             /* HLR_Id */
346 static int hf_gsm_map_sm_sip_uri_A = -1;          /* SIP_URI */
347 static int hf_gsm_map_sm_sip_uri_B = -1;          /* SIP_URI */
348 static int hf_gsm_map_sm_imsi_01 = -1;            /* T_imsi */
349 static int hf_gsm_map_sm_lmsi_01 = -1;            /* T_lmsi */
350 static int hf_gsm_map_sm_serviceCentreAddressDA = -1;  /* T_serviceCentreAddressDA */
351 static int hf_gsm_map_sm_noSM_RP_DA = -1;         /* T_noSM_RP_DA */
352 static int hf_gsm_map_sm_msisdn_01 = -1;          /* T_msisdn */
353 static int hf_gsm_map_sm_serviceCentreAddressOA = -1;  /* T_serviceCentreAddressOA */
354 static int hf_gsm_map_sm_noSM_RP_OA = -1;         /* T_noSM_RP_OA */
355 static int hf_gsm_map_sm_absentSubscriberDiagnosticSM = -1;  /* AbsentSubscriberDiagnosticSM */
356 static int hf_gsm_map_sm_deliveryOutcomeIndicator = -1;  /* NULL */
357 static int hf_gsm_map_sm_additionalSM_DeliveryOutcome = -1;  /* SM_DeliveryOutcome */
358 static int hf_gsm_map_sm_additionalAbsentSubscriberDiagnosticSM = -1;  /* AbsentSubscriberDiagnosticSM */
359 static int hf_gsm_map_sm_ip_sm_gw_Indicator = -1;  /* NULL */
360 static int hf_gsm_map_sm_ip_sm_gw_sm_deliveryOutcome = -1;  /* SM_DeliveryOutcome */
361 static int hf_gsm_map_sm_ip_sm_gw_absentSubscriberDiagnosticSM = -1;  /* AbsentSubscriberDiagnosticSM */
362 static int hf_gsm_map_sm_smsf_3gpp_deliveryOutcomeIndicator = -1;  /* NULL */
363 static int hf_gsm_map_sm_smsf_3gpp_deliveryOutcome = -1;  /* SM_DeliveryOutcome */
364 static int hf_gsm_map_sm_smsf_3gpp_absentSubscriberDiagSM = -1;  /* AbsentSubscriberDiagnosticSM */
365 static int hf_gsm_map_sm_smsf_non_3gpp_deliveryOutcomeIndicator = -1;  /* NULL */
366 static int hf_gsm_map_sm_smsf_non_3gpp_deliveryOutcome = -1;  /* SM_DeliveryOutcome */
367 static int hf_gsm_map_sm_smsf_non_3gpp_absentSubscriberDiagSM = -1;  /* AbsentSubscriberDiagnosticSM */
368 static int hf_gsm_map_sm_storedMSISDN = -1;       /* ISDN_AddressString */
369 static int hf_gsm_map_sm_maximumUeAvailabilityTime = -1;  /* Time */
370 static int hf_gsm_map_sm_smsGmscAlertEvent = -1;  /* SmsGmsc_Alert_Event */
371 static int hf_gsm_map_sm_newSGSNNumber = -1;      /* ISDN_AddressString */
372 static int hf_gsm_map_sm_newSGSNDiameterAddress = -1;  /* NetworkNodeDiameterAddress */
373 static int hf_gsm_map_sm_newMMENumber = -1;       /* ISDN_AddressString */
374 static int hf_gsm_map_sm_newMMEDiameterAddress = -1;  /* NetworkNodeDiameterAddress */
375 static int hf_gsm_map_sm_newMSCNumber = -1;       /* ISDN_AddressString */
376 static int hf_gsm_map_sm_mw_Status = -1;          /* MW_Status */
377 static int hf_gsm_map_sm_smsf3gppAbsentSubscriberDiagnosticSM = -1;  /* AbsentSubscriberDiagnosticSM */
378 static int hf_gsm_map_sm_smsfNon3gppAbsentSubscriberDiagnosticSM = -1;  /* AbsentSubscriberDiagnosticSM */
379 static int hf_gsm_map_sm_alertReason = -1;        /* AlertReason */
380 static int hf_gsm_map_sm_alertReasonIndicator = -1;  /* NULL */
381 static int hf_gsm_map_sm_additionalAlertReasonIndicator = -1;  /* NULL */
382 static int hf_gsm_map_sm_asciCallReference = -1;  /* ASCI_CallReference */
383 static int hf_gsm_map_sm_dispatcherList = -1;     /* DispatcherList */
384 static int hf_gsm_map_sm_ongoingCall = -1;        /* NULL */
385 static int hf_gsm_map_sm_additionalDispatcherList = -1;  /* AdditionalDispatcherList */
386 static int hf_gsm_map_sm_DispatcherList_item = -1;  /* ISDN_AddressString */
387 static int hf_gsm_map_sm_AdditionalDispatcherList_item = -1;  /* ISDN_AddressString */
388 /* named bits */
389 static int hf_gsm_map_sm_MW_Status_sc_AddressNotIncluded = -1;
390 static int hf_gsm_map_sm_MW_Status_mnrf_Set = -1;
391 static int hf_gsm_map_sm_MW_Status_mcef_Set = -1;
392 static int hf_gsm_map_sm_MW_Status_mnrg_Set = -1;
393 static int hf_gsm_map_sm_MW_Status_mnr5g_Set = -1;
394 static int hf_gsm_map_sm_MW_Status_mnr5gn3g_Set = -1;
395 
396 /* --- Module MAP-OM-DataTypes --- --- ---                                    */
397 
398 static int hf_gsm_map_om_imsi = -1;               /* IMSI */
399 static int hf_gsm_map_om_traceReference = -1;     /* TraceReference */
400 static int hf_gsm_map_om_traceType = -1;          /* TraceType */
401 static int hf_gsm_map_om_omc_Id = -1;             /* AddressString */
402 static int hf_gsm_map_om_extensionContainer = -1;  /* ExtensionContainer */
403 static int hf_gsm_map_om_traceReference2 = -1;    /* TraceReference2 */
404 static int hf_gsm_map_om_traceDepthList = -1;     /* TraceDepthList */
405 static int hf_gsm_map_om_traceNE_TypeList = -1;   /* TraceNE_TypeList */
406 static int hf_gsm_map_om_traceInterfaceList = -1;  /* TraceInterfaceList */
407 static int hf_gsm_map_om_traceEventList = -1;     /* TraceEventList */
408 static int hf_gsm_map_om_traceCollectionEntity = -1;  /* GSN_Address */
409 static int hf_gsm_map_om_mdt_Configuration = -1;  /* MDT_Configuration */
410 static int hf_gsm_map_om_jobType = -1;            /* JobType */
411 static int hf_gsm_map_om_areaScope = -1;          /* AreaScope */
412 static int hf_gsm_map_om_listOfMeasurements = -1;  /* ListOfMeasurements */
413 static int hf_gsm_map_om_reportingTrigger = -1;   /* ReportingTrigger */
414 static int hf_gsm_map_om_reportInterval = -1;     /* ReportInterval */
415 static int hf_gsm_map_om_reportAmount = -1;       /* ReportAmount */
416 static int hf_gsm_map_om_eventThresholdRSRP = -1;  /* EventThresholdRSRP */
417 static int hf_gsm_map_om_eventThresholdRSRQ = -1;  /* EventThresholdRSRQ */
418 static int hf_gsm_map_om_loggingInterval = -1;    /* LoggingInterval */
419 static int hf_gsm_map_om_loggingDuration = -1;    /* LoggingDuration */
420 static int hf_gsm_map_om_measurementPeriodUMTS = -1;  /* PeriodUMTS */
421 static int hf_gsm_map_om_measurementPeriodLTE = -1;  /* PeriodLTE */
422 static int hf_gsm_map_om_collectionPeriodRRM_UMTS = -1;  /* PeriodUMTS */
423 static int hf_gsm_map_om_collectionPeriodRRM_LTE = -1;  /* PeriodLTE */
424 static int hf_gsm_map_om_positioningMethod = -1;  /* PositioningMethod */
425 static int hf_gsm_map_om_measurementQuantity = -1;  /* MeasurementQuantity */
426 static int hf_gsm_map_om_eventThreshold1F = -1;   /* EventThreshold1F */
427 static int hf_gsm_map_om_eventThreshold1I = -1;   /* EventThreshold1I */
428 static int hf_gsm_map_om_mdt_Allowed_PLMN_List = -1;  /* MDT_Allowed_PLMNId_List */
429 static int hf_gsm_map_om_MDT_Allowed_PLMNId_List_item = -1;  /* PLMN_Id */
430 static int hf_gsm_map_om_cgi_List = -1;           /* CGI_List */
431 static int hf_gsm_map_om_e_utran_cgi_List = -1;   /* E_UTRAN_CGI_List */
432 static int hf_gsm_map_om_routingAreaId_List = -1;  /* RoutingAreaId_List */
433 static int hf_gsm_map_om_locationAreaId_List = -1;  /* LocationAreaId_List */
434 static int hf_gsm_map_om_trackingAreaId_List = -1;  /* TrackingAreaId_List */
435 static int hf_gsm_map_om_CGI_List_item = -1;      /* GlobalCellId */
436 static int hf_gsm_map_om_E_UTRAN_CGI_List_item = -1;  /* E_UTRAN_CGI */
437 static int hf_gsm_map_om_RoutingAreaId_List_item = -1;  /* RAIdentity */
438 static int hf_gsm_map_om_LocationAreaId_List_item = -1;  /* LAIFixedLength */
439 static int hf_gsm_map_om_TrackingAreaId_List_item = -1;  /* TA_Id */
440 static int hf_gsm_map_om_msc_s_TraceDepth = -1;   /* TraceDepth */
441 static int hf_gsm_map_om_mgw_TraceDepth = -1;     /* TraceDepth */
442 static int hf_gsm_map_om_sgsn_TraceDepth = -1;    /* TraceDepth */
443 static int hf_gsm_map_om_ggsn_TraceDepth = -1;    /* TraceDepth */
444 static int hf_gsm_map_om_rnc_TraceDepth = -1;     /* TraceDepth */
445 static int hf_gsm_map_om_bmsc_TraceDepth = -1;    /* TraceDepth */
446 static int hf_gsm_map_om_mme_TraceDepth = -1;     /* TraceDepth */
447 static int hf_gsm_map_om_sgw_TraceDepth = -1;     /* TraceDepth */
448 static int hf_gsm_map_om_pgw_TraceDepth = -1;     /* TraceDepth */
449 static int hf_gsm_map_om_eNB_TraceDepth = -1;     /* TraceDepth */
450 static int hf_gsm_map_om_msc_s_TraceDepthExtension = -1;  /* TraceDepthExtension */
451 static int hf_gsm_map_om_mgw_TraceDepthExtension = -1;  /* TraceDepthExtension */
452 static int hf_gsm_map_om_sgsn_TraceDepthExtension = -1;  /* TraceDepthExtension */
453 static int hf_gsm_map_om_ggsn_TraceDepthExtension = -1;  /* TraceDepthExtension */
454 static int hf_gsm_map_om_rnc_TraceDepthExtension = -1;  /* TraceDepthExtension */
455 static int hf_gsm_map_om_bmsc_TraceDepthExtension = -1;  /* TraceDepthExtension */
456 static int hf_gsm_map_om_mme_TraceDepthExtension = -1;  /* TraceDepthExtension */
457 static int hf_gsm_map_om_sgw_TraceDepthExtension = -1;  /* TraceDepthExtension */
458 static int hf_gsm_map_om_pgw_TraceDepthExtension = -1;  /* TraceDepthExtension */
459 static int hf_gsm_map_om_eNB_TraceDepthExtension = -1;  /* TraceDepthExtension */
460 static int hf_gsm_map_om_msc_s_List = -1;         /* MSC_S_InterfaceList */
461 static int hf_gsm_map_om_mgw_List = -1;           /* MGW_InterfaceList */
462 static int hf_gsm_map_om_sgsn_List = -1;          /* SGSN_InterfaceList */
463 static int hf_gsm_map_om_ggsn_List = -1;          /* GGSN_InterfaceList */
464 static int hf_gsm_map_om_rnc_List = -1;           /* RNC_InterfaceList */
465 static int hf_gsm_map_om_bmsc_List = -1;          /* BMSC_InterfaceList */
466 static int hf_gsm_map_om_mme_List = -1;           /* MME_InterfaceList */
467 static int hf_gsm_map_om_sgw_List = -1;           /* SGW_InterfaceList */
468 static int hf_gsm_map_om_pgw_List = -1;           /* PGW_InterfaceList */
469 static int hf_gsm_map_om_eNB_List = -1;           /* ENB_InterfaceList */
470 static int hf_gsm_map_om_msc_s_List_01 = -1;      /* MSC_S_EventList */
471 static int hf_gsm_map_om_mgw_List_01 = -1;        /* MGW_EventList */
472 static int hf_gsm_map_om_sgsn_List_01 = -1;       /* SGSN_EventList */
473 static int hf_gsm_map_om_ggsn_List_01 = -1;       /* GGSN_EventList */
474 static int hf_gsm_map_om_bmsc_List_01 = -1;       /* BMSC_EventList */
475 static int hf_gsm_map_om_mme_List_01 = -1;        /* MME_EventList */
476 static int hf_gsm_map_om_sgw_List_01 = -1;        /* SGW_EventList */
477 static int hf_gsm_map_om_pgw_List_01 = -1;        /* PGW_EventList */
478 static int hf_gsm_map_om_traceRecordingSessionReference = -1;  /* TraceRecordingSessionReference */
479 static int hf_gsm_map_om_rnc_InterfaceList = -1;  /* RNC_InterfaceList */
480 static int hf_gsm_map_om_msc_s_InterfaceList = -1;  /* MSC_S_InterfaceList */
481 static int hf_gsm_map_om_msc_s_EventList = -1;    /* MSC_S_EventList */
482 static int hf_gsm_map_om_mgw_InterfaceList = -1;  /* MGW_InterfaceList */
483 static int hf_gsm_map_om_mgw_EventList = -1;      /* MGW_EventList */
484 static int hf_gsm_map_om_traceSupportIndicator = -1;  /* NULL */
485 /* named bits */
486 static int hf_gsm_map_om_TraceNE_TypeList_msc_s = -1;
487 static int hf_gsm_map_om_TraceNE_TypeList_mgw = -1;
488 static int hf_gsm_map_om_TraceNE_TypeList_sgsn = -1;
489 static int hf_gsm_map_om_TraceNE_TypeList_ggsn = -1;
490 static int hf_gsm_map_om_TraceNE_TypeList_rnc = -1;
491 static int hf_gsm_map_om_TraceNE_TypeList_bm_sc = -1;
492 static int hf_gsm_map_om_TraceNE_TypeList_mme = -1;
493 static int hf_gsm_map_om_TraceNE_TypeList_sgw = -1;
494 static int hf_gsm_map_om_TraceNE_TypeList_pgw = -1;
495 static int hf_gsm_map_om_TraceNE_TypeList_eNB = -1;
496 static int hf_gsm_map_om_MSC_S_InterfaceList_a = -1;
497 static int hf_gsm_map_om_MSC_S_InterfaceList_iu = -1;
498 static int hf_gsm_map_om_MSC_S_InterfaceList_mc = -1;
499 static int hf_gsm_map_om_MSC_S_InterfaceList_map_g = -1;
500 static int hf_gsm_map_om_MSC_S_InterfaceList_map_b = -1;
501 static int hf_gsm_map_om_MSC_S_InterfaceList_map_e = -1;
502 static int hf_gsm_map_om_MSC_S_InterfaceList_map_f = -1;
503 static int hf_gsm_map_om_MSC_S_InterfaceList_cap = -1;
504 static int hf_gsm_map_om_MSC_S_InterfaceList_map_d = -1;
505 static int hf_gsm_map_om_MSC_S_InterfaceList_map_c = -1;
506 static int hf_gsm_map_om_MGW_InterfaceList_mc = -1;
507 static int hf_gsm_map_om_MGW_InterfaceList_nb_up = -1;
508 static int hf_gsm_map_om_MGW_InterfaceList_iu_up = -1;
509 static int hf_gsm_map_om_SGSN_InterfaceList_gb = -1;
510 static int hf_gsm_map_om_SGSN_InterfaceList_iu = -1;
511 static int hf_gsm_map_om_SGSN_InterfaceList_gn = -1;
512 static int hf_gsm_map_om_SGSN_InterfaceList_map_gr = -1;
513 static int hf_gsm_map_om_SGSN_InterfaceList_map_gd = -1;
514 static int hf_gsm_map_om_SGSN_InterfaceList_map_gf = -1;
515 static int hf_gsm_map_om_SGSN_InterfaceList_gs = -1;
516 static int hf_gsm_map_om_SGSN_InterfaceList_ge = -1;
517 static int hf_gsm_map_om_SGSN_InterfaceList_s3 = -1;
518 static int hf_gsm_map_om_SGSN_InterfaceList_s4 = -1;
519 static int hf_gsm_map_om_SGSN_InterfaceList_s6d = -1;
520 static int hf_gsm_map_om_GGSN_InterfaceList_gn = -1;
521 static int hf_gsm_map_om_GGSN_InterfaceList_gi = -1;
522 static int hf_gsm_map_om_GGSN_InterfaceList_gmb = -1;
523 static int hf_gsm_map_om_RNC_InterfaceList_iu = -1;
524 static int hf_gsm_map_om_RNC_InterfaceList_iur = -1;
525 static int hf_gsm_map_om_RNC_InterfaceList_iub = -1;
526 static int hf_gsm_map_om_RNC_InterfaceList_uu = -1;
527 static int hf_gsm_map_om_BMSC_InterfaceList_gmb = -1;
528 static int hf_gsm_map_om_MME_InterfaceList_s1_mme = -1;
529 static int hf_gsm_map_om_MME_InterfaceList_s3 = -1;
530 static int hf_gsm_map_om_MME_InterfaceList_s6a = -1;
531 static int hf_gsm_map_om_MME_InterfaceList_s10 = -1;
532 static int hf_gsm_map_om_MME_InterfaceList_s11 = -1;
533 static int hf_gsm_map_om_SGW_InterfaceList_s4 = -1;
534 static int hf_gsm_map_om_SGW_InterfaceList_s5 = -1;
535 static int hf_gsm_map_om_SGW_InterfaceList_s8b = -1;
536 static int hf_gsm_map_om_SGW_InterfaceList_s11 = -1;
537 static int hf_gsm_map_om_SGW_InterfaceList_gxc = -1;
538 static int hf_gsm_map_om_PGW_InterfaceList_s2a = -1;
539 static int hf_gsm_map_om_PGW_InterfaceList_s2b = -1;
540 static int hf_gsm_map_om_PGW_InterfaceList_s2c = -1;
541 static int hf_gsm_map_om_PGW_InterfaceList_s5 = -1;
542 static int hf_gsm_map_om_PGW_InterfaceList_s6b = -1;
543 static int hf_gsm_map_om_PGW_InterfaceList_gx = -1;
544 static int hf_gsm_map_om_PGW_InterfaceList_s8b = -1;
545 static int hf_gsm_map_om_PGW_InterfaceList_sgi = -1;
546 static int hf_gsm_map_om_ENB_InterfaceList_s1_mme = -1;
547 static int hf_gsm_map_om_ENB_InterfaceList_x2 = -1;
548 static int hf_gsm_map_om_ENB_InterfaceList_uu = -1;
549 static int hf_gsm_map_om_MSC_S_EventList_mo_mtCall = -1;
550 static int hf_gsm_map_om_MSC_S_EventList_mo_mt_sms = -1;
551 static int hf_gsm_map_om_MSC_S_EventList_lu_imsiAttach_imsiDetach = -1;
552 static int hf_gsm_map_om_MSC_S_EventList_handovers = -1;
553 static int hf_gsm_map_om_MSC_S_EventList_ss = -1;
554 static int hf_gsm_map_om_MGW_EventList_context = -1;
555 static int hf_gsm_map_om_SGSN_EventList_pdpContext = -1;
556 static int hf_gsm_map_om_SGSN_EventList_mo_mt_sms = -1;
557 static int hf_gsm_map_om_SGSN_EventList_rau_gprsAttach_gprsDetach = -1;
558 static int hf_gsm_map_om_SGSN_EventList_mbmsContext = -1;
559 static int hf_gsm_map_om_GGSN_EventList_pdpContext = -1;
560 static int hf_gsm_map_om_GGSN_EventList_mbmsContext = -1;
561 static int hf_gsm_map_om_BMSC_EventList_mbmsMulticastServiceActivation = -1;
562 static int hf_gsm_map_om_MME_EventList_ue_initiatedPDNconectivityRequest = -1;
563 static int hf_gsm_map_om_MME_EventList_serviceRequestts = -1;
564 static int hf_gsm_map_om_MME_EventList_initialAttachTrackingAreaUpdateDetach = -1;
565 static int hf_gsm_map_om_MME_EventList_ue_initiatedPDNdisconnection = -1;
566 static int hf_gsm_map_om_MME_EventList_bearerActivationModificationDeletion = -1;
567 static int hf_gsm_map_om_MME_EventList_handover = -1;
568 static int hf_gsm_map_om_SGW_EventList_pdn_connectionCreation = -1;
569 static int hf_gsm_map_om_SGW_EventList_pdn_connectionTermination = -1;
570 static int hf_gsm_map_om_SGW_EventList_bearerActivationModificationDeletion = -1;
571 static int hf_gsm_map_om_PGW_EventList_pdn_connectionCreation = -1;
572 static int hf_gsm_map_om_PGW_EventList_pdn_connectionTermination = -1;
573 static int hf_gsm_map_om_PGW_EventList_bearerActivationModificationDeletion = -1;
574 
575 /* --- Module MAP-MS-DataTypes --- --- ---                                    */
576 
577 static int hf_gsm_map_ms_gsm_map_ms_SendAuthenticationInfoArg_PDU = -1;  /* SendAuthenticationInfoArg */
578 static int hf_gsm_map_ms_gsm_map_ms_SendAuthenticationInfoRes_PDU = -1;  /* SendAuthenticationInfoRes */
579 static int hf_gsm_map_ms_imsi = -1;               /* IMSI */
580 static int hf_gsm_map_ms_msc_Number = -1;         /* ISDN_AddressString */
581 static int hf_gsm_map_ms_vlr_Number = -1;         /* ISDN_AddressString */
582 static int hf_gsm_map_ms_lmsi = -1;               /* LMSI */
583 static int hf_gsm_map_ms_extensionContainer = -1;  /* ExtensionContainer */
584 static int hf_gsm_map_ms_vlr_Capability = -1;     /* VLR_Capability */
585 static int hf_gsm_map_ms_informPreviousNetworkEntity = -1;  /* NULL */
586 static int hf_gsm_map_ms_cs_LCS_NotSupportedByUE = -1;  /* NULL */
587 static int hf_gsm_map_ms_v_gmlc_Address = -1;     /* GSN_Address */
588 static int hf_gsm_map_ms_add_info = -1;           /* ADD_Info */
589 static int hf_gsm_map_ms_pagingArea = -1;         /* PagingArea */
590 static int hf_gsm_map_ms_skipSubscriberDataUpdate = -1;  /* NULL */
591 static int hf_gsm_map_ms_restorationIndicator = -1;  /* NULL */
592 static int hf_gsm_map_ms_eplmn_List = -1;         /* EPLMN_List */
593 static int hf_gsm_map_ms_mme_DiameterAddress = -1;  /* NetworkNodeDiameterAddress */
594 static int hf_gsm_map_ms_supportedCamelPhases = -1;  /* SupportedCamelPhases */
595 static int hf_gsm_map_ms_solsaSupportIndicator = -1;  /* NULL */
596 static int hf_gsm_map_ms_istSupportIndicator = -1;  /* IST_SupportIndicator */
597 static int hf_gsm_map_ms_superChargerSupportedInServingNetworkEntity = -1;  /* SuperChargerInfo */
598 static int hf_gsm_map_ms_longFTN_Supported = -1;  /* NULL */
599 static int hf_gsm_map_ms_supportedLCS_CapabilitySets = -1;  /* SupportedLCS_CapabilitySets */
600 static int hf_gsm_map_ms_offeredCamel4CSIs = -1;  /* OfferedCamel4CSIs */
601 static int hf_gsm_map_ms_supportedRAT_TypesIndicator = -1;  /* SupportedRAT_Types */
602 static int hf_gsm_map_ms_longGroupID_Supported = -1;  /* NULL */
603 static int hf_gsm_map_ms_mtRoamingForwardingSupported = -1;  /* NULL */
604 static int hf_gsm_map_ms_msisdn_lessOperation_Supported = -1;  /* NULL */
605 static int hf_gsm_map_ms_reset_ids_Supported = -1;  /* NULL */
606 static int hf_gsm_map_ms_sendSubscriberData = -1;  /* NULL */
607 static int hf_gsm_map_ms_subscriberDataStored = -1;  /* AgeIndicator */
608 static int hf_gsm_map_ms_hlr_Number = -1;         /* ISDN_AddressString */
609 static int hf_gsm_map_ms_add_Capability = -1;     /* NULL */
610 static int hf_gsm_map_ms_pagingArea_Capability = -1;  /* NULL */
611 static int hf_gsm_map_ms_imeisv = -1;             /* IMEI */
612 static int hf_gsm_map_ms_PagingArea_item = -1;    /* LocationArea */
613 static int hf_gsm_map_ms_laiFixedLength = -1;     /* LAIFixedLength */
614 static int hf_gsm_map_ms_lac = -1;                /* LAC */
615 static int hf_gsm_map_ms_identity = -1;           /* Identity */
616 static int hf_gsm_map_ms_cancellationType = -1;   /* CancellationType */
617 static int hf_gsm_map_ms_typeOfUpdate = -1;       /* TypeOfUpdate */
618 static int hf_gsm_map_ms_mtrf_SupportedAndAuthorized = -1;  /* NULL */
619 static int hf_gsm_map_ms_mtrf_SupportedAndNotAuthorized = -1;  /* NULL */
620 static int hf_gsm_map_ms_newMSC_Number = -1;      /* ISDN_AddressString */
621 static int hf_gsm_map_ms_newVLR_Number = -1;      /* ISDN_AddressString */
622 static int hf_gsm_map_ms_new_lmsi = -1;           /* LMSI */
623 static int hf_gsm_map_ms_reattach_Required = -1;  /* NULL */
624 static int hf_gsm_map_ms_sgsn_Number = -1;        /* ISDN_AddressString */
625 static int hf_gsm_map_ms_locationInformation = -1;  /* LocationInformation */
626 static int hf_gsm_map_ms_locationInformationGPRS = -1;  /* LocationInformationGPRS */
627 static int hf_gsm_map_ms_locationInformationEPS = -1;  /* LocationInformationEPS */
628 static int hf_gsm_map_ms_freezeTMSI = -1;         /* NULL */
629 static int hf_gsm_map_ms_freezeP_TMSI = -1;       /* NULL */
630 static int hf_gsm_map_ms_freezeM_TMSI = -1;       /* NULL */
631 static int hf_gsm_map_ms_tmsi = -1;               /* TMSI */
632 static int hf_gsm_map_ms_numberOfRequestedVectors = -1;  /* NumberOfRequestedVectors */
633 static int hf_gsm_map_ms_segmentationProhibited = -1;  /* NULL */
634 static int hf_gsm_map_ms_previous_LAI = -1;       /* LAIFixedLength */
635 static int hf_gsm_map_ms_hopCounter = -1;         /* HopCounter */
636 static int hf_gsm_map_ms_authenticationSetList = -1;  /* AuthenticationSetList */
637 static int hf_gsm_map_ms_currentSecurityContext = -1;  /* CurrentSecurityContext */
638 static int hf_gsm_map_ms_lastUsedLtePLMN_Id = -1;  /* PLMN_Id */
639 static int hf_gsm_map_ms_mtCallPendingFlag = -1;  /* NULL */
640 static int hf_gsm_map_ms_tripletList = -1;        /* TripletList */
641 static int hf_gsm_map_ms_quintupletList = -1;     /* QuintupletList */
642 static int hf_gsm_map_ms_TripletList_item = -1;   /* AuthenticationTriplet */
643 static int hf_gsm_map_ms_QuintupletList_item = -1;  /* AuthenticationQuintuplet */
644 static int hf_gsm_map_ms_rand = -1;               /* RAND */
645 static int hf_gsm_map_ms_sres = -1;               /* SRES */
646 static int hf_gsm_map_ms_kc = -1;                 /* Kc */
647 static int hf_gsm_map_ms_xres = -1;               /* XRES */
648 static int hf_gsm_map_ms_ck = -1;                 /* CK */
649 static int hf_gsm_map_ms_ik = -1;                 /* IK */
650 static int hf_gsm_map_ms_autn = -1;               /* AUTN */
651 static int hf_gsm_map_ms_gsm_SecurityContextData = -1;  /* GSM_SecurityContextData */
652 static int hf_gsm_map_ms_umts_SecurityContextData = -1;  /* UMTS_SecurityContextData */
653 static int hf_gsm_map_ms_cksn = -1;               /* Cksn */
654 static int hf_gsm_map_ms_ksi = -1;                /* KSI */
655 static int hf_gsm_map_ms_failureCause = -1;       /* FailureCause */
656 static int hf_gsm_map_ms_re_attempt = -1;         /* BOOLEAN */
657 static int hf_gsm_map_ms_accessType = -1;         /* AccessType */
658 static int hf_gsm_map_ms_sgsn_Address = -1;       /* GSN_Address */
659 static int hf_gsm_map_ms_sgsn_Capability = -1;    /* SGSN_Capability */
660 static int hf_gsm_map_ms_ps_LCS_NotSupportedByUE = -1;  /* NULL */
661 static int hf_gsm_map_ms_eps_info = -1;           /* EPS_Info */
662 static int hf_gsm_map_ms_servingNodeTypeIndicator = -1;  /* NULL */
663 static int hf_gsm_map_ms_usedRAT_Type = -1;       /* Used_RAT_Type */
664 static int hf_gsm_map_ms_gprsSubscriptionDataNotNeeded = -1;  /* NULL */
665 static int hf_gsm_map_ms_nodeTypeIndicator = -1;  /* NULL */
666 static int hf_gsm_map_ms_areaRestricted = -1;     /* NULL */
667 static int hf_gsm_map_ms_ue_reachableIndicator = -1;  /* NULL */
668 static int hf_gsm_map_ms_epsSubscriptionDataNotNeeded = -1;  /* NULL */
669 static int hf_gsm_map_ms_ue_srvcc_Capability = -1;  /* UE_SRVCC_Capability */
670 static int hf_gsm_map_ms_mmeNumberforMTSMS = -1;  /* ISDN_AddressString */
671 static int hf_gsm_map_ms_smsRegisterRequest = -1;  /* SMSRegisterRequest */
672 static int hf_gsm_map_ms_sms_Only = -1;           /* NULL */
673 static int hf_gsm_map_ms_removalofMMERegistrationforSMS = -1;  /* NULL */
674 static int hf_gsm_map_ms_sgsn_Name = -1;          /* DiameterIdentity */
675 static int hf_gsm_map_ms_sgsn_Realm = -1;         /* DiameterIdentity */
676 static int hf_gsm_map_ms_lgd_supportIndicator = -1;  /* NULL */
677 static int hf_gsm_map_ms_adjacentPLMN_List = -1;  /* AdjacentPLMN_List */
678 static int hf_gsm_map_ms_pdn_gw_update = -1;      /* PDN_GW_Update */
679 static int hf_gsm_map_ms_isr_Information = -1;    /* ISR_Information */
680 static int hf_gsm_map_ms_apn = -1;                /* APN */
681 static int hf_gsm_map_ms_pdn_gw_Identity = -1;    /* PDN_GW_Identity */
682 static int hf_gsm_map_ms_contextId = -1;          /* ContextId */
683 static int hf_gsm_map_ms_gprsEnhancementsSupportIndicator = -1;  /* NULL */
684 static int hf_gsm_map_ms_smsCallBarringSupportIndicator = -1;  /* NULL */
685 static int hf_gsm_map_ms_supportedFeatures = -1;  /* SupportedFeatures */
686 static int hf_gsm_map_ms_t_adsDataRetrieval = -1;  /* NULL */
687 static int hf_gsm_map_ms_homogeneousSupportOfIMSVoiceOverPSSessions = -1;  /* BOOLEAN */
688 static int hf_gsm_map_ms_cancellationTypeInitialAttach = -1;  /* NULL */
689 static int hf_gsm_map_ms_updateofHomogeneousSupportOfIMSVoiceOverPSSessions = -1;  /* NULL */
690 static int hf_gsm_map_ms_ext_SupportedFeatures = -1;  /* Ext_SupportedFeatures */
691 static int hf_gsm_map_ms_sgsn_mmeSeparationSupported = -1;  /* NULL */
692 static int hf_gsm_map_ms_mmeRegisteredforSMS = -1;  /* NULL */
693 static int hf_gsm_map_ms_EPLMN_List_item = -1;    /* PLMN_Id */
694 static int hf_gsm_map_ms_AdjacentPLMN_List_item = -1;  /* PLMN_Id */
695 static int hf_gsm_map_ms_an_APDU = -1;            /* AccessNetworkSignalInfo */
696 static int hf_gsm_map_ms_integrityProtectionInfo = -1;  /* IntegrityProtectionInformation */
697 static int hf_gsm_map_ms_encryptionInfo = -1;     /* EncryptionInformation */
698 static int hf_gsm_map_ms_keyStatus = -1;          /* KeyStatus */
699 static int hf_gsm_map_ms_allowedGSM_Algorithms = -1;  /* AllowedGSM_Algorithms */
700 static int hf_gsm_map_ms_allowedUMTS_Algorithms = -1;  /* AllowedUMTS_Algorithms */
701 static int hf_gsm_map_ms_radioResourceInformation = -1;  /* RadioResourceInformation */
702 static int hf_gsm_map_ms_radioResourceList = -1;  /* RadioResourceList */
703 static int hf_gsm_map_ms_bssmap_ServiceHandover = -1;  /* BSSMAP_ServiceHandover */
704 static int hf_gsm_map_ms_ranap_ServiceHandover = -1;  /* RANAP_ServiceHandover */
705 static int hf_gsm_map_ms_bssmap_ServiceHandoverList = -1;  /* BSSMAP_ServiceHandoverList */
706 static int hf_gsm_map_ms_currentlyUsedCodec = -1;  /* Codec */
707 static int hf_gsm_map_ms_iuSupportedCodecsList = -1;  /* SupportedCodecsList */
708 static int hf_gsm_map_ms_rab_ConfigurationIndicator = -1;  /* NULL */
709 static int hf_gsm_map_ms_iuSelectedCodec = -1;    /* Codec */
710 static int hf_gsm_map_ms_alternativeChannelType = -1;  /* RadioResourceInformation */
711 static int hf_gsm_map_ms_tracePropagationList = -1;  /* TracePropagationList */
712 static int hf_gsm_map_ms_aoipSupportedCodecsListAnchor = -1;  /* AoIPCodecsList */
713 static int hf_gsm_map_ms_aoipSelectedCodecTarget = -1;  /* AoIPCodec */
714 static int hf_gsm_map_ms_uesbi_Iu = -1;           /* UESBI_Iu */
715 static int hf_gsm_map_ms_integrityProtectionAlgorithms = -1;  /* PermittedIntegrityProtectionAlgorithms */
716 static int hf_gsm_map_ms_encryptionAlgorithms = -1;  /* PermittedEncryptionAlgorithms */
717 static int hf_gsm_map_ms_targetCellId = -1;       /* GlobalCellId */
718 static int hf_gsm_map_ms_ho_NumberNotRequired = -1;  /* NULL */
719 static int hf_gsm_map_ms_targetRNCId = -1;        /* RNCId */
720 static int hf_gsm_map_ms_multipleBearerRequested = -1;  /* NULL */
721 static int hf_gsm_map_ms_rab_Id = -1;             /* RAB_Id */
722 static int hf_gsm_map_ms_asciCallReference = -1;  /* ASCI_CallReference */
723 static int hf_gsm_map_ms_geran_classmark = -1;    /* GERAN_Classmark */
724 static int hf_gsm_map_ms_iuCurrentlyUsedCodec = -1;  /* Codec */
725 static int hf_gsm_map_ms_regionalSubscriptionData = -1;  /* ZoneCodeList */
726 static int hf_gsm_map_ms_lclsGlobalCallReference = -1;  /* LCLS_GlobalCallReference */
727 static int hf_gsm_map_ms_lcls_Negotiation = -1;   /* LCLS_Negotiation */
728 static int hf_gsm_map_ms_lcls_Configuration_Preference = -1;  /* LCLS_ConfigurationPreference */
729 static int hf_gsm_map_ms_csg_SubscriptionDataList = -1;  /* CSG_SubscriptionDataList */
730 static int hf_gsm_map_ms_BSSMAP_ServiceHandoverList_item = -1;  /* BSSMAP_ServiceHandoverInfo */
731 static int hf_gsm_map_ms_RadioResourceList_item = -1;  /* RadioResource */
732 static int hf_gsm_map_ms_handoverNumber = -1;     /* ISDN_AddressString */
733 static int hf_gsm_map_ms_relocationNumberList = -1;  /* RelocationNumberList */
734 static int hf_gsm_map_ms_multicallBearerInfo = -1;  /* MulticallBearerInfo */
735 static int hf_gsm_map_ms_multipleBearerNotSupported = -1;  /* NULL */
736 static int hf_gsm_map_ms_selectedUMTS_Algorithms = -1;  /* SelectedUMTS_Algorithms */
737 static int hf_gsm_map_ms_chosenRadioResourceInformation = -1;  /* ChosenRadioResourceInformation */
738 static int hf_gsm_map_ms_iuAvailableCodecsList = -1;  /* CodecList */
739 static int hf_gsm_map_ms_aoipAvailableCodecsListMap = -1;  /* AoIPCodecsList */
740 static int hf_gsm_map_ms_integrityProtectionAlgorithm = -1;  /* ChosenIntegrityProtectionAlgorithm */
741 static int hf_gsm_map_ms_encryptionAlgorithm = -1;  /* ChosenEncryptionAlgorithm */
742 static int hf_gsm_map_ms_chosenChannelInfo = -1;  /* ChosenChannelInfo */
743 static int hf_gsm_map_ms_chosenSpeechVersion = -1;  /* ChosenSpeechVersion */
744 static int hf_gsm_map_ms_targetMSC_Number = -1;   /* ISDN_AddressString */
745 static int hf_gsm_map_ms_selectedRab_Id = -1;     /* RAB_Id */
746 static int hf_gsm_map_ms_selectedGSM_Algorithm = -1;  /* SelectedGSM_Algorithm */
747 static int hf_gsm_map_ms_iUSelectedCodec = -1;    /* Codec */
748 static int hf_gsm_map_ms_codec1 = -1;             /* AoIPCodec */
749 static int hf_gsm_map_ms_codec2 = -1;             /* AoIPCodec */
750 static int hf_gsm_map_ms_codec3 = -1;             /* AoIPCodec */
751 static int hf_gsm_map_ms_codec4 = -1;             /* AoIPCodec */
752 static int hf_gsm_map_ms_codec5 = -1;             /* AoIPCodec */
753 static int hf_gsm_map_ms_codec6 = -1;             /* AoIPCodec */
754 static int hf_gsm_map_ms_codec7 = -1;             /* AoIPCodec */
755 static int hf_gsm_map_ms_codec8 = -1;             /* AoIPCodec */
756 static int hf_gsm_map_ms_utranCodecList = -1;     /* CodecList */
757 static int hf_gsm_map_ms_geranCodecList = -1;     /* CodecList */
758 static int hf_gsm_map_ms_codec1_01 = -1;          /* Codec */
759 static int hf_gsm_map_ms_codec2_01 = -1;          /* Codec */
760 static int hf_gsm_map_ms_codec3_01 = -1;          /* Codec */
761 static int hf_gsm_map_ms_codec4_01 = -1;          /* Codec */
762 static int hf_gsm_map_ms_codec5_01 = -1;          /* Codec */
763 static int hf_gsm_map_ms_codec6_01 = -1;          /* Codec */
764 static int hf_gsm_map_ms_codec7_01 = -1;          /* Codec */
765 static int hf_gsm_map_ms_codec8_01 = -1;          /* Codec */
766 static int hf_gsm_map_ms_RelocationNumberList_item = -1;  /* RelocationNumber */
767 static int hf_gsm_map_ms_immediateResponsePreferred = -1;  /* NULL */
768 static int hf_gsm_map_ms_re_synchronisationInfo = -1;  /* Re_synchronisationInfo */
769 static int hf_gsm_map_ms_requestingNodeType = -1;  /* RequestingNodeType */
770 static int hf_gsm_map_ms_requestingPLMN_Id = -1;  /* PLMN_Id */
771 static int hf_gsm_map_ms_numberOfRequestedAdditional_Vectors = -1;  /* NumberOfRequestedVectors */
772 static int hf_gsm_map_ms_additionalVectorsAreForEPS = -1;  /* NULL */
773 static int hf_gsm_map_ms_ueUsageTypeRequestIndication = -1;  /* NULL */
774 static int hf_gsm_map_ms_auts = -1;               /* AUTS */
775 static int hf_gsm_map_ms_eps_AuthenticationSetList = -1;  /* EPS_AuthenticationSetList */
776 static int hf_gsm_map_ms_ueUsageType = -1;        /* UE_UsageType */
777 static int hf_gsm_map_ms_EPS_AuthenticationSetList_item = -1;  /* EPC_AV */
778 static int hf_gsm_map_ms_kasme = -1;              /* KASME */
779 static int hf_gsm_map_ms_imei = -1;               /* IMEI */
780 static int hf_gsm_map_ms_requestedEquipmentInfo = -1;  /* RequestedEquipmentInfo */
781 static int hf_gsm_map_ms_equipmentStatus = -1;    /* EquipmentStatus */
782 static int hf_gsm_map_ms_bmuef = -1;              /* UESBI_Iu */
783 static int hf_gsm_map_ms_uesbi_IuA = -1;          /* UESBI_IuA */
784 static int hf_gsm_map_ms_uesbi_IuB = -1;          /* UESBI_IuB */
785 static int hf_gsm_map_ms_EDRX_Cycle_Length_List_item = -1;  /* EDRX_Cycle_Length */
786 static int hf_gsm_map_ms_rat_Type = -1;           /* Used_RAT_Type */
787 static int hf_gsm_map_ms_eDRX_Cycle_Length_Value = -1;  /* EDRX_Cycle_Length_Value */
788 static int hf_gsm_map_ms_Reset_Id_List_item = -1;  /* Reset_Id */
789 static int hf_gsm_map_ms_IMSI_GroupIdList_item = -1;  /* IMSI_GroupId */
790 static int hf_gsm_map_ms_group_Service_Id = -1;   /* Group_Service_ID */
791 static int hf_gsm_map_ms_plmnId = -1;             /* PLMN_Id */
792 static int hf_gsm_map_ms_local_Group_ID = -1;     /* Local_GroupID */
793 static int hf_gsm_map_ms_CSG_SubscriptionDataList_item = -1;  /* CSG_SubscriptionData */
794 static int hf_gsm_map_ms_csg_Id = -1;             /* CSG_Id */
795 static int hf_gsm_map_ms_expirationDate = -1;     /* Time */
796 static int hf_gsm_map_ms_lipa_AllowedAPNList = -1;  /* LIPA_AllowedAPNList */
797 static int hf_gsm_map_ms_plmn_Id = -1;            /* PLMN_Id */
798 static int hf_gsm_map_ms_VPLMN_CSG_SubscriptionDataList_item = -1;  /* CSG_SubscriptionData */
799 static int hf_gsm_map_ms_LIPA_AllowedAPNList_item = -1;  /* APN */
800 static int hf_gsm_map_ms_apn_oi_Replacement = -1;  /* APN_OI_Replacement */
801 static int hf_gsm_map_ms_rfsp_id = -1;            /* RFSP_ID */
802 static int hf_gsm_map_ms_ambr = -1;               /* AMBR */
803 static int hf_gsm_map_ms_apn_ConfigurationProfile = -1;  /* APN_ConfigurationProfile */
804 static int hf_gsm_map_ms_stn_sr = -1;             /* ISDN_AddressString */
805 static int hf_gsm_map_ms_mps_CSPriority = -1;     /* NULL */
806 static int hf_gsm_map_ms_mps_EPSPriority = -1;    /* NULL */
807 static int hf_gsm_map_ms_subscribed_vsrvcc = -1;  /* NULL */
808 static int hf_gsm_map_ms_defaultContext = -1;     /* ContextId */
809 static int hf_gsm_map_ms_completeDataListIncluded = -1;  /* NULL */
810 static int hf_gsm_map_ms_epsDataList = -1;        /* EPS_DataList */
811 static int hf_gsm_map_ms_additionalDefaultContext = -1;  /* ContextId */
812 static int hf_gsm_map_ms_EPS_DataList_item = -1;  /* APN_Configuration */
813 static int hf_gsm_map_ms_pdn_Type = -1;           /* PDN_Type */
814 static int hf_gsm_map_ms_servedPartyIP_IPv4_Address = -1;  /* PDP_Address */
815 static int hf_gsm_map_ms_eps_qos_Subscribed = -1;  /* EPS_QoS_Subscribed */
816 static int hf_gsm_map_ms_pdn_gw_AllocationType = -1;  /* PDN_GW_AllocationType */
817 static int hf_gsm_map_ms_vplmnAddressAllowed = -1;  /* NULL */
818 static int hf_gsm_map_ms_chargingCharacteristics = -1;  /* ChargingCharacteristics */
819 static int hf_gsm_map_ms_specificAPNInfoList = -1;  /* SpecificAPNInfoList */
820 static int hf_gsm_map_ms_servedPartyIP_IPv6_Address = -1;  /* PDP_Address */
821 static int hf_gsm_map_ms_sipto_Permission = -1;   /* SIPTO_Permission */
822 static int hf_gsm_map_ms_lipa_Permission = -1;    /* LIPA_Permission */
823 static int hf_gsm_map_ms_restoration_Priority = -1;  /* Restoration_Priority */
824 static int hf_gsm_map_ms_sipto_local_network_Permission = -1;  /* SIPTO_Local_Network_Permission */
825 static int hf_gsm_map_ms_wlan_offloadability = -1;  /* WLAN_Offloadability */
826 static int hf_gsm_map_ms_non_IP_PDN_Type_Indicator = -1;  /* NULL */
827 static int hf_gsm_map_ms_nIDD_Mechanism = -1;     /* NIDD_Mechanism */
828 static int hf_gsm_map_ms_sCEF_ID = -1;            /* FQDN */
829 static int hf_gsm_map_ms_pdn_ConnectionContinuity = -1;  /* PDN_ConnectionContinuity */
830 static int hf_gsm_map_ms_qos_Class_Identifier = -1;  /* QoS_Class_Identifier */
831 static int hf_gsm_map_ms_allocation_Retention_Priority = -1;  /* Allocation_Retention_Priority */
832 static int hf_gsm_map_ms_max_RequestedBandwidth_UL = -1;  /* Bandwidth */
833 static int hf_gsm_map_ms_max_RequestedBandwidth_DL = -1;  /* Bandwidth */
834 static int hf_gsm_map_ms_extended_Max_RequestedBandwidth_UL = -1;  /* BandwidthExt */
835 static int hf_gsm_map_ms_extended_Max_RequestedBandwidth_DL = -1;  /* BandwidthExt */
836 static int hf_gsm_map_ms_SpecificAPNInfoList_item = -1;  /* SpecificAPNInfo */
837 static int hf_gsm_map_ms_priority_level = -1;     /* INTEGER */
838 static int hf_gsm_map_ms_pre_emption_capability = -1;  /* BOOLEAN */
839 static int hf_gsm_map_ms_pre_emption_vulnerability = -1;  /* BOOLEAN */
840 static int hf_gsm_map_ms_pdn_gw_ipv4_Address = -1;  /* PDP_Address */
841 static int hf_gsm_map_ms_pdn_gw_ipv6_Address = -1;  /* PDP_Address */
842 static int hf_gsm_map_ms_pdn_gw_name = -1;        /* FQDN */
843 static int hf_gsm_map_ms_wlan_offloadability_EUTRAN = -1;  /* WLAN_Offloadability_Indication */
844 static int hf_gsm_map_ms_wlan_offloadability_UTRAN = -1;  /* WLAN_Offloadability_Indication */
845 static int hf_gsm_map_ms_AdjacentAccessRestrictionDataList_item = -1;  /* AdjacentAccessRestrictionData */
846 static int hf_gsm_map_ms_accessRestrictionData = -1;  /* AccessRestrictionData */
847 static int hf_gsm_map_ms_ext_AccessRestrictionData = -1;  /* Ext_AccessRestrictionData */
848 static int hf_gsm_map_ms_gmlc_List = -1;          /* GMLC_List */
849 static int hf_gsm_map_ms_lcs_PrivacyExceptionList = -1;  /* LCS_PrivacyExceptionList */
850 static int hf_gsm_map_ms_molr_List = -1;          /* MOLR_List */
851 static int hf_gsm_map_ms_add_lcs_PrivacyExceptionList = -1;  /* LCS_PrivacyExceptionList */
852 static int hf_gsm_map_ms_GMLC_List_item = -1;     /* ISDN_AddressString */
853 static int hf_gsm_map_ms_GPRSDataList_item = -1;  /* PDP_Context */
854 static int hf_gsm_map_ms_pdp_ContextId = -1;      /* ContextId */
855 static int hf_gsm_map_ms_pdp_Type = -1;           /* PDP_Type */
856 static int hf_gsm_map_ms_pdp_Address = -1;        /* PDP_Address */
857 static int hf_gsm_map_ms_qos_Subscribed = -1;     /* QoS_Subscribed */
858 static int hf_gsm_map_ms_ext_QoS_Subscribed = -1;  /* Ext_QoS_Subscribed */
859 static int hf_gsm_map_ms_pdp_ChargingCharacteristics = -1;  /* ChargingCharacteristics */
860 static int hf_gsm_map_ms_ext2_QoS_Subscribed = -1;  /* Ext2_QoS_Subscribed */
861 static int hf_gsm_map_ms_ext3_QoS_Subscribed = -1;  /* Ext3_QoS_Subscribed */
862 static int hf_gsm_map_ms_ext4_QoS_Subscribed = -1;  /* Ext4_QoS_Subscribed */
863 static int hf_gsm_map_ms_ext_pdp_Type = -1;       /* Ext_PDP_Type */
864 static int hf_gsm_map_ms_ext_pdp_Address = -1;    /* PDP_Address */
865 static int hf_gsm_map_ms_gprsDataList = -1;       /* GPRSDataList */
866 static int hf_gsm_map_ms_gprs_CSI = -1;           /* GPRS_CSI */
867 static int hf_gsm_map_ms_mo_sms_CSI = -1;         /* SMS_CSI */
868 static int hf_gsm_map_ms_mt_sms_CSI = -1;         /* SMS_CSI */
869 static int hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList = -1;  /* MT_smsCAMELTDP_CriteriaList */
870 static int hf_gsm_map_ms_mg_csi = -1;             /* MG_CSI */
871 static int hf_gsm_map_ms_gprs_CamelTDPDataList = -1;  /* GPRS_CamelTDPDataList */
872 static int hf_gsm_map_ms_camelCapabilityHandling = -1;  /* CamelCapabilityHandling */
873 static int hf_gsm_map_ms_notificationToCSE = -1;  /* NULL */
874 static int hf_gsm_map_ms_csi_Active = -1;         /* NULL */
875 static int hf_gsm_map_ms_GPRS_CamelTDPDataList_item = -1;  /* GPRS_CamelTDPData */
876 static int hf_gsm_map_ms_gprs_TriggerDetectionPoint = -1;  /* GPRS_TriggerDetectionPoint */
877 static int hf_gsm_map_ms_serviceKey = -1;         /* ServiceKey */
878 static int hf_gsm_map_ms_gsmSCF_Address = -1;     /* ISDN_AddressString */
879 static int hf_gsm_map_ms_defaultSessionHandling = -1;  /* DefaultGPRS_Handling */
880 static int hf_gsm_map_ms_LSADataList_item = -1;   /* LSAData */
881 static int hf_gsm_map_ms_lsaIdentity = -1;        /* LSAIdentity */
882 static int hf_gsm_map_ms_lsaAttributes = -1;      /* LSAAttributes */
883 static int hf_gsm_map_ms_lsaActiveModeIndicator = -1;  /* NULL */
884 static int hf_gsm_map_ms_lsaOnlyAccessIndicator = -1;  /* LSAOnlyAccessIndicator */
885 static int hf_gsm_map_ms_lsaDataList = -1;        /* LSADataList */
886 static int hf_gsm_map_ms_msisdn = -1;             /* ISDN_AddressString */
887 static int hf_gsm_map_ms_category = -1;           /* Category */
888 static int hf_gsm_map_ms_subscriberStatus = -1;   /* SubscriberStatus */
889 static int hf_gsm_map_ms_bearerServiceList = -1;  /* BearerServiceList */
890 static int hf_gsm_map_ms_teleserviceList = -1;    /* TeleserviceList */
891 static int hf_gsm_map_ms_provisionedSS = -1;      /* Ext_SS_InfoList */
892 static int hf_gsm_map_ms_odb_Data = -1;           /* ODB_Data */
893 static int hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature = -1;  /* NULL */
894 static int hf_gsm_map_ms_vbsSubscriptionData = -1;  /* VBSDataList */
895 static int hf_gsm_map_ms_vgcsSubscriptionData = -1;  /* VGCSDataList */
896 static int hf_gsm_map_ms_vlrCamelSubscriptionInfo = -1;  /* VlrCamelSubscriptionInfo */
897 static int hf_gsm_map_ms_BearerServiceList_item = -1;  /* Ext_BearerServiceCode */
898 static int hf_gsm_map_ms_TeleserviceList_item = -1;  /* Ext_TeleserviceCode */
899 static int hf_gsm_map_ms_odb_GeneralData = -1;    /* ODB_GeneralData */
900 static int hf_gsm_map_ms_odb_HPLMN_Data = -1;     /* ODB_HPLMN_Data */
901 static int hf_gsm_map_ms_Ext_SS_InfoList_item = -1;  /* Ext_SS_Info */
902 static int hf_gsm_map_ms_forwardingInfo = -1;     /* Ext_ForwInfo */
903 static int hf_gsm_map_ms_callBarringInfo = -1;    /* Ext_CallBarInfo */
904 static int hf_gsm_map_ms_cug_Info = -1;           /* CUG_Info */
905 static int hf_gsm_map_ms_ss_Data = -1;            /* Ext_SS_Data */
906 static int hf_gsm_map_ms_emlpp_Info = -1;         /* EMLPP_Info */
907 static int hf_gsm_map_ms_ss_Code = -1;            /* SS_Code */
908 static int hf_gsm_map_ms_forwardingFeatureList = -1;  /* Ext_ForwFeatureList */
909 static int hf_gsm_map_ms_Ext_ForwFeatureList_item = -1;  /* Ext_ForwFeature */
910 static int hf_gsm_map_ms_basicService = -1;       /* Ext_BasicServiceCode */
911 static int hf_gsm_map_ms_ss_Status = -1;          /* Ext_SS_Status */
912 static int hf_gsm_map_ms_forwardedToNumber = -1;  /* ISDN_AddressString */
913 static int hf_gsm_map_ms_forwardedToSubaddress = -1;  /* ISDN_SubaddressString */
914 static int hf_gsm_map_ms_forwardingOptions = -1;  /* T_forwardingOptions */
915 static int hf_gsm_map_ms_noReplyConditionTime = -1;  /* Ext_NoRepCondTime */
916 static int hf_gsm_map_ms_longForwardedToNumber = -1;  /* FTN_AddressString */
917 static int hf_gsm_map_ms_callBarringFeatureList = -1;  /* Ext_CallBarFeatureList */
918 static int hf_gsm_map_ms_Ext_CallBarFeatureList_item = -1;  /* Ext_CallBarringFeature */
919 static int hf_gsm_map_ms_cug_SubscriptionList = -1;  /* CUG_SubscriptionList */
920 static int hf_gsm_map_ms_cug_FeatureList = -1;    /* CUG_FeatureList */
921 static int hf_gsm_map_ms_CUG_SubscriptionList_item = -1;  /* CUG_Subscription */
922 static int hf_gsm_map_ms_cug_Index = -1;          /* CUG_Index */
923 static int hf_gsm_map_ms_cug_Interlock = -1;      /* CUG_Interlock */
924 static int hf_gsm_map_ms_intraCUG_Options = -1;   /* IntraCUG_Options */
925 static int hf_gsm_map_ms_basicServiceGroupList = -1;  /* Ext_BasicServiceGroupList */
926 static int hf_gsm_map_ms_CUG_FeatureList_item = -1;  /* CUG_Feature */
927 static int hf_gsm_map_ms_Ext_BasicServiceGroupList_item = -1;  /* Ext_BasicServiceCode */
928 static int hf_gsm_map_ms_preferentialCUG_Indicator = -1;  /* CUG_Index */
929 static int hf_gsm_map_ms_interCUG_Restrictions = -1;  /* InterCUG_Restrictions */
930 static int hf_gsm_map_ms_ss_SubscriptionOption = -1;  /* SS_SubscriptionOption */
931 static int hf_gsm_map_ms_LCS_PrivacyExceptionList_item = -1;  /* LCS_PrivacyClass */
932 static int hf_gsm_map_ms_notificationToMSUser = -1;  /* NotificationToMSUser */
933 static int hf_gsm_map_ms_externalClientList = -1;  /* ExternalClientList */
934 static int hf_gsm_map_ms_plmnClientList = -1;     /* PLMNClientList */
935 static int hf_gsm_map_ms_ext_externalClientList = -1;  /* Ext_ExternalClientList */
936 static int hf_gsm_map_ms_serviceTypeList = -1;    /* ServiceTypeList */
937 static int hf_gsm_map_ms_ExternalClientList_item = -1;  /* ExternalClient */
938 static int hf_gsm_map_ms_PLMNClientList_item = -1;  /* LCSClientInternalID */
939 static int hf_gsm_map_ms_Ext_ExternalClientList_item = -1;  /* ExternalClient */
940 static int hf_gsm_map_ms_clientIdentity = -1;     /* LCSClientExternalID */
941 static int hf_gsm_map_ms_gmlc_Restriction = -1;   /* GMLC_Restriction */
942 static int hf_gsm_map_ms_ServiceTypeList_item = -1;  /* ServiceType */
943 static int hf_gsm_map_ms_serviceTypeIdentity = -1;  /* LCSServiceTypeID */
944 static int hf_gsm_map_ms_MOLR_List_item = -1;     /* MOLR_Class */
945 static int hf_gsm_map_ms_ZoneCodeList_item = -1;  /* ZoneCode */
946 static int hf_gsm_map_ms_ss_List = -1;            /* SS_List */
947 static int hf_gsm_map_ms_regionalSubscriptionResponse = -1;  /* RegionalSubscriptionResponse */
948 static int hf_gsm_map_ms_basicServiceList = -1;   /* BasicServiceList */
949 static int hf_gsm_map_ms_regionalSubscriptionIdentifier = -1;  /* ZoneCode */
950 static int hf_gsm_map_ms_vbsGroupIndication = -1;  /* NULL */
951 static int hf_gsm_map_ms_vgcsGroupIndication = -1;  /* NULL */
952 static int hf_gsm_map_ms_camelSubscriptionInfoWithdraw = -1;  /* NULL */
953 static int hf_gsm_map_ms_gprsSubscriptionDataWithdraw = -1;  /* GPRSSubscriptionDataWithdraw */
954 static int hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsuppportedFeature = -1;  /* NULL */
955 static int hf_gsm_map_ms_lsaInformationWithdraw = -1;  /* LSAInformationWithdraw */
956 static int hf_gsm_map_ms_gmlc_ListWithdraw = -1;  /* NULL */
957 static int hf_gsm_map_ms_istInformationWithdraw = -1;  /* NULL */
958 static int hf_gsm_map_ms_specificCSI_Withdraw = -1;  /* SpecificCSI_Withdraw */
959 static int hf_gsm_map_ms_chargingCharacteristicsWithdraw = -1;  /* NULL */
960 static int hf_gsm_map_ms_stn_srWithdraw = -1;     /* NULL */
961 static int hf_gsm_map_ms_epsSubscriptionDataWithdraw = -1;  /* EPS_SubscriptionDataWithdraw */
962 static int hf_gsm_map_ms_apn_oi_replacementWithdraw = -1;  /* NULL */
963 static int hf_gsm_map_ms_csg_SubscriptionDeleted = -1;  /* NULL */
964 static int hf_gsm_map_ms_subscribedPeriodicTAU_RAU_TimerWithdraw = -1;  /* NULL */
965 static int hf_gsm_map_ms_subscribedPeriodicLAU_TimerWithdraw = -1;  /* NULL */
966 static int hf_gsm_map_ms_subscribed_vsrvccWithdraw = -1;  /* NULL */
967 static int hf_gsm_map_ms_vplmn_Csg_SubscriptionDeleted = -1;  /* NULL */
968 static int hf_gsm_map_ms_additionalMSISDN_Withdraw = -1;  /* NULL */
969 static int hf_gsm_map_ms_cs_to_ps_SRVCC_Withdraw = -1;  /* NULL */
970 static int hf_gsm_map_ms_imsiGroupIdList_Withdraw = -1;  /* NULL */
971 static int hf_gsm_map_ms_userPlaneIntegrityProtectionWithdraw = -1;  /* NULL */
972 static int hf_gsm_map_ms_dl_Buffering_Suggested_Packet_Count_Withdraw = -1;  /* NULL */
973 static int hf_gsm_map_ms_ue_UsageTypeWithdraw = -1;  /* NULL */
974 static int hf_gsm_map_ms_reset_idsWithdraw = -1;  /* NULL */
975 static int hf_gsm_map_ms_iab_OperationWithdraw = -1;  /* NULL */
976 static int hf_gsm_map_ms_allGPRSData = -1;        /* NULL */
977 static int hf_gsm_map_ms_contextIdList = -1;      /* ContextIdList */
978 static int hf_gsm_map_ms_allEPS_Data = -1;        /* NULL */
979 static int hf_gsm_map_ms_ContextIdList_item = -1;  /* ContextId */
980 static int hf_gsm_map_ms_allLSAData = -1;         /* NULL */
981 static int hf_gsm_map_ms_lsaIdentityList = -1;    /* LSAIdentityList */
982 static int hf_gsm_map_ms_LSAIdentityList_item = -1;  /* LSAIdentity */
983 static int hf_gsm_map_ms_BasicServiceList_item = -1;  /* Ext_BasicServiceCode */
984 static int hf_gsm_map_ms_o_CSI = -1;              /* O_CSI */
985 static int hf_gsm_map_ms_ss_CSI = -1;             /* SS_CSI */
986 static int hf_gsm_map_ms_o_BcsmCamelTDP_CriteriaList = -1;  /* O_BcsmCamelTDPCriteriaList */
987 static int hf_gsm_map_ms_tif_CSI = -1;            /* NULL */
988 static int hf_gsm_map_ms_m_CSI = -1;              /* M_CSI */
989 static int hf_gsm_map_ms_vt_CSI = -1;             /* T_CSI */
990 static int hf_gsm_map_ms_t_BCSM_CAMEL_TDP_CriteriaList = -1;  /* T_BCSM_CAMEL_TDP_CriteriaList */
991 static int hf_gsm_map_ms_d_CSI = -1;              /* D_CSI */
992 static int hf_gsm_map_ms_MT_smsCAMELTDP_CriteriaList_item = -1;  /* MT_smsCAMELTDP_Criteria */
993 static int hf_gsm_map_ms_sms_TriggerDetectionPoint = -1;  /* SMS_TriggerDetectionPoint */
994 static int hf_gsm_map_ms_tpdu_TypeCriterion = -1;  /* TPDU_TypeCriterion */
995 static int hf_gsm_map_ms_TPDU_TypeCriterion_item = -1;  /* MT_SMS_TPDU_Type */
996 static int hf_gsm_map_ms_dp_AnalysedInfoCriteriaList = -1;  /* DP_AnalysedInfoCriteriaList */
997 static int hf_gsm_map_ms_DP_AnalysedInfoCriteriaList_item = -1;  /* DP_AnalysedInfoCriterium */
998 static int hf_gsm_map_ms_dialledNumber = -1;      /* ISDN_AddressString */
999 static int hf_gsm_map_ms_defaultCallHandling = -1;  /* DefaultCallHandling */
1000 static int hf_gsm_map_ms_ss_CamelData = -1;       /* SS_CamelData */
1001 static int hf_gsm_map_ms_ss_EventList = -1;       /* SS_EventList */
1002 static int hf_gsm_map_ms_SS_EventList_item = -1;  /* SS_Code */
1003 static int hf_gsm_map_ms_o_BcsmCamelTDPDataList = -1;  /* O_BcsmCamelTDPDataList */
1004 static int hf_gsm_map_ms_csiActive = -1;          /* NULL */
1005 static int hf_gsm_map_ms_O_BcsmCamelTDPDataList_item = -1;  /* O_BcsmCamelTDPData */
1006 static int hf_gsm_map_ms_o_BcsmTriggerDetectionPoint = -1;  /* O_BcsmTriggerDetectionPoint */
1007 static int hf_gsm_map_ms_O_BcsmCamelTDPCriteriaList_item = -1;  /* O_BcsmCamelTDP_Criteria */
1008 static int hf_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_item = -1;  /* T_BCSM_CAMEL_TDP_Criteria */
1009 static int hf_gsm_map_ms_destinationNumberCriteria = -1;  /* DestinationNumberCriteria */
1010 static int hf_gsm_map_ms_basicServiceCriteria = -1;  /* BasicServiceCriteria */
1011 static int hf_gsm_map_ms_callTypeCriteria = -1;   /* CallTypeCriteria */
1012 static int hf_gsm_map_ms_o_CauseValueCriteria = -1;  /* O_CauseValueCriteria */
1013 static int hf_gsm_map_ms_t_BCSM_TriggerDetectionPoint = -1;  /* T_BcsmTriggerDetectionPoint */
1014 static int hf_gsm_map_ms_t_CauseValueCriteria = -1;  /* T_CauseValueCriteria */
1015 static int hf_gsm_map_ms_matchType = -1;          /* MatchType */
1016 static int hf_gsm_map_ms_destinationNumberList = -1;  /* DestinationNumberList */
1017 static int hf_gsm_map_ms_destinationNumberLengthList = -1;  /* DestinationNumberLengthList */
1018 static int hf_gsm_map_ms_DestinationNumberList_item = -1;  /* ISDN_AddressString */
1019 static int hf_gsm_map_ms_DestinationNumberLengthList_item = -1;  /* INTEGER_1_maxNumOfISDN_AddressDigits */
1020 static int hf_gsm_map_ms_BasicServiceCriteria_item = -1;  /* Ext_BasicServiceCode */
1021 static int hf_gsm_map_ms_O_CauseValueCriteria_item = -1;  /* CauseValue */
1022 static int hf_gsm_map_ms_T_CauseValueCriteria_item = -1;  /* CauseValue */
1023 static int hf_gsm_map_ms_sms_CAMEL_TDP_DataList = -1;  /* SMS_CAMEL_TDP_DataList */
1024 static int hf_gsm_map_ms_SMS_CAMEL_TDP_DataList_item = -1;  /* SMS_CAMEL_TDP_Data */
1025 static int hf_gsm_map_ms_defaultSMS_Handling = -1;  /* DefaultSMS_Handling */
1026 static int hf_gsm_map_ms_mobilityTriggers = -1;   /* MobilityTriggers */
1027 static int hf_gsm_map_ms_MobilityTriggers_item = -1;  /* MM_Code */
1028 static int hf_gsm_map_ms_t_BcsmCamelTDPDataList = -1;  /* T_BcsmCamelTDPDataList */
1029 static int hf_gsm_map_ms_T_BcsmCamelTDPDataList_item = -1;  /* T_BcsmCamelTDPData */
1030 static int hf_gsm_map_ms_t_BcsmTriggerDetectionPoint = -1;  /* T_BcsmTriggerDetectionPoint */
1031 static int hf_gsm_map_ms_ggsn_Address = -1;       /* GSN_Address */
1032 static int hf_gsm_map_ms_ggsn_Number = -1;        /* ISDN_AddressString */
1033 static int hf_gsm_map_ms_mobileNotReachableReason = -1;  /* AbsentSubscriberDiagnosticSM */
1034 static int hf_gsm_map_ms_sendingNodenumber = -1;  /* SendingNode_Number */
1035 static int hf_gsm_map_ms_hlr_List = -1;           /* HLR_List */
1036 static int hf_gsm_map_ms_reset_Id_List = -1;      /* Reset_Id_List */
1037 static int hf_gsm_map_ms_subscriptionData = -1;   /* InsertSubscriberDataArg */
1038 static int hf_gsm_map_ms_subscriptionDataDeletion = -1;  /* DeleteSubscriberDataArg */
1039 static int hf_gsm_map_ms_css_Number = -1;         /* ISDN_AddressString */
1040 static int hf_gsm_map_ms_msNotReachable = -1;     /* NULL */
1041 static int hf_gsm_map_ms_VBSDataList_item = -1;   /* VoiceBroadcastData */
1042 static int hf_gsm_map_ms_VGCSDataList_item = -1;  /* VoiceGroupCallData */
1043 static int hf_gsm_map_ms_groupId = -1;            /* GroupId */
1044 static int hf_gsm_map_ms_additionalSubscriptions = -1;  /* AdditionalSubscriptions */
1045 static int hf_gsm_map_ms_additionalInfo = -1;     /* AdditionalInfo */
1046 static int hf_gsm_map_ms_longGroupId = -1;        /* Long_GroupId */
1047 static int hf_gsm_map_ms_groupid = -1;            /* GroupId */
1048 static int hf_gsm_map_ms_broadcastInitEntitlement = -1;  /* NULL */
1049 static int hf_gsm_map_ms_requestedInfo = -1;      /* RequestedInfo */
1050 static int hf_gsm_map_ms_callPriority = -1;       /* EMLPP_Priority */
1051 static int hf_gsm_map_ms_subscriberInfo = -1;     /* SubscriberInfo */
1052 static int hf_gsm_map_ms_subscriberState = -1;    /* SubscriberState */
1053 static int hf_gsm_map_ms_ps_SubscriberState = -1;  /* PS_SubscriberState */
1054 static int hf_gsm_map_ms_ms_Classmark2 = -1;      /* MS_Classmark2 */
1055 static int hf_gsm_map_ms_gprs_MS_Class = -1;      /* GPRSMSClass */
1056 static int hf_gsm_map_ms_mnpInfoRes = -1;         /* MNPInfoRes */
1057 static int hf_gsm_map_ms_imsVoiceOverPS_SessionsIndication = -1;  /* IMS_VoiceOverPS_SessionsInd */
1058 static int hf_gsm_map_ms_lastUE_ActivityTime = -1;  /* Time */
1059 static int hf_gsm_map_ms_lastRAT_Type = -1;       /* Used_RAT_Type */
1060 static int hf_gsm_map_ms_eps_SubscriberState = -1;  /* PS_SubscriberState */
1061 static int hf_gsm_map_ms_timeZone = -1;           /* TimeZone */
1062 static int hf_gsm_map_ms_daylightSavingTime = -1;  /* DaylightSavingTime */
1063 static int hf_gsm_map_ms_locationInformation5GS = -1;  /* LocationInformation5GS */
1064 static int hf_gsm_map_ms_routeingNumber = -1;     /* RouteingNumber */
1065 static int hf_gsm_map_ms_numberPortabilityStatus = -1;  /* NumberPortabilityStatus */
1066 static int hf_gsm_map_ms_mSNetworkCapability = -1;  /* MSNetworkCapability */
1067 static int hf_gsm_map_ms_mSRadioAccessCapability = -1;  /* MSRadioAccessCapability */
1068 static int hf_gsm_map_ms_locationInformation_01 = -1;  /* NULL */
1069 static int hf_gsm_map_ms_subscriberState_01 = -1;  /* NULL */
1070 static int hf_gsm_map_ms_currentLocation = -1;    /* NULL */
1071 static int hf_gsm_map_ms_requestedDomain = -1;    /* DomainType */
1072 static int hf_gsm_map_ms_imei_01 = -1;            /* NULL */
1073 static int hf_gsm_map_ms_ms_classmark = -1;       /* NULL */
1074 static int hf_gsm_map_ms_mnpRequestedInfo = -1;   /* NULL */
1075 static int hf_gsm_map_ms_locationInformationEPS_Supported = -1;  /* NULL */
1076 static int hf_gsm_map_ms_t_adsData = -1;          /* NULL */
1077 static int hf_gsm_map_ms_requestedNodes = -1;     /* RequestedNodes */
1078 static int hf_gsm_map_ms_servingNodeIndication = -1;  /* NULL */
1079 static int hf_gsm_map_ms_localTimeZoneRequest = -1;  /* NULL */
1080 static int hf_gsm_map_ms_ageOfLocationInformation = -1;  /* AgeOfLocationInformation */
1081 static int hf_gsm_map_ms_geographicalInformation = -1;  /* GeographicalInformation */
1082 static int hf_gsm_map_ms_vlr_number = -1;         /* ISDN_AddressString */
1083 static int hf_gsm_map_ms_locationNumber = -1;     /* LocationNumber */
1084 static int hf_gsm_map_ms_cellGlobalIdOrServiceAreaIdOrLAI = -1;  /* CellGlobalIdOrServiceAreaIdOrLAI */
1085 static int hf_gsm_map_ms_selectedLSA_Id = -1;     /* LSAIdentity */
1086 static int hf_gsm_map_ms_geodeticInformation = -1;  /* GeodeticInformation */
1087 static int hf_gsm_map_ms_currentLocationRetrieved = -1;  /* NULL */
1088 static int hf_gsm_map_ms_sai_Present = -1;        /* NULL */
1089 static int hf_gsm_map_ms_userCSGInformation = -1;  /* UserCSGInformation */
1090 static int hf_gsm_map_ms_e_utranCellGlobalIdentity = -1;  /* E_UTRAN_CGI */
1091 static int hf_gsm_map_ms_trackingAreaIdentity = -1;  /* TA_Id */
1092 static int hf_gsm_map_ms_mme_Name = -1;           /* DiameterIdentity */
1093 static int hf_gsm_map_ms_routeingAreaIdentity = -1;  /* RAIdentity */
1094 static int hf_gsm_map_ms_selectedLSAIdentity = -1;  /* LSAIdentity */
1095 static int hf_gsm_map_ms_nrCellGlobalIdentity = -1;  /* NR_CGI */
1096 static int hf_gsm_map_ms_amf_address = -1;        /* FQDN */
1097 static int hf_gsm_map_ms_vplmnId = -1;            /* PLMN_Id */
1098 static int hf_gsm_map_ms_localtimeZone = -1;      /* TimeZone */
1099 static int hf_gsm_map_ms_nrTrackingAreaIdentity = -1;  /* NR_TA_Id */
1100 static int hf_gsm_map_ms_accessMode = -1;         /* OCTET_STRING_SIZE_1 */
1101 static int hf_gsm_map_ms_cmi = -1;                /* OCTET_STRING_SIZE_1 */
1102 static int hf_gsm_map_ms_assumedIdle = -1;        /* NULL */
1103 static int hf_gsm_map_ms_camelBusy = -1;          /* NULL */
1104 static int hf_gsm_map_ms_netDetNotReachable = -1;  /* NotReachableReason */
1105 static int hf_gsm_map_ms_notProvidedFromVLR = -1;  /* NULL */
1106 static int hf_gsm_map_ms_notProvidedFromSGSNorMME = -1;  /* NULL */
1107 static int hf_gsm_map_ms_ps_Detached = -1;        /* NULL */
1108 static int hf_gsm_map_ms_ps_AttachedNotReachableForPaging = -1;  /* NULL */
1109 static int hf_gsm_map_ms_ps_AttachedReachableForPaging = -1;  /* NULL */
1110 static int hf_gsm_map_ms_ps_PDP_ActiveNotReachableForPaging = -1;  /* PDP_ContextInfoList */
1111 static int hf_gsm_map_ms_ps_PDP_ActiveReachableForPaging = -1;  /* PDP_ContextInfoList */
1112 static int hf_gsm_map_ms_PDP_ContextInfoList_item = -1;  /* PDP_ContextInfo */
1113 static int hf_gsm_map_ms_pdp_ContextIdentifier = -1;  /* ContextId */
1114 static int hf_gsm_map_ms_pdp_ContextActive = -1;  /* NULL */
1115 static int hf_gsm_map_ms_apn_Subscribed = -1;     /* APN */
1116 static int hf_gsm_map_ms_apn_InUse = -1;          /* APN */
1117 static int hf_gsm_map_ms_nsapi = -1;              /* NSAPI */
1118 static int hf_gsm_map_ms_transactionId = -1;      /* TransactionId */
1119 static int hf_gsm_map_ms_teid_ForGnAndGp = -1;    /* TEID */
1120 static int hf_gsm_map_ms_teid_ForIu = -1;         /* TEID */
1121 static int hf_gsm_map_ms_qos_Subscribed_01 = -1;  /* Ext_QoS_Subscribed */
1122 static int hf_gsm_map_ms_qos_Requested = -1;      /* Ext_QoS_Subscribed */
1123 static int hf_gsm_map_ms_qos_Negotiated = -1;     /* Ext_QoS_Subscribed */
1124 static int hf_gsm_map_ms_chargingId = -1;         /* GPRSChargingID */
1125 static int hf_gsm_map_ms_rnc_Address = -1;        /* GSN_Address */
1126 static int hf_gsm_map_ms_qos2_Subscribed = -1;    /* Ext2_QoS_Subscribed */
1127 static int hf_gsm_map_ms_qos2_Requested = -1;     /* Ext2_QoS_Subscribed */
1128 static int hf_gsm_map_ms_qos2_Negotiated = -1;    /* Ext2_QoS_Subscribed */
1129 static int hf_gsm_map_ms_qos3_Subscribed = -1;    /* Ext3_QoS_Subscribed */
1130 static int hf_gsm_map_ms_qos3_Requested = -1;     /* Ext3_QoS_Subscribed */
1131 static int hf_gsm_map_ms_qos3_Negotiated = -1;    /* Ext3_QoS_Subscribed */
1132 static int hf_gsm_map_ms_qos4_Subscribed = -1;    /* Ext4_QoS_Subscribed */
1133 static int hf_gsm_map_ms_qos4_Requested = -1;     /* Ext4_QoS_Subscribed */
1134 static int hf_gsm_map_ms_qos4_Negotiated = -1;    /* Ext4_QoS_Subscribed */
1135 static int hf_gsm_map_ms_subscriberIdentity = -1;  /* SubscriberIdentity */
1136 static int hf_gsm_map_ms_requestedSubscriptionInfo = -1;  /* RequestedSubscriptionInfo */
1137 static int hf_gsm_map_ms_callForwardingData = -1;  /* CallForwardingData */
1138 static int hf_gsm_map_ms_callBarringData = -1;    /* CallBarringData */
1139 static int hf_gsm_map_ms_odb_Info = -1;           /* ODB_Info */
1140 static int hf_gsm_map_ms_camel_SubscriptionInfo = -1;  /* CAMEL_SubscriptionInfo */
1141 static int hf_gsm_map_ms_supportedVLR_CAMEL_Phases = -1;  /* SupportedCamelPhases */
1142 static int hf_gsm_map_ms_supportedSGSN_CAMEL_Phases = -1;  /* SupportedCamelPhases */
1143 static int hf_gsm_map_ms_offeredCamel4CSIsInVLR = -1;  /* OfferedCamel4CSIs */
1144 static int hf_gsm_map_ms_offeredCamel4CSIsInSGSN = -1;  /* OfferedCamel4CSIs */
1145 static int hf_gsm_map_ms_msisdn_BS_List = -1;     /* MSISDN_BS_List */
1146 static int hf_gsm_map_ms_cw_Data = -1;            /* CallWaitingData */
1147 static int hf_gsm_map_ms_ch_Data = -1;            /* CallHoldData */
1148 static int hf_gsm_map_ms_clip_Data = -1;          /* ClipData */
1149 static int hf_gsm_map_ms_clir_Data = -1;          /* ClirData */
1150 static int hf_gsm_map_ms_ect_data = -1;           /* EctData */
1151 static int hf_gsm_map_ms_cwFeatureList = -1;      /* Ext_CwFeatureList */
1152 static int hf_gsm_map_ms_Ext_CwFeatureList_item = -1;  /* Ext_CwFeature */
1153 static int hf_gsm_map_ms_overrideCategory = -1;   /* OverrideCategory */
1154 static int hf_gsm_map_ms_cliRestrictionOption = -1;  /* CliRestrictionOption */
1155 static int hf_gsm_map_ms_requestedSS_Info = -1;   /* SS_ForBS_Code */
1156 static int hf_gsm_map_ms_odb = -1;                /* NULL */
1157 static int hf_gsm_map_ms_requestedCAMEL_SubscriptionInfo = -1;  /* RequestedCAMEL_SubscriptionInfo */
1158 static int hf_gsm_map_ms_supportedVLR_CAMEL_Phases_01 = -1;  /* NULL */
1159 static int hf_gsm_map_ms_supportedSGSN_CAMEL_Phases_01 = -1;  /* NULL */
1160 static int hf_gsm_map_ms_additionalRequestedCAMEL_SubscriptionInfo = -1;  /* AdditionalRequestedCAMEL_SubscriptionInfo */
1161 static int hf_gsm_map_ms_msisdn_BS_List_01 = -1;  /* NULL */
1162 static int hf_gsm_map_ms_csg_SubscriptionDataRequested = -1;  /* NULL */
1163 static int hf_gsm_map_ms_cw_Info = -1;            /* NULL */
1164 static int hf_gsm_map_ms_clip_Info = -1;          /* NULL */
1165 static int hf_gsm_map_ms_clir_Info = -1;          /* NULL */
1166 static int hf_gsm_map_ms_hold_Info = -1;          /* NULL */
1167 static int hf_gsm_map_ms_ect_Info = -1;           /* NULL */
1168 static int hf_gsm_map_ms_MSISDN_BS_List_item = -1;  /* MSISDN_BS */
1169 static int hf_gsm_map_ms_password = -1;           /* Password */
1170 static int hf_gsm_map_ms_wrongPasswordAttemptsCounter = -1;  /* WrongPasswordAttemptsCounter */
1171 static int hf_gsm_map_ms_t_CSI = -1;              /* T_CSI */
1172 static int hf_gsm_map_ms_vt_BCSM_CAMEL_TDP_CriteriaList = -1;  /* T_BCSM_CAMEL_TDP_CriteriaList */
1173 static int hf_gsm_map_ms_tif_CSI_NotificationToCSE = -1;  /* NULL */
1174 static int hf_gsm_map_ms_specificCSIDeletedList = -1;  /* SpecificCSI_Withdraw */
1175 static int hf_gsm_map_ms_o_IM_CSI = -1;           /* O_CSI */
1176 static int hf_gsm_map_ms_o_IM_BcsmCamelTDP_CriteriaList = -1;  /* O_BcsmCamelTDPCriteriaList */
1177 static int hf_gsm_map_ms_d_IM_CSI = -1;           /* D_CSI */
1178 static int hf_gsm_map_ms_vt_IM_CSI = -1;          /* T_CSI */
1179 static int hf_gsm_map_ms_vt_IM_BCSM_CAMEL_TDP_CriteriaList = -1;  /* T_BCSM_CAMEL_TDP_CriteriaList */
1180 static int hf_gsm_map_ms_modificationRequestFor_CF_Info = -1;  /* ModificationRequestFor_CF_Info */
1181 static int hf_gsm_map_ms_modificationRequestFor_CB_Info = -1;  /* ModificationRequestFor_CB_Info */
1182 static int hf_gsm_map_ms_modificationRequestFor_CSI = -1;  /* ModificationRequestFor_CSI */
1183 static int hf_gsm_map_ms_modificationRequestFor_ODB_data = -1;  /* ModificationRequestFor_ODB_data */
1184 static int hf_gsm_map_ms_modificationRequestFor_IP_SM_GW_Data = -1;  /* ModificationRequestFor_IP_SM_GW_Data */
1185 static int hf_gsm_map_ms_activationRequestForUE_reachability = -1;  /* RequestedServingNode */
1186 static int hf_gsm_map_ms_modificationRequestFor_CSG = -1;  /* ModificationRequestFor_CSG */
1187 static int hf_gsm_map_ms_modificationRequestFor_CW_Data = -1;  /* ModificationRequestFor_CW_Info */
1188 static int hf_gsm_map_ms_modificationRequestFor_CLIP_Data = -1;  /* ModificationRequestFor_CLIP_Info */
1189 static int hf_gsm_map_ms_modificationRequestFor_CLIR_Data = -1;  /* ModificationRequestFor_CLIR_Info */
1190 static int hf_gsm_map_ms_modificationRequestFor_HOLD_Data = -1;  /* ModificationRequestFor_CH_Info */
1191 static int hf_gsm_map_ms_modificationRequestFor_ECT_Data = -1;  /* ModificationRequestFor_ECT_Info */
1192 static int hf_gsm_map_ms_modifyNotificationToCSE = -1;  /* ModificationInstruction */
1193 static int hf_gsm_map_ms_ss_InfoFor_CSE = -1;     /* Ext_SS_InfoFor_CSE */
1194 static int hf_gsm_map_ms_serviceCentreAddress = -1;  /* AddressString */
1195 static int hf_gsm_map_ms_forwardedToNumber_01 = -1;  /* AddressString */
1196 static int hf_gsm_map_ms_odb_data = -1;           /* ODB_Data */
1197 static int hf_gsm_map_ms_requestedCamel_SubscriptionInfo = -1;  /* RequestedCAMEL_SubscriptionInfo */
1198 static int hf_gsm_map_ms_modifyCSI_State = -1;    /* ModificationInstruction */
1199 static int hf_gsm_map_ms_modifyRegistrationStatus = -1;  /* ModificationInstruction */
1200 static int hf_gsm_map_ms_ip_sm_gw_DiameterAddress = -1;  /* NetworkNodeDiameterAddress */
1201 static int hf_gsm_map_ms_forwardingInfoFor_CSE = -1;  /* Ext_ForwardingInfoFor_CSE */
1202 static int hf_gsm_map_ms_callBarringInfoFor_CSE = -1;  /* Ext_CallBarringInfoFor_CSE */
1203 static int hf_gsm_map_ms_allInformationSent = -1;  /* NULL */
1204 static int hf_gsm_map_ms_ue_reachable = -1;       /* ServingNode */
1205 static int hf_gsm_map_ms_eventMet = -1;           /* MM_Code */
1206 static int hf_gsm_map_ms_supportedCAMELPhases = -1;  /* SupportedCamelPhases */
1207 static int hf_gsm_map_ms_offeredCamel4Functionalities = -1;  /* OfferedCamel4Functionalities */
1208 static int hf_gsm_map_ms_temporaryEmptySubscriptiondataIndicator = -1;  /* NULL */
1209 static int hf_gsm_map_ms_naea_PreferredCI = -1;   /* NAEA_PreferredCI */
1210 static int hf_gsm_map_ms_gprsSubscriptionData = -1;  /* GPRSSubscriptionData */
1211 static int hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsupportedFeature = -1;  /* NULL */
1212 static int hf_gsm_map_ms_networkAccessMode = -1;  /* NetworkAccessMode */
1213 static int hf_gsm_map_ms_lsaInformation = -1;     /* LSAInformation */
1214 static int hf_gsm_map_ms_lmu_Indicator = -1;      /* NULL */
1215 static int hf_gsm_map_ms_lcsInformation = -1;     /* LCSInformation */
1216 static int hf_gsm_map_ms_istAlertTimer = -1;      /* IST_AlertTimerValue */
1217 static int hf_gsm_map_ms_superChargerSupportedInHLR = -1;  /* AgeIndicator */
1218 static int hf_gsm_map_ms_mc_SS_Info = -1;         /* MC_SS_Info */
1219 static int hf_gsm_map_ms_cs_AllocationRetentionPriority = -1;  /* CS_AllocationRetentionPriority */
1220 static int hf_gsm_map_ms_sgsn_CAMEL_SubscriptionInfo = -1;  /* SGSN_CAMEL_SubscriptionInfo */
1221 static int hf_gsm_map_ms_ics_Indicator = -1;      /* BOOLEAN */
1222 static int hf_gsm_map_ms_eps_SubscriptionData = -1;  /* EPS_SubscriptionData */
1223 static int hf_gsm_map_ms_ue_ReachabilityRequestIndicator = -1;  /* NULL */
1224 static int hf_gsm_map_ms_subscribedPeriodicRAUTAUtimer = -1;  /* SubscribedPeriodicRAUTAUtimer */
1225 static int hf_gsm_map_ms_vplmnLIPAAllowed = -1;   /* NULL */
1226 static int hf_gsm_map_ms_mdtUserConsent = -1;     /* BOOLEAN */
1227 static int hf_gsm_map_ms_subscribedPeriodicLAUtimer = -1;  /* SubscribedPeriodicLAUtimer */
1228 static int hf_gsm_map_ms_vplmn_Csg_SubscriptionDataList = -1;  /* VPLMN_CSG_SubscriptionDataList */
1229 static int hf_gsm_map_ms_additionalMSISDN = -1;   /* ISDN_AddressString */
1230 static int hf_gsm_map_ms_psAndSMS_OnlyServiceProvision = -1;  /* NULL */
1231 static int hf_gsm_map_ms_smsInSGSNAllowed = -1;   /* NULL */
1232 static int hf_gsm_map_ms_cs_to_ps_SRVCC_Allowed_Indicator = -1;  /* NULL */
1233 static int hf_gsm_map_ms_pcscf_Restoration_Request = -1;  /* NULL */
1234 static int hf_gsm_map_ms_adjacentAccessRestrictionDataList = -1;  /* AdjacentAccessRestrictionDataList */
1235 static int hf_gsm_map_ms_imsi_Group_Id_List = -1;  /* IMSI_GroupIdList */
1236 static int hf_gsm_map_ms_userPlaneIntegrityProtectionIndicator = -1;  /* NULL */
1237 static int hf_gsm_map_ms_dl_Buffering_Suggested_Packet_Count = -1;  /* DL_Buffering_Suggested_Packet_Count */
1238 static int hf_gsm_map_ms_eDRX_Cycle_Length_List = -1;  /* EDRX_Cycle_Length_List */
1239 static int hf_gsm_map_ms_iab_Operation_Allowed_Indicator = -1;  /* NULL */
1240 /* named bits */
1241 static int hf_gsm_map_ms_SupportedRAT_Types_utran = -1;
1242 static int hf_gsm_map_ms_SupportedRAT_Types_geran = -1;
1243 static int hf_gsm_map_ms_SupportedRAT_Types_gan = -1;
1244 static int hf_gsm_map_ms_SupportedRAT_Types_i_hspa_evolution = -1;
1245 static int hf_gsm_map_ms_SupportedRAT_Types_e_utran = -1;
1246 static int hf_gsm_map_ms_SupportedRAT_Types_nb_iot = -1;
1247 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet1 = -1;
1248 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet2 = -1;
1249 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet3 = -1;
1250 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet4 = -1;
1251 static int hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet5 = -1;
1252 static int hf_gsm_map_ms_ISR_Information_updateLocation = -1;
1253 static int hf_gsm_map_ms_ISR_Information_cancelSGSN = -1;
1254 static int hf_gsm_map_ms_ISR_Information_initialAttachIndicator = -1;
1255 static int hf_gsm_map_ms_SupportedFeatures_odb_all_apn = -1;
1256 static int hf_gsm_map_ms_SupportedFeatures_odb_HPLMN_APN = -1;
1257 static int hf_gsm_map_ms_SupportedFeatures_odb_VPLMN_APN = -1;
1258 static int hf_gsm_map_ms_SupportedFeatures_odb_all_og = -1;
1259 static int hf_gsm_map_ms_SupportedFeatures_odb_all_international_og = -1;
1260 static int hf_gsm_map_ms_SupportedFeatures_odb_all_int_og_not_to_HPLMN_country = -1;
1261 static int hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og = -1;
1262 static int hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og_not_to_HPLMN_country = -1;
1263 static int hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og_and_internat_og_not_to_HPLMN_country = -1;
1264 static int hf_gsm_map_ms_SupportedFeatures_regSub = -1;
1265 static int hf_gsm_map_ms_SupportedFeatures_trace = -1;
1266 static int hf_gsm_map_ms_SupportedFeatures_lcs_all_PrivExcep = -1;
1267 static int hf_gsm_map_ms_SupportedFeatures_lcs_universal = -1;
1268 static int hf_gsm_map_ms_SupportedFeatures_lcs_CallSessionRelated = -1;
1269 static int hf_gsm_map_ms_SupportedFeatures_lcs_CallSessionUnrelated = -1;
1270 static int hf_gsm_map_ms_SupportedFeatures_lcs_PLMN_operator = -1;
1271 static int hf_gsm_map_ms_SupportedFeatures_lcs_ServiceType = -1;
1272 static int hf_gsm_map_ms_SupportedFeatures_lcs_all_MOLR_SS = -1;
1273 static int hf_gsm_map_ms_SupportedFeatures_lcs_basicSelfLocation = -1;
1274 static int hf_gsm_map_ms_SupportedFeatures_lcs_autonomousSelfLocation = -1;
1275 static int hf_gsm_map_ms_SupportedFeatures_lcs_transferToThirdParty = -1;
1276 static int hf_gsm_map_ms_SupportedFeatures_sm_mo_pp = -1;
1277 static int hf_gsm_map_ms_SupportedFeatures_barring_OutgoingCalls = -1;
1278 static int hf_gsm_map_ms_SupportedFeatures_baoc = -1;
1279 static int hf_gsm_map_ms_SupportedFeatures_boic = -1;
1280 static int hf_gsm_map_ms_SupportedFeatures_boicExHC = -1;
1281 static int hf_gsm_map_ms_SupportedFeatures_localTimeZoneRetrieval = -1;
1282 static int hf_gsm_map_ms_SupportedFeatures_additionalMsisdn = -1;
1283 static int hf_gsm_map_ms_SupportedFeatures_smsInMME = -1;
1284 static int hf_gsm_map_ms_SupportedFeatures_smsInSGSN = -1;
1285 static int hf_gsm_map_ms_SupportedFeatures_ue_Reachability_Notification = -1;
1286 static int hf_gsm_map_ms_SupportedFeatures_state_Location_Information_Retrieval = -1;
1287 static int hf_gsm_map_ms_SupportedFeatures_partialPurge = -1;
1288 static int hf_gsm_map_ms_SupportedFeatures_gddInSGSN = -1;
1289 static int hf_gsm_map_ms_SupportedFeatures_sgsnCAMELCapability = -1;
1290 static int hf_gsm_map_ms_SupportedFeatures_pcscf_Restoration = -1;
1291 static int hf_gsm_map_ms_SupportedFeatures_dedicatedCoreNetworks = -1;
1292 static int hf_gsm_map_ms_SupportedFeatures_non_IP_PDN_Type_APNs = -1;
1293 static int hf_gsm_map_ms_SupportedFeatures_non_IP_PDP_Type_APNs = -1;
1294 static int hf_gsm_map_ms_SupportedFeatures_nrAsSecondaryRAT = -1;
1295 static int hf_gsm_map_ms_Ext_SupportedFeatures_unlicensedSpectrumAsSecondaryRAT = -1;
1296 static int hf_gsm_map_ms_LCLS_Negotiation_permission_indicator_not_allowed_bit = -1;
1297 static int hf_gsm_map_ms_LCLS_Negotiation_permission_indicator_spare_bit = -1;
1298 static int hf_gsm_map_ms_LCLS_ConfigurationPreference_forward_data_sending_indicator = -1;
1299 static int hf_gsm_map_ms_LCLS_ConfigurationPreference_backward_data_sending_indicator = -1;
1300 static int hf_gsm_map_ms_LCLS_ConfigurationPreference_forward_data_reception_indicator = -1;
1301 static int hf_gsm_map_ms_LCLS_ConfigurationPreference_backward_data_reception_indicator = -1;
1302 static int hf_gsm_map_ms_RequestedEquipmentInfo_equipmentStatus = -1;
1303 static int hf_gsm_map_ms_RequestedEquipmentInfo_bmuef = -1;
1304 static int hf_gsm_map_ms_AccessRestrictionData_utranNotAllowed = -1;
1305 static int hf_gsm_map_ms_AccessRestrictionData_geranNotAllowed = -1;
1306 static int hf_gsm_map_ms_AccessRestrictionData_ganNotAllowed = -1;
1307 static int hf_gsm_map_ms_AccessRestrictionData_i_hspa_evolutionNotAllowed = -1;
1308 static int hf_gsm_map_ms_AccessRestrictionData_wb_e_utranNotAllowed = -1;
1309 static int hf_gsm_map_ms_AccessRestrictionData_ho_toNon3GPP_AccessNotAllowed = -1;
1310 static int hf_gsm_map_ms_AccessRestrictionData_nb_iotNotAllowed = -1;
1311 static int hf_gsm_map_ms_AccessRestrictionData_enhancedCoverageNotAllowed = -1;
1312 static int hf_gsm_map_ms_Ext_AccessRestrictionData_nrAsSecondaryRATNotAllowed = -1;
1313 static int hf_gsm_map_ms_Ext_AccessRestrictionData_unlicensedSpectrumAsSecondaryRATNotAllowed = -1;
1314 static int hf_gsm_map_ms_ODB_GeneralData_allOG_CallsBarred = -1;
1315 static int hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsBarred = -1;
1316 static int hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred = -1;
1317 static int hf_gsm_map_ms_ODB_GeneralData_premiumRateInformationOGCallsBarred = -1;
1318 static int hf_gsm_map_ms_ODB_GeneralData_premiumRateEntertainementOGCallsBarred = -1;
1319 static int hf_gsm_map_ms_ODB_GeneralData_ss_AccessBarred = -1;
1320 static int hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsBarred = -1;
1321 static int hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred = -1;
1322 static int hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred = -1;
1323 static int hf_gsm_map_ms_ODB_GeneralData_allECT_Barred = -1;
1324 static int hf_gsm_map_ms_ODB_GeneralData_chargeableECT_Barred = -1;
1325 static int hf_gsm_map_ms_ODB_GeneralData_internationalECT_Barred = -1;
1326 static int hf_gsm_map_ms_ODB_GeneralData_interzonalECT_Barred = -1;
1327 static int hf_gsm_map_ms_ODB_GeneralData_doublyChargeableECT_Barred = -1;
1328 static int hf_gsm_map_ms_ODB_GeneralData_multipleECT_Barred = -1;
1329 static int hf_gsm_map_ms_ODB_GeneralData_allPacketOrientedServicesBarred = -1;
1330 static int hf_gsm_map_ms_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred = -1;
1331 static int hf_gsm_map_ms_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred = -1;
1332 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred = -1;
1333 static int hf_gsm_map_ms_ODB_GeneralData_allIC_CallsBarred = -1;
1334 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred = -1;
1335 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred = -1;
1336 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_Barred = -1;
1337 static int hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_CountryBarred = -1;
1338 static int hf_gsm_map_ms_ODB_GeneralData_registrationAllCF_Barred = -1;
1339 static int hf_gsm_map_ms_ODB_GeneralData_registrationCFNotToHPLMN_Barred = -1;
1340 static int hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCF_Barred = -1;
1341 static int hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred = -1;
1342 static int hf_gsm_map_ms_ODB_GeneralData_registrationInternationalCF_Barred = -1;
1343 static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType1 = -1;
1344 static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType2 = -1;
1345 static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType3 = -1;
1346 static int hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType4 = -1;
1347 static int hf_gsm_map_ms_SpecificCSI_Withdraw_o_csi = -1;
1348 static int hf_gsm_map_ms_SpecificCSI_Withdraw_ss_csi = -1;
1349 static int hf_gsm_map_ms_SpecificCSI_Withdraw_tif_csi = -1;
1350 static int hf_gsm_map_ms_SpecificCSI_Withdraw_d_csi = -1;
1351 static int hf_gsm_map_ms_SpecificCSI_Withdraw_vt_csi = -1;
1352 static int hf_gsm_map_ms_SpecificCSI_Withdraw_mo_sms_csi = -1;
1353 static int hf_gsm_map_ms_SpecificCSI_Withdraw_m_csi = -1;
1354 static int hf_gsm_map_ms_SpecificCSI_Withdraw_gprs_csi = -1;
1355 static int hf_gsm_map_ms_SpecificCSI_Withdraw_t_csi = -1;
1356 static int hf_gsm_map_ms_SpecificCSI_Withdraw_mt_sms_csi = -1;
1357 static int hf_gsm_map_ms_SpecificCSI_Withdraw_mg_csi = -1;
1358 static int hf_gsm_map_ms_SpecificCSI_Withdraw_o_IM_CSI = -1;
1359 static int hf_gsm_map_ms_SpecificCSI_Withdraw_d_IM_CSI = -1;
1360 static int hf_gsm_map_ms_SpecificCSI_Withdraw_vt_IM_CSI = -1;
1361 static int hf_gsm_map_ms_SupportedCamelPhases_phase1 = -1;
1362 static int hf_gsm_map_ms_SupportedCamelPhases_phase2 = -1;
1363 static int hf_gsm_map_ms_SupportedCamelPhases_phase3 = -1;
1364 static int hf_gsm_map_ms_SupportedCamelPhases_phase4 = -1;
1365 static int hf_gsm_map_ms_OfferedCamel4CSIs_o_csi = -1;
1366 static int hf_gsm_map_ms_OfferedCamel4CSIs_d_csi = -1;
1367 static int hf_gsm_map_ms_OfferedCamel4CSIs_vt_csi = -1;
1368 static int hf_gsm_map_ms_OfferedCamel4CSIs_t_csi = -1;
1369 static int hf_gsm_map_ms_OfferedCamel4CSIs_mt_sms_csi = -1;
1370 static int hf_gsm_map_ms_OfferedCamel4CSIs_mg_csi = -1;
1371 static int hf_gsm_map_ms_OfferedCamel4CSIs_psi_enhancements = -1;
1372 static int hf_gsm_map_ms_OfferedCamel4Functionalities_initiateCallAttempt = -1;
1373 static int hf_gsm_map_ms_OfferedCamel4Functionalities_splitLeg = -1;
1374 static int hf_gsm_map_ms_OfferedCamel4Functionalities_moveLeg = -1;
1375 static int hf_gsm_map_ms_OfferedCamel4Functionalities_disconnectLeg = -1;
1376 static int hf_gsm_map_ms_OfferedCamel4Functionalities_entityReleased = -1;
1377 static int hf_gsm_map_ms_OfferedCamel4Functionalities_dfc_WithArgument = -1;
1378 static int hf_gsm_map_ms_OfferedCamel4Functionalities_playTone = -1;
1379 static int hf_gsm_map_ms_OfferedCamel4Functionalities_dtmf_MidCall = -1;
1380 static int hf_gsm_map_ms_OfferedCamel4Functionalities_chargingIndicator = -1;
1381 static int hf_gsm_map_ms_OfferedCamel4Functionalities_alertingDP = -1;
1382 static int hf_gsm_map_ms_OfferedCamel4Functionalities_locationAtAlerting = -1;
1383 static int hf_gsm_map_ms_OfferedCamel4Functionalities_changeOfPositionDP = -1;
1384 static int hf_gsm_map_ms_OfferedCamel4Functionalities_or_Interactions = -1;
1385 static int hf_gsm_map_ms_OfferedCamel4Functionalities_warningToneEnhancements = -1;
1386 static int hf_gsm_map_ms_OfferedCamel4Functionalities_cf_Enhancements = -1;
1387 static int hf_gsm_map_ms_OfferedCamel4Functionalities_subscribedEnhancedDialledServices = -1;
1388 static int hf_gsm_map_ms_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices = -1;
1389 static int hf_gsm_map_ms_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP = -1;
1390 static int hf_gsm_map_ms_OfferedCamel4Functionalities_serviceChangeDP = -1;
1391 static int hf_gsm_map_ms_OfferedCamel4Functionalities_collectInformation = -1;
1392 static int hf_gsm_map_ms_AdditionalSubscriptions_privilegedUplinkRequest = -1;
1393 static int hf_gsm_map_ms_AdditionalSubscriptions_emergencyUplinkRequest = -1;
1394 static int hf_gsm_map_ms_AdditionalSubscriptions_emergencyReset = -1;
1395 static int hf_gsm_map_ms_RequestedNodes_mme = -1;
1396 static int hf_gsm_map_ms_RequestedNodes_sgsn = -1;
1397 static int hf_gsm_map_ms_RequestedServingNode_mmeAndSgsn = -1;
1398 static int hf_gsm_map_ms_ServingNode_mme = -1;
1399 static int hf_gsm_map_ms_ServingNode_sgsn = -1;
1400 
1401 /* --- Module MAP-CH-DataTypes --- --- ---                                    */
1402 
1403 static int hf_gsm_map_ch_cug_Interlock = -1;      /* CUG_Interlock */
1404 static int hf_gsm_map_ch_cug_OutgoingAccess = -1;  /* NULL */
1405 static int hf_gsm_map_ch_extensionContainer = -1;  /* ExtensionContainer */
1406 static int hf_gsm_map_ch_msisdn = -1;             /* ISDN_AddressString */
1407 static int hf_gsm_map_ch_cug_CheckInfo = -1;      /* CUG_CheckInfo */
1408 static int hf_gsm_map_ch_numberOfForwarding = -1;  /* NumberOfForwarding */
1409 static int hf_gsm_map_ch_interrogationType = -1;  /* InterrogationType */
1410 static int hf_gsm_map_ch_or_Interrogation = -1;   /* NULL */
1411 static int hf_gsm_map_ch_or_Capability = -1;      /* OR_Phase */
1412 static int hf_gsm_map_ch_gmsc_OrGsmSCF_Address = -1;  /* ISDN_AddressString */
1413 static int hf_gsm_map_ch_callReferenceNumber = -1;  /* CallReferenceNumber */
1414 static int hf_gsm_map_ch_forwardingReason = -1;   /* ForwardingReason */
1415 static int hf_gsm_map_ch_basicServiceGroup = -1;  /* Ext_BasicServiceCode */
1416 static int hf_gsm_map_ch_networkSignalInfo = -1;  /* ExternalSignalInfo */
1417 static int hf_gsm_map_ch_camelInfo = -1;          /* CamelInfo */
1418 static int hf_gsm_map_ch_suppressionOfAnnouncement = -1;  /* SuppressionOfAnnouncement */
1419 static int hf_gsm_map_ch_alertingPattern = -1;    /* AlertingPattern */
1420 static int hf_gsm_map_ch_ccbs_Call = -1;          /* NULL */
1421 static int hf_gsm_map_ch_supportedCCBS_Phase = -1;  /* SupportedCCBS_Phase */
1422 static int hf_gsm_map_ch_additionalSignalInfo = -1;  /* Ext_ExternalSignalInfo */
1423 static int hf_gsm_map_ch_istSupportIndicator = -1;  /* IST_SupportIndicator */
1424 static int hf_gsm_map_ch_pre_pagingSupported = -1;  /* NULL */
1425 static int hf_gsm_map_ch_callDiversionTreatmentIndicator = -1;  /* CallDiversionTreatmentIndicator */
1426 static int hf_gsm_map_ch_longFTN_Supported = -1;  /* NULL */
1427 static int hf_gsm_map_ch_suppress_VT_CSI = -1;    /* NULL */
1428 static int hf_gsm_map_ch_suppressIncomingCallBarring = -1;  /* NULL */
1429 static int hf_gsm_map_ch_gsmSCF_InitiatedCall = -1;  /* NULL */
1430 static int hf_gsm_map_ch_basicServiceGroup2 = -1;  /* Ext_BasicServiceCode */
1431 static int hf_gsm_map_ch_networkSignalInfo2 = -1;  /* ExternalSignalInfo */
1432 static int hf_gsm_map_ch_suppressMTSS = -1;       /* SuppressMTSS */
1433 static int hf_gsm_map_ch_mtRoamingRetrySupported = -1;  /* NULL */
1434 static int hf_gsm_map_ch_callPriority = -1;       /* EMLPP_Priority */
1435 static int hf_gsm_map_ch_imsi = -1;               /* IMSI */
1436 static int hf_gsm_map_ch_extendedRoutingInfo = -1;  /* ExtendedRoutingInfo */
1437 static int hf_gsm_map_ch_cugSubscriptionFlag = -1;  /* NULL */
1438 static int hf_gsm_map_ch_subscriberInfo = -1;     /* SubscriberInfo */
1439 static int hf_gsm_map_ch_ss_List = -1;            /* SS_List */
1440 static int hf_gsm_map_ch_basicService = -1;       /* Ext_BasicServiceCode */
1441 static int hf_gsm_map_ch_forwardingInterrogationRequired = -1;  /* NULL */
1442 static int hf_gsm_map_ch_vmsc_Address = -1;       /* ISDN_AddressString */
1443 static int hf_gsm_map_ch_naea_PreferredCI = -1;   /* NAEA_PreferredCI */
1444 static int hf_gsm_map_ch_ccbs_Indicators = -1;    /* CCBS_Indicators */
1445 static int hf_gsm_map_ch_numberPortabilityStatus = -1;  /* NumberPortabilityStatus */
1446 static int hf_gsm_map_ch_istAlertTimer = -1;      /* IST_AlertTimerValue */
1447 static int hf_gsm_map_ch_supportedCamelPhasesInVMSC = -1;  /* SupportedCamelPhases */
1448 static int hf_gsm_map_ch_offeredCamel4CSIsInVMSC = -1;  /* OfferedCamel4CSIs */
1449 static int hf_gsm_map_ch_routingInfo2 = -1;       /* RoutingInfo */
1450 static int hf_gsm_map_ch_ss_List2 = -1;           /* SS_List */
1451 static int hf_gsm_map_ch_basicService2 = -1;      /* Ext_BasicServiceCode */
1452 static int hf_gsm_map_ch_allowedServices = -1;    /* AllowedServices */
1453 static int hf_gsm_map_ch_unavailabilityCause = -1;  /* UnavailabilityCause */
1454 static int hf_gsm_map_ch_releaseResourcesSupported = -1;  /* NULL */
1455 static int hf_gsm_map_ch_gsm_BearerCapability = -1;  /* ExternalSignalInfo */
1456 static int hf_gsm_map_ch_ccbs_Possible = -1;      /* NULL */
1457 static int hf_gsm_map_ch_keepCCBS_CallIndicator = -1;  /* NULL */
1458 static int hf_gsm_map_ch_roamingNumber = -1;      /* ISDN_AddressString */
1459 static int hf_gsm_map_ch_forwardingData = -1;     /* ForwardingData */
1460 static int hf_gsm_map_ch_forwardedToNumber = -1;  /* ISDN_AddressString */
1461 static int hf_gsm_map_ch_forwardedToSubaddress = -1;  /* ISDN_SubaddressString */
1462 static int hf_gsm_map_ch_forwardingOptions = -1;  /* ForwardingOptions */
1463 static int hf_gsm_map_ch_longForwardedToNumber = -1;  /* FTN_AddressString */
1464 static int hf_gsm_map_ch_msc_Number = -1;         /* ISDN_AddressString */
1465 static int hf_gsm_map_ch_lmsi = -1;               /* LMSI */
1466 static int hf_gsm_map_ch_gmsc_Address = -1;       /* ISDN_AddressString */
1467 static int hf_gsm_map_ch_supportedCamelPhasesInInterrogatingNode = -1;  /* SupportedCamelPhases */
1468 static int hf_gsm_map_ch_orNotSupportedInGMSC = -1;  /* NULL */
1469 static int hf_gsm_map_ch_offeredCamel4CSIsInInterrogatingNode = -1;  /* OfferedCamel4CSIs */
1470 static int hf_gsm_map_ch_pagingArea = -1;         /* PagingArea */
1471 static int hf_gsm_map_ch_mtrf_Indicator = -1;     /* NULL */
1472 static int hf_gsm_map_ch_oldMSC_Number = -1;      /* ISDN_AddressString */
1473 static int hf_gsm_map_ch_lastUsedLtePLMN_Id = -1;  /* PLMN_Id */
1474 static int hf_gsm_map_ch_o_CSI = -1;              /* O_CSI */
1475 static int hf_gsm_map_ch_uu_Data = -1;            /* UU_Data */
1476 static int hf_gsm_map_ch_allInformationSent = -1;  /* NULL */
1477 static int hf_gsm_map_ch_d_csi = -1;              /* D_CSI */
1478 static int hf_gsm_map_ch_o_BcsmCamelTDPCriteriaList = -1;  /* O_BcsmCamelTDPCriteriaList */
1479 static int hf_gsm_map_ch_mtRoamingRetry = -1;     /* NULL */
1480 static int hf_gsm_map_ch_uuIndicator = -1;        /* UUIndicator */
1481 static int hf_gsm_map_ch_uui = -1;                /* UUI */
1482 static int hf_gsm_map_ch_uusCFInteraction = -1;   /* NULL */
1483 static int hf_gsm_map_ch_supportedCamelPhases = -1;  /* SupportedCamelPhases */
1484 static int hf_gsm_map_ch_suppress_T_CSI = -1;     /* NULL */
1485 static int hf_gsm_map_ch_offeredCamel4CSIs = -1;  /* OfferedCamel4CSIs */
1486 static int hf_gsm_map_ch_routingInfo = -1;        /* RoutingInfo */
1487 static int hf_gsm_map_ch_camelRoutingInfo = -1;   /* CamelRoutingInfo */
1488 static int hf_gsm_map_ch_gmscCamelSubscriptionInfo = -1;  /* GmscCamelSubscriptionInfo */
1489 static int hf_gsm_map_ch_t_CSI = -1;              /* T_CSI */
1490 static int hf_gsm_map_ch_o_BcsmCamelTDP_CriteriaList = -1;  /* O_BcsmCamelTDPCriteriaList */
1491 static int hf_gsm_map_ch_t_BCSM_CAMEL_TDP_CriteriaList = -1;  /* T_BCSM_CAMEL_TDP_CriteriaList */
1492 static int hf_gsm_map_ch_ccbs_Monitoring = -1;    /* ReportingState */
1493 static int hf_gsm_map_ch_ccbs_SubscriberStatus = -1;  /* CCBS_SubscriberStatus */
1494 static int hf_gsm_map_ch_eventReportData = -1;    /* EventReportData */
1495 static int hf_gsm_map_ch_callReportdata = -1;     /* CallReportData */
1496 static int hf_gsm_map_ch_monitoringMode = -1;     /* MonitoringMode */
1497 static int hf_gsm_map_ch_callOutcome = -1;        /* CallOutcome */
1498 static int hf_gsm_map_ch_callInfo = -1;           /* ExternalSignalInfo */
1499 static int hf_gsm_map_ch_ccbs_Feature = -1;       /* CCBS_Feature */
1500 static int hf_gsm_map_ch_translatedB_Number = -1;  /* ISDN_AddressString */
1501 static int hf_gsm_map_ch_replaceB_Number = -1;    /* NULL */
1502 static int hf_gsm_map_ch_ruf_Outcome = -1;        /* RUF_Outcome */
1503 static int hf_gsm_map_ch_istInformationWithdraw = -1;  /* NULL */
1504 static int hf_gsm_map_ch_callTerminationIndicator = -1;  /* CallTerminationIndicator */
1505 static int hf_gsm_map_ch_msrn = -1;               /* ISDN_AddressString */
1506 /* named bits */
1507 static int hf_gsm_map_ch_SuppressMTSS_suppressCUG = -1;
1508 static int hf_gsm_map_ch_SuppressMTSS_suppressCCBS = -1;
1509 static int hf_gsm_map_ch_AllowedServices_firstServiceAllowed = -1;
1510 static int hf_gsm_map_ch_AllowedServices_secondServiceAllowed = -1;
1511 
1512 /* --- Module MAP-LCS-DataTypes --- --- ---                                   */
1513 
1514 static int hf_gsm_map_lcs_gsm_map_lcs_LCS_ClientID_PDU = -1;  /* LCS_ClientID */
1515 static int hf_gsm_map_lcs_mlcNumber = -1;         /* ISDN_AddressString */
1516 static int hf_gsm_map_lcs_targetMS = -1;          /* SubscriberIdentity */
1517 static int hf_gsm_map_lcs_extensionContainer = -1;  /* ExtensionContainer */
1518 static int hf_gsm_map_lcs_lcsLocationInfo = -1;   /* LCSLocationInfo */
1519 static int hf_gsm_map_lcs_v_gmlc_Address = -1;    /* GSN_Address */
1520 static int hf_gsm_map_lcs_h_gmlc_Address = -1;    /* GSN_Address */
1521 static int hf_gsm_map_lcs_ppr_Address = -1;       /* GSN_Address */
1522 static int hf_gsm_map_lcs_additional_v_gmlc_Address = -1;  /* GSN_Address */
1523 static int hf_gsm_map_lcs_networkNode_Number = -1;  /* ISDN_AddressString */
1524 static int hf_gsm_map_lcs_lmsi = -1;              /* LMSI */
1525 static int hf_gsm_map_lcs_gprsNodeIndicator = -1;  /* NULL */
1526 static int hf_gsm_map_lcs_additional_Number = -1;  /* Additional_Number */
1527 static int hf_gsm_map_lcs_supportedLCS_CapabilitySets = -1;  /* SupportedLCS_CapabilitySets */
1528 static int hf_gsm_map_lcs_additional_LCS_CapabilitySets = -1;  /* SupportedLCS_CapabilitySets */
1529 static int hf_gsm_map_lcs_mme_Name = -1;          /* DiameterIdentity */
1530 static int hf_gsm_map_lcs_aaa_Server_Name = -1;   /* DiameterIdentity */
1531 static int hf_gsm_map_lcs_sgsn_Name = -1;         /* DiameterIdentity */
1532 static int hf_gsm_map_lcs_sgsn_Realm = -1;        /* DiameterIdentity */
1533 static int hf_gsm_map_lcs_locationType = -1;      /* LocationType */
1534 static int hf_gsm_map_lcs_mlc_Number = -1;        /* ISDN_AddressString */
1535 static int hf_gsm_map_lcs_lcs_ClientID = -1;      /* LCS_ClientID */
1536 static int hf_gsm_map_lcs_privacyOverride = -1;   /* NULL */
1537 static int hf_gsm_map_lcs_imsi = -1;              /* IMSI */
1538 static int hf_gsm_map_lcs_msisdn = -1;            /* ISDN_AddressString */
1539 static int hf_gsm_map_lcs_imei = -1;              /* IMEI */
1540 static int hf_gsm_map_lcs_lcs_Priority = -1;      /* LCS_Priority */
1541 static int hf_gsm_map_lcs_lcs_QoS = -1;           /* LCS_QoS */
1542 static int hf_gsm_map_lcs_supportedGADShapes = -1;  /* SupportedGADShapes */
1543 static int hf_gsm_map_lcs_lcs_ReferenceNumber = -1;  /* LCS_ReferenceNumber */
1544 static int hf_gsm_map_lcs_lcsServiceTypeID = -1;  /* LCSServiceTypeID */
1545 static int hf_gsm_map_lcs_lcsCodeword = -1;       /* LCSCodeword */
1546 static int hf_gsm_map_lcs_lcs_PrivacyCheck = -1;  /* LCS_PrivacyCheck */
1547 static int hf_gsm_map_lcs_areaEventInfo = -1;     /* AreaEventInfo */
1548 static int hf_gsm_map_lcs_mo_lrShortCircuitIndicator = -1;  /* NULL */
1549 static int hf_gsm_map_lcs_periodicLDRInfo = -1;   /* PeriodicLDRInfo */
1550 static int hf_gsm_map_lcs_reportingPLMNList = -1;  /* ReportingPLMNList */
1551 static int hf_gsm_map_lcs_locationEstimateType = -1;  /* LocationEstimateType */
1552 static int hf_gsm_map_lcs_deferredLocationEventType = -1;  /* DeferredLocationEventType */
1553 static int hf_gsm_map_lcs_lcsClientType = -1;     /* LCSClientType */
1554 static int hf_gsm_map_lcs_lcsClientExternalID = -1;  /* LCSClientExternalID */
1555 static int hf_gsm_map_lcs_lcsClientDialedByMS = -1;  /* AddressString */
1556 static int hf_gsm_map_lcs_lcsClientInternalID = -1;  /* LCSClientInternalID */
1557 static int hf_gsm_map_lcs_lcsClientName = -1;     /* LCSClientName */
1558 static int hf_gsm_map_lcs_lcsAPN = -1;            /* APN */
1559 static int hf_gsm_map_lcs_lcsRequestorID = -1;    /* LCSRequestorID */
1560 static int hf_gsm_map_lcs_dataCodingScheme = -1;  /* USSD_DataCodingScheme */
1561 static int hf_gsm_map_lcs_nameString = -1;        /* NameString */
1562 static int hf_gsm_map_lcs_lcs_FormatIndicator = -1;  /* LCS_FormatIndicator */
1563 static int hf_gsm_map_lcs_requestorIDString = -1;  /* RequestorIDString */
1564 static int hf_gsm_map_lcs_horizontal_accuracy = -1;  /* Horizontal_Accuracy */
1565 static int hf_gsm_map_lcs_verticalCoordinateRequest = -1;  /* NULL */
1566 static int hf_gsm_map_lcs_vertical_accuracy = -1;  /* Vertical_Accuracy */
1567 static int hf_gsm_map_lcs_responseTime = -1;      /* ResponseTime */
1568 static int hf_gsm_map_lcs_velocityRequest = -1;   /* NULL */
1569 static int hf_gsm_map_lcs_responseTimeCategory = -1;  /* ResponseTimeCategory */
1570 static int hf_gsm_map_lcs_lcsCodewordString = -1;  /* LCSCodewordString */
1571 static int hf_gsm_map_lcs_callSessionUnrelated = -1;  /* PrivacyCheckRelatedAction */
1572 static int hf_gsm_map_lcs_callSessionRelated = -1;  /* PrivacyCheckRelatedAction */
1573 static int hf_gsm_map_lcs_areaDefinition = -1;    /* AreaDefinition */
1574 static int hf_gsm_map_lcs_occurrenceInfo = -1;    /* OccurrenceInfo */
1575 static int hf_gsm_map_lcs_intervalTime = -1;      /* IntervalTime */
1576 static int hf_gsm_map_lcs_areaList = -1;          /* AreaList */
1577 static int hf_gsm_map_lcs_AreaList_item = -1;     /* Area */
1578 static int hf_gsm_map_lcs_areaType = -1;          /* AreaType */
1579 static int hf_gsm_map_lcs_areaIdentification = -1;  /* AreaIdentification */
1580 static int hf_gsm_map_lcs_reportingAmount = -1;   /* ReportingAmount */
1581 static int hf_gsm_map_lcs_reportingInterval = -1;  /* ReportingInterval */
1582 static int hf_gsm_map_lcs_plmn_ListPrioritized = -1;  /* NULL */
1583 static int hf_gsm_map_lcs_plmn_List = -1;         /* PLMNList */
1584 static int hf_gsm_map_lcs_PLMNList_item = -1;     /* ReportingPLMN */
1585 static int hf_gsm_map_lcs_plmn_Id = -1;           /* PLMN_Id */
1586 static int hf_gsm_map_lcs_ran_Technology = -1;    /* RAN_Technology */
1587 static int hf_gsm_map_lcs_ran_PeriodicLocationSupport = -1;  /* NULL */
1588 static int hf_gsm_map_lcs_locationEstimate = -1;  /* Ext_GeographicalInformation */
1589 static int hf_gsm_map_lcs_ageOfLocationEstimate = -1;  /* AgeOfLocationInformation */
1590 static int hf_gsm_map_lcs_add_LocationEstimate = -1;  /* Add_GeographicalInformation */
1591 static int hf_gsm_map_lcs_deferredmt_lrResponseIndicator = -1;  /* NULL */
1592 static int hf_gsm_map_lcs_geranPositioningData = -1;  /* PositioningDataInformation */
1593 static int hf_gsm_map_lcs_utranPositioningData = -1;  /* UtranPositioningDataInfo */
1594 static int hf_gsm_map_lcs_cellIdOrSai = -1;       /* CellGlobalIdOrServiceAreaIdOrLAI */
1595 static int hf_gsm_map_lcs_sai_Present = -1;       /* NULL */
1596 static int hf_gsm_map_lcs_accuracyFulfilmentIndicator = -1;  /* AccuracyFulfilmentIndicator */
1597 static int hf_gsm_map_lcs_velocityEstimate = -1;  /* VelocityEstimate */
1598 static int hf_gsm_map_lcs_geranGANSSpositioningData = -1;  /* GeranGANSSpositioningData */
1599 static int hf_gsm_map_lcs_utranGANSSpositioningData = -1;  /* UtranGANSSpositioningData */
1600 static int hf_gsm_map_lcs_targetServingNodeForHandover = -1;  /* ServingNodeAddress */
1601 static int hf_gsm_map_lcs_utranAdditionalPositioningData = -1;  /* UtranAdditionalPositioningData */
1602 static int hf_gsm_map_lcs_utranBaroPressureMeas = -1;  /* UtranBaroPressureMeas */
1603 static int hf_gsm_map_lcs_utranCivicAddress = -1;  /* UtranCivicAddress */
1604 static int hf_gsm_map_lcs_lcs_Event = -1;         /* LCS_Event */
1605 static int hf_gsm_map_lcs_na_ESRD = -1;           /* ISDN_AddressString */
1606 static int hf_gsm_map_lcs_na_ESRK = -1;           /* ISDN_AddressString */
1607 static int hf_gsm_map_lcs_slr_ArgExtensionContainer = -1;  /* SLR_ArgExtensionContainer */
1608 static int hf_gsm_map_lcs_deferredmt_lrData = -1;  /* Deferredmt_lrData */
1609 static int hf_gsm_map_lcs_pseudonymIndicator = -1;  /* NULL */
1610 static int hf_gsm_map_lcs_sequenceNumber = -1;    /* SequenceNumber */
1611 static int hf_gsm_map_lcs_terminationCause = -1;  /* TerminationCause */
1612 static int hf_gsm_map_lcs_msc_Number = -1;        /* ISDN_AddressString */
1613 static int hf_gsm_map_lcs_sgsn_Number = -1;       /* ISDN_AddressString */
1614 static int hf_gsm_map_lcs_mme_Number = -1;        /* DiameterIdentity */
1615 /* named bits */
1616 static int hf_gsm_map_lcs_DeferredLocationEventType_msAvailable = -1;
1617 static int hf_gsm_map_lcs_DeferredLocationEventType_enteringIntoArea = -1;
1618 static int hf_gsm_map_lcs_DeferredLocationEventType_leavingFromArea = -1;
1619 static int hf_gsm_map_lcs_DeferredLocationEventType_beingInsideArea = -1;
1620 static int hf_gsm_map_lcs_DeferredLocationEventType_periodicLDR = -1;
1621 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPoint = -1;
1622 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle = -1;
1623 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse = -1;
1624 static int hf_gsm_map_lcs_SupportedGADShapes_polygon = -1;
1625 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitude = -1;
1626 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid = -1;
1627 static int hf_gsm_map_lcs_SupportedGADShapes_ellipsoidArc = -1;
1628 
1629 /* --- Module MAP-GR-DataTypes --- --- ---                                    */
1630 
1631 static int hf_gsm_map_gr_teleservice = -1;        /* Ext_TeleserviceCode */
1632 static int hf_gsm_map_gr_asciCallReference = -1;  /* ASCI_CallReference */
1633 static int hf_gsm_map_gr_codec_Info = -1;         /* CODEC_Info */
1634 static int hf_gsm_map_gr_cipheringAlgorithm = -1;  /* CipheringAlgorithm */
1635 static int hf_gsm_map_gr_groupKeyNumber_Vk_Id = -1;  /* GroupKeyNumber */
1636 static int hf_gsm_map_gr_groupKey = -1;           /* Kc */
1637 static int hf_gsm_map_gr_priority = -1;           /* EMLPP_Priority */
1638 static int hf_gsm_map_gr_uplinkFree = -1;         /* NULL */
1639 static int hf_gsm_map_gr_extensionContainer = -1;  /* ExtensionContainer */
1640 static int hf_gsm_map_gr_vstk = -1;               /* VSTK */
1641 static int hf_gsm_map_gr_vstk_rand = -1;          /* VSTK_RAND */
1642 static int hf_gsm_map_gr_talkerChannelParameter = -1;  /* NULL */
1643 static int hf_gsm_map_gr_uplinkReplyIndicator = -1;  /* NULL */
1644 static int hf_gsm_map_gr_groupCallNumber = -1;    /* ISDN_AddressString */
1645 static int hf_gsm_map_gr_imsi = -1;               /* IMSI */
1646 static int hf_gsm_map_gr_talkerPriority = -1;     /* TalkerPriority */
1647 static int hf_gsm_map_gr_additionalInfo = -1;     /* AdditionalInfo */
1648 static int hf_gsm_map_gr_uplinkRequestAck = -1;   /* NULL */
1649 static int hf_gsm_map_gr_uplinkReleaseIndication = -1;  /* NULL */
1650 static int hf_gsm_map_gr_uplinkRejectCommand = -1;  /* NULL */
1651 static int hf_gsm_map_gr_uplinkSeizedCommand = -1;  /* NULL */
1652 static int hf_gsm_map_gr_uplinkReleaseCommand = -1;  /* NULL */
1653 static int hf_gsm_map_gr_stateAttributes = -1;    /* StateAttributes */
1654 static int hf_gsm_map_gr_emergencyModeResetCommandFlag = -1;  /* NULL */
1655 static int hf_gsm_map_gr_sm_RP_UI = -1;           /* SignalInfo */
1656 static int hf_gsm_map_gr_an_APDU = -1;            /* AccessNetworkSignalInfo */
1657 static int hf_gsm_map_gr_uplinkRequest = -1;      /* NULL */
1658 static int hf_gsm_map_gr_releaseGroupCall = -1;   /* NULL */
1659 static int hf_gsm_map_gr_downlinkAttached = -1;   /* NULL */
1660 static int hf_gsm_map_gr_uplinkAttached = -1;     /* NULL */
1661 static int hf_gsm_map_gr_dualCommunication = -1;  /* NULL */
1662 static int hf_gsm_map_gr_callOriginator = -1;     /* NULL */
1663 static int hf_gsm_map_gr_requestedInfo = -1;      /* RequestedInfo */
1664 static int hf_gsm_map_gr_groupId = -1;            /* Long_GroupId */
1665 static int hf_gsm_map_gr_cellId = -1;             /* GlobalCellId */
1666 static int hf_gsm_map_gr_tmsi = -1;               /* TMSI */
1667 static int hf_gsm_map_gr_cksn = -1;               /* Cksn */
1668 static int hf_gsm_map_gr_anchorMSC_Address = -1;  /* ISDN_AddressString */
1669 static int hf_gsm_map_gr_additionalSubscriptions = -1;  /* AdditionalSubscriptions */
1670 static int hf_gsm_map_gr_kc = -1;                 /* Kc */
1671 
1672 /* --- Module MAP-DialogueInformation --- --- ---                             */
1673 
1674 static int hf_gsm_map_dialogue_gsm_map_dialogue_MAP_DialoguePDU_PDU = -1;  /* MAP_DialoguePDU */
1675 static int hf_gsm_map_dialogue_map_open = -1;     /* MAP_OpenInfo */
1676 static int hf_gsm_map_dialogue_map_accept = -1;   /* MAP_AcceptInfo */
1677 static int hf_gsm_map_dialogue_map_close = -1;    /* MAP_CloseInfo */
1678 static int hf_gsm_map_dialogue_map_refuse = -1;   /* MAP_RefuseInfo */
1679 static int hf_gsm_map_dialogue_map_userAbort = -1;  /* MAP_UserAbortInfo */
1680 static int hf_gsm_map_dialogue_map_providerAbort = -1;  /* MAP_ProviderAbortInfo */
1681 static int hf_gsm_map_dialogue_destinationReference = -1;  /* AddressString */
1682 static int hf_gsm_map_dialogue_originationReference = -1;  /* AddressString */
1683 static int hf_gsm_map_dialogue_extensionContainer = -1;  /* ExtensionContainer */
1684 static int hf_gsm_map_dialogue_reason = -1;       /* Reason */
1685 static int hf_gsm_map_dialogue_alternativeApplicationContext = -1;  /* OBJECT_IDENTIFIER */
1686 static int hf_gsm_map_dialogue_map_UserAbortChoice = -1;  /* MAP_UserAbortChoice */
1687 static int hf_gsm_map_dialogue_userSpecificReason = -1;  /* NULL */
1688 static int hf_gsm_map_dialogue_userResourceLimitation = -1;  /* NULL */
1689 static int hf_gsm_map_dialogue_resourceUnavailable = -1;  /* ResourceUnavailableReason */
1690 static int hf_gsm_map_dialogue_applicationProcedureCancellation = -1;  /* ProcedureCancellationReason */
1691 static int hf_gsm_map_dialogue_map_ProviderAbortReason = -1;  /* MAP_ProviderAbortReason */
1692 
1693 /* --- Module DummyMAP --- --- ---                                            */
1694 
1695 static int hf_gsm_old_invoke = -1;                /* Invoke */
1696 static int hf_gsm_old_returnResultLast = -1;      /* ReturnResult */
1697 static int hf_gsm_old_returnError = -1;           /* ReturnError */
1698 static int hf_gsm_old_reject = -1;                /* Reject */
1699 static int hf_gsm_old_returnResultNotLast = -1;   /* ReturnResult */
1700 static int hf_gsm_old_invokeID = -1;              /* InvokeIdType */
1701 static int hf_gsm_old_linkedID = -1;              /* InvokeIdType */
1702 static int hf_gsm_old_opCode = -1;                /* MAP_OPERATION */
1703 static int hf_gsm_old_invokeparameter = -1;       /* InvokeParameter */
1704 static int hf_gsm_old_resultretres = -1;          /* T_resultretres */
1705 static int hf_gsm_old_returnparameter = -1;       /* ReturnResultParameter */
1706 static int hf_gsm_old_errorCode = -1;             /* MAP_ERROR */
1707 static int hf_gsm_old_parameter = -1;             /* ReturnErrorParameter */
1708 static int hf_gsm_old_invokeIDRej = -1;           /* T_invokeIDRej */
1709 static int hf_gsm_old_derivable = -1;             /* InvokeIdType */
1710 static int hf_gsm_old_not_derivable = -1;         /* NULL */
1711 static int hf_gsm_old_problem = -1;               /* T_problem */
1712 static int hf_gsm_old_generalProblem = -1;        /* GeneralProblem */
1713 static int hf_gsm_old_invokeProblem = -1;         /* InvokeProblem */
1714 static int hf_gsm_old_returnResultProblem = -1;   /* ReturnResultProblem */
1715 static int hf_gsm_old_returnErrorProblem = -1;    /* ReturnErrorProblem */
1716 static int hf_gsm_old_localValue = -1;            /* OperationLocalvalue */
1717 static int hf_gsm_old_globalValue = -1;           /* OBJECT_IDENTIFIER */
1718 static int hf_gsm_old_localValue_01 = -1;         /* LocalErrorcode */
1719 static int hf_gsm_old_protocolId = -1;            /* ProtocolId */
1720 static int hf_gsm_old_signalInfo = -1;            /* SignalInfo */
1721 static int hf_gsm_old_extensionContainer = -1;    /* ExtensionContainer */
1722 static int hf_gsm_old_gsm_BearerCapability = -1;  /* ExternalSignalInfo */
1723 static int hf_gsm_old_isdn_BearerCapability = -1;  /* ExternalSignalInfo */
1724 static int hf_gsm_old_call_Direction = -1;        /* CallDirection */
1725 static int hf_gsm_old_b_Subscriber_Address = -1;  /* ISDN_AddressString */
1726 static int hf_gsm_old_chosenChannel = -1;         /* ExternalSignalInfo */
1727 static int hf_gsm_old_lowerLayerCompatibility = -1;  /* ExternalSignalInfo */
1728 static int hf_gsm_old_highLayerCompatibility = -1;  /* ExternalSignalInfo */
1729 static int hf_gsm_old_sIWFSNumber = -1;           /* ISDN_AddressString */
1730 static int hf_gsm_old_imsi = -1;                  /* IMSI */
1731 static int hf_gsm_old_vlr_Number = -1;            /* ISDN_AddressString */
1732 static int hf_gsm_old_targetCellId = -1;          /* GlobalCellId */
1733 static int hf_gsm_old_ho_NumberNotRequired = -1;  /* NULL */
1734 static int hf_gsm_old_bss_APDU = -1;              /* Bss_APDU */
1735 static int hf_gsm_old_handoverNumber = -1;        /* ISDN_AddressString */
1736 static int hf_gsm_old_SendAuthenticationInfoResOld_item = -1;  /* SendAuthenticationInfoResOld_item */
1737 static int hf_gsm_old_rand = -1;                  /* RAND */
1738 static int hf_gsm_old_sres = -1;                  /* SRES */
1739 static int hf_gsm_old_kc = -1;                    /* Kc */
1740 static int hf_gsm_old_tripletList = -1;           /* TripletListold */
1741 static int hf_gsm_old_TripletListold_item = -1;   /* AuthenticationTriplet_v2 */
1742 static int hf_gsm_old_channelType = -1;           /* ExternalSignalInfo */
1743 static int hf_gsm_old_securityHeader = -1;        /* SecurityHeader */
1744 static int hf_gsm_old_protectedPayload = -1;      /* ProtectedPayload */
1745 static int hf_gsm_old_securityParametersIndex = -1;  /* SecurityParametersIndex */
1746 static int hf_gsm_old_originalComponentIdentifier = -1;  /* OriginalComponentIdentifier */
1747 static int hf_gsm_old_initialisationVector = -1;  /* InitialisationVector */
1748 static int hf_gsm_old_operationCode = -1;         /* OperationCode */
1749 static int hf_gsm_old_errorCode_01 = -1;          /* ErrorCode */
1750 static int hf_gsm_old_userInfo = -1;              /* NULL */
1751 static int hf_gsm_old_localValue_02 = -1;         /* INTEGER */
1752 static int hf_gsm_old_msisdn = -1;                /* ISDN_AddressString */
1753 static int hf_gsm_old_category = -1;              /* Category */
1754 static int hf_gsm_old_basicService = -1;          /* BasicServiceCode */
1755 static int hf_gsm_old_operatorSS_Code = -1;       /* T_operatorSS_Code */
1756 static int hf_gsm_old_operatorSS_Code_item = -1;  /* OCTET_STRING_SIZE_1 */
1757 static int hf_gsm_old_sm_RP_DA = -1;              /* SM_RP_DAold */
1758 static int hf_gsm_old_sm_RP_OA = -1;              /* SM_RP_OAold */
1759 static int hf_gsm_old_sm_RP_UI = -1;              /* SignalInfo */
1760 static int hf_gsm_old_moreMessagesToSend = -1;    /* NULL */
1761 static int hf_gsm_old_imsi_01 = -1;               /* T_imsi */
1762 static int hf_gsm_old_lmsi = -1;                  /* T_lmsi */
1763 static int hf_gsm_old_serviceCentreAddressDA = -1;  /* T_serviceCentreAddressDA */
1764 static int hf_gsm_old_noSM_RP_DA = -1;            /* T_noSM_RP_DA */
1765 static int hf_gsm_old_msisdn_01 = -1;             /* T_msisdn */
1766 static int hf_gsm_old_serviceCentreAddressOA = -1;  /* T_serviceCentreAddressOA */
1767 static int hf_gsm_old_noSM_RP_OA = -1;            /* T_noSM_RP_OA */
1768 static int hf_gsm_old_cug_CheckInfo = -1;         /* CUG_CheckInfo */
1769 static int hf_gsm_old_numberOfForwarding = -1;    /* NumberOfForwarding */
1770 static int hf_gsm_old_networkSignalInfo = -1;     /* ExternalSignalInfo */
1771 static int hf_gsm_old_routingInfo = -1;           /* RoutingInfo */
1772 static int hf_gsm_old_originatingEntityNumber = -1;  /* ISDN_AddressString */
1773 static int hf_gsm_old_msisdn_02 = -1;             /* AddressString */
1774 static int hf_gsm_old_sm_RP_PRI = -1;             /* BOOLEAN */
1775 static int hf_gsm_old_serviceCentreAddress = -1;  /* AddressString */
1776 static int hf_gsm_old_cug_Interlock = -1;         /* CUG_Interlock */
1777 static int hf_gsm_old_teleserviceCode = -1;       /* TeleserviceCode */
1778 static int hf_gsm_old_locationInfoWithLMSI = -1;  /* LocationInfoWithLMSIv2 */
1779 static int hf_gsm_old_mwd_Set = -1;               /* BOOLEAN */
1780 static int hf_gsm_old_locationInfo = -1;          /* LocationInfo */
1781 static int hf_gsm_old_lmsi_01 = -1;               /* LMSI */
1782 static int hf_gsm_old_roamingNumber = -1;         /* ISDN_AddressString */
1783 static int hf_gsm_old_msc_Number = -1;            /* ISDN_AddressString */
1784 static int hf_gsm_old_subscriberId = -1;          /* SubscriberIdentity */
1785 static int hf_gsm_old_requestParameterList = -1;  /* RequestParameterList */
1786 static int hf_gsm_old_RequestParameterList_item = -1;  /* RequestParameter */
1787 static int hf_gsm_old_authenticationSet = -1;     /* AuthenticationSetListOld */
1788 static int hf_gsm_old_subscriberData = -1;        /* SubscriberData */
1789 static int hf_gsm_old_ki = -1;                    /* Ki */
1790 static int hf_gsm_old_tripletList_01 = -1;        /* TripletList */
1791 static int hf_gsm_old_quintupletList = -1;        /* QuintupletList */
1792 static int hf_gsm_old_SentParameterList_item = -1;  /* SentParameter */
1793 static int hf_gsm_old_networkResource = -1;       /* NetworkResource */
1794 static int hf_gsm_old_hlr_Number = -1;            /* ISDN_AddressString */
1795 static int hf_gsm_old_hlr_List = -1;              /* HLR_List */
1796 
1797 /* --- Module SS-DataTypes --- --- ---                                        */
1798 
1799 static int hf_gsm_ss_ss_Code = -1;                /* SS_Code */
1800 static int hf_gsm_ss_ss_Status = -1;              /* SS_Status */
1801 static int hf_gsm_ss_ss_Notification = -1;        /* SS_Notification */
1802 static int hf_gsm_ss_callIsWaiting_Indicator = -1;  /* NULL */
1803 static int hf_gsm_ss_callOnHold_Indicator = -1;   /* CallOnHold_Indicator */
1804 static int hf_gsm_ss_mpty_Indicator = -1;         /* NULL */
1805 static int hf_gsm_ss_cug_Index = -1;              /* CUG_Index */
1806 static int hf_gsm_ss_clirSuppressionRejected = -1;  /* NULL */
1807 static int hf_gsm_ss_ect_Indicator = -1;          /* ECT_Indicator */
1808 static int hf_gsm_ss_nameIndicator = -1;          /* NameIndicator */
1809 static int hf_gsm_ss_ccbs_Feature = -1;           /* CCBS_Feature */
1810 static int hf_gsm_ss_alertingPattern = -1;        /* AlertingPattern */
1811 static int hf_gsm_ss_multicall_Indicator = -1;    /* Multicall_Indicator */
1812 static int hf_gsm_ss_chargingInformation = -1;    /* ChargingInformation */
1813 static int hf_gsm_ss_e1 = -1;                     /* E1 */
1814 static int hf_gsm_ss_e2 = -1;                     /* E2 */
1815 static int hf_gsm_ss_e3 = -1;                     /* E3 */
1816 static int hf_gsm_ss_e4 = -1;                     /* E4 */
1817 static int hf_gsm_ss_e5 = -1;                     /* E5 */
1818 static int hf_gsm_ss_e6 = -1;                     /* E6 */
1819 static int hf_gsm_ss_e7 = -1;                     /* E7 */
1820 static int hf_gsm_ss_suppressPrefCUG = -1;        /* NULL */
1821 static int hf_gsm_ss_suppressOA = -1;             /* NULL */
1822 static int hf_gsm_ss_ect_CallState = -1;          /* ECT_CallState */
1823 static int hf_gsm_ss_rdn = -1;                    /* RDN */
1824 static int hf_gsm_ss_callingName = -1;            /* Name */
1825 static int hf_gsm_ss_namePresentationAllowed = -1;  /* NameSet */
1826 static int hf_gsm_ss_presentationRestricted = -1;  /* NULL */
1827 static int hf_gsm_ss_nameUnavailable = -1;        /* NULL */
1828 static int hf_gsm_ss_namePresentationRestricted = -1;  /* NameSet */
1829 static int hf_gsm_ss_dataCodingScheme = -1;       /* USSD_DataCodingScheme */
1830 static int hf_gsm_ss_lengthInCharacters = -1;     /* INTEGER */
1831 static int hf_gsm_ss_nameString = -1;             /* USSD_String */
1832 static int hf_gsm_ss_presentationAllowedAddress = -1;  /* RemotePartyNumber */
1833 static int hf_gsm_ss_numberNotAvailableDueToInterworking = -1;  /* NULL */
1834 static int hf_gsm_ss_presentationRestrictedAddress = -1;  /* RemotePartyNumber */
1835 static int hf_gsm_ss_partyNumber = -1;            /* ISDN_AddressString */
1836 static int hf_gsm_ss_partyNumberSubaddress = -1;  /* ISDN_SubaddressString */
1837 static int hf_gsm_ss_deflectedToNumber = -1;      /* AddressString */
1838 static int hf_gsm_ss_deflectedToSubaddress = -1;  /* ISDN_SubaddressString */
1839 static int hf_gsm_ss_uUS_Service = -1;            /* UUS_Service */
1840 static int hf_gsm_ss_uUS_Required = -1;           /* BOOLEAN */
1841 static int hf_gsm_ss_notificationType = -1;       /* NotificationToMSUser */
1842 static int hf_gsm_ss_locationType = -1;           /* LocationType */
1843 static int hf_gsm_ss_lcsClientExternalID = -1;    /* LCSClientExternalID */
1844 static int hf_gsm_ss_lcsClientName = -1;          /* LCSClientName */
1845 static int hf_gsm_ss_lcsRequestorID = -1;         /* LCSRequestorID */
1846 static int hf_gsm_ss_lcsCodeword = -1;            /* LCSCodeword */
1847 static int hf_gsm_ss_lcsServiceTypeID = -1;       /* LCSServiceTypeID */
1848 static int hf_gsm_ss_deferredLocationExt = -1;    /* DeferredLocationExt */
1849 static int hf_gsm_ss_verificationResponse = -1;   /* VerificationResponse */
1850 static int hf_gsm_ss_molr_Type = -1;              /* MOLR_Type */
1851 static int hf_gsm_ss_locationMethod = -1;         /* LocationMethod */
1852 static int hf_gsm_ss_lcs_QoS = -1;                /* LCS_QoS */
1853 static int hf_gsm_ss_mlc_Number = -1;             /* ISDN_AddressString */
1854 static int hf_gsm_ss_gpsAssistanceData = -1;      /* GPSAssistanceData */
1855 static int hf_gsm_ss_supportedGADShapes = -1;     /* SupportedGADShapes */
1856 static int hf_gsm_ss_ageOfLocationInfo = -1;      /* AgeOfLocationInformation */
1857 static int hf_gsm_ss_pseudonymIndicator = -1;     /* NULL */
1858 static int hf_gsm_ss_h_gmlc_address = -1;         /* GSN_Address */
1859 static int hf_gsm_ss_locationEstimate = -1;       /* Ext_GeographicalInformation */
1860 static int hf_gsm_ss_velocityEstimate = -1;       /* VelocityEstimate */
1861 static int hf_gsm_ss_referenceNumber = -1;        /* LCS_ReferenceNumber */
1862 static int hf_gsm_ss_periodicLDRInfo = -1;        /* PeriodicLDRInfo */
1863 static int hf_gsm_ss_locationUpdateRequest = -1;  /* NULL */
1864 static int hf_gsm_ss_sequenceNumber = -1;         /* SequenceNumber */
1865 static int hf_gsm_ss_terminationCause = -1;       /* TerminationCause */
1866 static int hf_gsm_ss_mo_lrShortCircuit = -1;      /* NULL */
1867 static int hf_gsm_ss_ganssAssistanceData = -1;    /* GANSSAssistanceData */
1868 static int hf_gsm_ss_multiplePositioningProtocolPDUs = -1;  /* MultiplePositioningProtocolPDUs */
1869 static int hf_gsm_ss_locationInfo = -1;           /* Location_Info */
1870 static int hf_gsm_ss_MultiplePositioningProtocolPDUs_item = -1;  /* PositioningProtocolPDU */
1871 static int hf_gsm_ss_decipheringKeys = -1;        /* DecipheringKeys */
1872 static int hf_gsm_ss_add_LocationEstimate = -1;   /* Add_GeographicalInformation */
1873 static int hf_gsm_ss_reportingPLMNList = -1;      /* ReportingPLMNList */
1874 static int hf_gsm_ss_deferredLocationEventType = -1;  /* DeferredLocationEventType */
1875 static int hf_gsm_ss_areaEventInfo = -1;          /* AreaEventInfo */
1876 static int hf_gsm_ss_qoS = -1;                    /* LCS_QoS */
1877 static int hf_gsm_ss_periodicLocation = -1;       /* PeriodicLocation */
1878 static int hf_gsm_ss_areaEventReporting = -1;     /* AreaEventReporting */
1879 static int hf_gsm_ss_motionEventReporting = -1;   /* MotionEventReporting */
1880 static int hf_gsm_ss_areaList = -1;               /* AreaList */
1881 static int hf_gsm_ss_occurrenceInfo = -1;         /* OccurrenceInfo */
1882 static int hf_gsm_ss_intervalTime = -1;           /* IntervalTime */
1883 static int hf_gsm_ss_maximumInterval = -1;        /* MaximumInterval */
1884 static int hf_gsm_ss_samplingInterval = -1;       /* SamplingInterval */
1885 static int hf_gsm_ss_duration = -1;               /* Duration */
1886 static int hf_gsm_ss_AreaList_item = -1;          /* Area */
1887 static int hf_gsm_ss_areaType = -1;               /* AreaType */
1888 static int hf_gsm_ss_areaIdentification = -1;     /* AreaIdentification */
1889 static int hf_gsm_ss_linearDistance = -1;         /* LinearDistance */
1890 /* named bits */
1891 static int hf_gsm_ss_DeferredLocationExt_motionEvent = -1;
1892 static int hf_gsm_ss_Location_Info_locationEstimate = -1;
1893 
1894 /* --- Module EricssonMAP --- --- ---                                         */
1895 
1896 static int hf_gsm_map_ericsson_imei = -1;         /* IMEI */
1897 static int hf_gsm_map_ericsson_requestedEquipmentInfo = -1;  /* RequestedEquipmentInfo */
1898 static int hf_gsm_map_ericsson_imsi = -1;         /* IMSI */
1899 static int hf_gsm_map_ericsson_locationInformation = -1;  /* T_locationInformation */
1900 static int hf_gsm_map_ericsson_extensionContainer = -1;  /* ExtensionContainer */
1901 static int hf_gsm_map_ericsson_isdArgType = -1;   /* IsdArgType */
1902 static int hf_gsm_map_ericsson_isdResType = -1;   /* IsdResType */
1903 static int hf_gsm_map_ericsson_dsdArgType = -1;   /* DsdArgType */
1904 static int hf_gsm_map_ericsson_sriArgType = -1;   /* SRIArgType */
1905 static int hf_gsm_map_ericsson_sriResType = -1;   /* SRIResType */
1906 static int hf_gsm_map_ericsson_prnArgType = -1;   /* PrnArgType */
1907 static int hf_gsm_map_ericsson_ulArgType = -1;    /* UlArgType */
1908 static int hf_gsm_map_ericsson_rdArgType = -1;    /* RdArgType */
1909 static int hf_gsm_map_ericsson_saiArgType = -1;   /* SaiArgType */
1910 static int hf_gsm_map_ericsson_saiResType = -1;   /* SaiResType */
1911 static int hf_gsm_map_ericsson_atiArgType = -1;   /* AtiArgType */
1912 static int hf_gsm_map_ericsson_atiResType = -1;   /* AtiResType */
1913 static int hf_gsm_map_ericsson_extAtiArgType = -1;  /* ExtAtiArgType */
1914 static int hf_gsm_map_ericsson_IsdArgType_item = -1;  /* IsdArgData */
1915 static int hf_gsm_map_ericsson_privateFeatureCode = -1;  /* PrivateFeatureCode */
1916 static int hf_gsm_map_ericsson_privateFeatureData = -1;  /* PrivateFeatureData */
1917 static int hf_gsm_map_ericsson_subscriptionTypeInfo = -1;  /* SubscriptionTypeInfo */
1918 static int hf_gsm_map_ericsson_oickInfo = -1;     /* OickInfo */
1919 static int hf_gsm_map_ericsson_ss_Status = -1;    /* Ext_SS_Status */
1920 static int hf_gsm_map_ericsson_inCategoryKey = -1;  /* INCategoryKey */
1921 static int hf_gsm_map_ericsson_subscriptionType = -1;  /* SubscriptionType */
1922 static int hf_gsm_map_ericsson_IsdResType_item = -1;  /* IsdResData */
1923 static int hf_gsm_map_ericsson_supportedPrivateFeature = -1;  /* PrivateFeatureCode */
1924 static int hf_gsm_map_ericsson_DsdArgType_item = -1;  /* DsdArgData */
1925 static int hf_gsm_map_ericsson_privateFeatureWithdraw = -1;  /* PrivateFeatureCode */
1926 static int hf_gsm_map_ericsson_SRIArgType_item = -1;  /* SriArgData */
1927 static int hf_gsm_map_ericsson_extraNetworkInfo = -1;  /* ExtraSignalInfo */
1928 static int hf_gsm_map_ericsson_SRIResType_item = -1;  /* SriResData */
1929 static int hf_gsm_map_ericsson_PrnArgType_item = -1;  /* PrnArgData */
1930 static int hf_gsm_map_ericsson_UlArgType_item = -1;  /* UlArgData */
1931 static int hf_gsm_map_ericsson_privateFeatureUlArgData = -1;  /* PrivateFeatureUlArgData */
1932 static int hf_gsm_map_ericsson_adc = -1;          /* IMEI */
1933 static int hf_gsm_map_ericsson_protocolId = -1;   /* ExtraProtocolId */
1934 static int hf_gsm_map_ericsson_signalInfo = -1;   /* SignalInfo */
1935 static int hf_gsm_map_ericsson_msisdn = -1;       /* NULL */
1936 static int hf_gsm_map_ericsson_noAuthenVectorsRequested = -1;  /* NULL */
1937 static int hf_gsm_map_ericsson_msIsdn = -1;       /* ISDN_AddressString */
1938 static int hf_gsm_map_ericsson_requestedInfoType = -1;  /* RequestedInfoType */
1939 static int hf_gsm_map_ericsson_toBeDecided = -1;  /* NULL */
1940 static int hf_gsm_map_ericsson_toBeDecidedOne = -1;  /* NULL */
1941 static int hf_gsm_map_ericsson_sgsnNumber = -1;   /* NULL */
1942 static int hf_gsm_map_ericsson_ExtAtiArgType_item = -1;  /* AtiArgData */
1943 
1944 /* --- Module NokiaMAP-Extensions --- --- ---                                 */
1945 
1946 static int hf_NokiaMAP_Extensions_alsLineIndicator = -1;  /* NULL */
1947 static int hf_NokiaMAP_Extensions_routingCategory = -1;  /* RoutingCategory */
1948 static int hf_NokiaMAP_Extensions_serviceList = -1;  /* MAPserviceList */
1949 static int hf_NokiaMAP_Extensions_serv_info_list = -1;  /* ServiceListWithInfo */
1950 static int hf_NokiaMAP_Extensions_extRoutingCategory = -1;  /* ExtRoutingCategory */
1951 static int hf_NokiaMAP_Extensions_ownMSISDN = -1;  /* ISDN_AddressString */
1952 static int hf_NokiaMAP_Extensions_mwd_Set = -1;   /* NULL */
1953 static int hf_NokiaMAP_Extensions_ChargingAreaList_item = -1;  /* ChargingArea */
1954 static int hf_NokiaMAP_Extensions_chargingAreaList = -1;  /* ChargingAreaList */
1955 static int hf_NokiaMAP_Extensions_inTriggerKey = -1;  /* InTriggerKey */
1956 static int hf_NokiaMAP_Extensions_pnpIndex = -1;  /* PnpIndex */
1957 static int hf_NokiaMAP_Extensions_callRedirectionIndex = -1;  /* CallRedirectionIndex */
1958 static int hf_NokiaMAP_Extensions_regionalChargingData = -1;  /* RegionalChargingData */
1959 static int hf_NokiaMAP_Extensions_callForwardingOverride = -1;  /* NULL */
1960 static int hf_NokiaMAP_Extensions_in_Capability = -1;  /* NULL */
1961 static int hf_NokiaMAP_Extensions_callingCategory = -1;  /* CallingCategory */
1962 static int hf_NokiaMAP_Extensions_internalServiceIndicator = -1;  /* InternalServiceIndicator */
1963 static int hf_NokiaMAP_Extensions_srbtSupportIndicator = -1;  /* NULL */
1964 static int hf_NokiaMAP_Extensions_gmscSupportIndicator = -1;  /* NULL */
1965 static int hf_NokiaMAP_Extensions_protocolId = -1;  /* ExtraProtocolId */
1966 static int hf_NokiaMAP_Extensions_signalInfo = -1;  /* SignalInfo */
1967 static int hf_NokiaMAP_Extensions_cug_Interlock = -1;  /* CUG_Interlock */
1968 static int hf_NokiaMAP_Extensions_cug_OutgoingAccess = -1;  /* BOOLEAN */
1969 static int hf_NokiaMAP_Extensions_cug_CallInfo = -1;  /* CUG_CallInfo */
1970 static int hf_NokiaMAP_Extensions_vlrNumber = -1;  /* ISDN_AddressString */
1971 static int hf_NokiaMAP_Extensions_activeSs = -1;  /* ActiveSS_List */
1972 static int hf_NokiaMAP_Extensions_traceReference = -1;  /* TraceReference */
1973 static int hf_NokiaMAP_Extensions_traceType = -1;  /* TraceType */
1974 static int hf_NokiaMAP_Extensions_omc_Id = -1;    /* AddressString */
1975 static int hf_NokiaMAP_Extensions_hotBilling = -1;  /* BOOLEAN */
1976 static int hf_NokiaMAP_Extensions_cfoIsDone = -1;  /* BOOLEAN */
1977 static int hf_NokiaMAP_Extensions_cfInCug = -1;   /* BOOLEAN */
1978 static int hf_NokiaMAP_Extensions_basicService = -1;  /* BasicServiceCode */
1979 static int hf_NokiaMAP_Extensions_category = -1;  /* Category */
1980 static int hf_NokiaMAP_Extensions_nokia_CUG = -1;  /* Nokia_CUG_Data */
1981 static int hf_NokiaMAP_Extensions_noBarrings = -1;  /* NULL */
1982 static int hf_NokiaMAP_Extensions_odb_Data = -1;  /* ODB_Data */
1983 static int hf_NokiaMAP_Extensions_fraudData = -1;  /* FraudData */
1984 static int hf_NokiaMAP_Extensions_leaId = -1;     /* LeaId */
1985 static int hf_NokiaMAP_Extensions_olcmInfoTable = -1;  /* OlcmInfoTable */
1986 static int hf_NokiaMAP_Extensions_commonMSISDN = -1;  /* ISDN_AddressString */
1987 static int hf_NokiaMAP_Extensions_rgData = -1;    /* RgData */
1988 static int hf_NokiaMAP_Extensions_olcmTraceReference = -1;  /* OlcmTraceReference */
1989 static int hf_NokiaMAP_Extensions_noAnswerTimer = -1;  /* NoAnswerTimer */
1990 static int hf_NokiaMAP_Extensions_memberList = -1;  /* MemberList */
1991 static int hf_NokiaMAP_Extensions_alertingMethod = -1;  /* AlertingMethod */
1992 static int hf_NokiaMAP_Extensions_userType = -1;  /* UserType */
1993 static int hf_NokiaMAP_Extensions_divertedToNbr = -1;  /* ISDN_AddressString */
1994 static int hf_NokiaMAP_Extensions_memberOfSuppression = -1;  /* NULL */
1995 static int hf_NokiaMAP_Extensions_ringbacktone = -1;  /* NULL */
1996 static int hf_NokiaMAP_Extensions_MemberList_item = -1;  /* ISDN_AddressString */
1997 static int hf_NokiaMAP_Extensions_termination = -1;  /* OCTET_STRING_SIZE_1 */
1998 static int hf_NokiaMAP_Extensions_OlcmInfoTable_item = -1;  /* OlcmInfo */
1999 static int hf_NokiaMAP_Extensions_olcmActive = -1;  /* NULL */
2000 static int hf_NokiaMAP_Extensions_moc = -1;       /* FraudData */
2001 static int hf_NokiaMAP_Extensions_cf = -1;        /* FraudData */
2002 static int hf_NokiaMAP_Extensions_ct = -1;        /* FraudData */
2003 static int hf_NokiaMAP_Extensions_time = -1;      /* TimeLimit */
2004 static int hf_NokiaMAP_Extensions_timeAction = -1;  /* ActionType */
2005 static int hf_NokiaMAP_Extensions_maxCount = -1;  /* FraudMaxCount */
2006 static int hf_NokiaMAP_Extensions_maxCountAction = -1;  /* ActionType */
2007 static int hf_NokiaMAP_Extensions_serviceCode = -1;  /* MAPserviceCode */
2008 static int hf_NokiaMAP_Extensions_versionInfo = -1;  /* VersionInfo */
2009 static int hf_NokiaMAP_Extensions_in_key = -1;    /* INKey */
2010 static int hf_NokiaMAP_Extensions_fraudInfo = -1;  /* FraudInfo */
2011 static int hf_NokiaMAP_Extensions_ServiceListWithInfo_item = -1;  /* ServiceWithInfo */
2012 static int hf_NokiaMAP_Extensions_mobile_IN_key = -1;  /* MKey */
2013 static int hf_NokiaMAP_Extensions_sms_IN_key = -1;  /* SMSKey */
2014 static int hf_NokiaMAP_Extensions_mKeyVer = -1;   /* MKeyVer */
2015 static int hf_NokiaMAP_Extensions_mmScfAddress = -1;  /* ISDN_AddressString */
2016 static int hf_NokiaMAP_Extensions_mmTdpName = -1;  /* MmTdpName */
2017 static int hf_NokiaMAP_Extensions_serviceKey = -1;  /* ServiceKey */
2018 static int hf_NokiaMAP_Extensions_locupType = -1;  /* LocupType */
2019 static int hf_NokiaMAP_Extensions_mmSCPAddress = -1;  /* ISDN_AddressString */
2020 static int hf_NokiaMAP_Extensions_smsTdpName = -1;  /* SmsTdpName */
2021 static int hf_NokiaMAP_Extensions_mmsFlag = -1;   /* NULL */
2022 static int hf_NokiaMAP_Extensions_map_Opt = -1;   /* MapOptFields */
2023 static int hf_NokiaMAP_Extensions_codec_List = -1;  /* CodecListExt */
2024 static int hf_NokiaMAP_Extensions_selected_Codec = -1;  /* SelectedCodec */
2025 static int hf_NokiaMAP_Extensions_uma_access = -1;  /* NULL */
2026 static int hf_NokiaMAP_Extensions_uma_ip_address = -1;  /* OCTET_STRING_SIZE_5_17 */
2027 static int hf_NokiaMAP_Extensions_uma_ip_port_nb = -1;  /* IPPortNb */
2028 static int hf_NokiaMAP_Extensions_CodecListExt_item = -1;  /* CodecExt */
2029 static int hf_NokiaMAP_Extensions_codec = -1;     /* CodecExt */
2030 static int hf_NokiaMAP_Extensions_modes = -1;     /* Modes */
2031 static int hf_NokiaMAP_Extensions_imsi = -1;      /* IMSI */
2032 static int hf_NokiaMAP_Extensions_cfuSMSCounter = -1;  /* CfuSMSCounter */
2033 static int hf_NokiaMAP_Extensions_cfusmcfo = -1;  /* NULL */
2034 static int hf_NokiaMAP_Extensions_memberInterrogate = -1;  /* NULL */
2035 static int hf_NokiaMAP_Extensions_locationAreaCode = -1;  /* LocationAreaCode */
2036 static int hf_NokiaMAP_Extensions_cellId = -1;    /* CellGlobalIdOrServiceAreaIdFixedLength */
2037 static int hf_NokiaMAP_Extensions_lai = -1;       /* LAIFixedLength */
2038 static int hf_NokiaMAP_Extensions_sendImmResp = -1;  /* NULL */
2039 static int hf_NokiaMAP_Extensions_rejectCause = -1;  /* OCTET_STRING_SIZE_1 */
2040 static int hf_NokiaMAP_Extensions_senderMSISDN = -1;  /* ISDN_AddressString */
2041 static int hf_NokiaMAP_Extensions_access = -1;    /* Access */
2042 static int hf_NokiaMAP_Extensions_version = -1;   /* Version */
2043 static int hf_NokiaMAP_Extensions_AccessSubscriptionListExt_item = -1;  /* Access */
2044 /* named bits */
2045 static int hf_NokiaMAP_Extensions_AllowedServiceData_amr_wb_allowed = -1;
2046 
2047 /*--- End of included file: packet-gsm_map-hf.c ---*/
2048 #line 153 "./asn1/gsm_map/packet-gsm_map-template.c"
2049 
2050 /* Initialize the subtree pointers */
2051 static gint ett_gsm_map = -1;
2052 static gint ett_gsm_map_InvokeId = -1;
2053 static gint ett_gsm_map_InvokePDU = -1;
2054 static gint ett_gsm_map_ReturnResultPDU = -1;
2055 static gint ett_gsm_map_ReturnErrorPDU = -1;
2056 static gint ett_gsm_map_ReturnResult_result = -1;
2057 static gint ett_gsm_map_ReturnError_result = -1;
2058 static gint ett_gsm_map_GSMMAPPDU = -1;
2059 static gint ett_gsm_map_ext_qos_subscribed = -1;
2060 static gint ett_gsm_map_pdptypenumber = -1;
2061 static gint ett_gsm_map_RAIdentity = -1;
2062 static gint ett_gsm_map_LAIFixedLength = -1;
2063 static gint ett_gsm_map_isdn_address_string = -1;
2064 static gint ett_gsm_map_geo_desc = -1;
2065 static gint ett_gsm_map_LongSignalInfo = -1;
2066 static gint ett_gsm_map_RadioResourceInformation =-1;
2067 static gint ett_gsm_map_MSNetworkCapability =-1;
2068 static gint ett_gsm_map_MSRadioAccessCapability = -1;
2069 static gint ett_gsm_map_externalsignalinfo = -1;
2070 static gint ett_gsm_map_cbs_data_coding = -1;
2071 static gint ett_gsm_map_GlobalCellId = -1;
2072 static gint ett_gsm_map_GeographicalInformation = -1;
2073 static gint ett_gsm_map_apn_str = -1;
2074 static gint ett_gsm_map_LocationNumber = -1;
2075 static gint ett_gsm_map_ericsson_locationInformation = -1;
2076 static gint ett_gsm_map_extension_data = -1;
2077 static gint ett_gsm_map_tbcd_digits = -1;
2078 static gint ett_gsm_map_ussd_string = -1;
2079 static gint ett_gsm_map_ext2_qos_subscribed = -1;
2080 static gint ett_gsm_map_ext3_qos_subscribed = -1;
2081 static gint ett_gsm_map_e_utranCellGlobalIdentity = -1;
2082 static gint ett_gsm_map_TA_id = -1;
2083 static gint ett_gsm_map_GeodeticInformation = -1;
2084 
2085 
2086 /*--- Included file: packet-gsm_map-ett.c ---*/
2087 #line 1 "./asn1/gsm_map/packet-gsm_map-ett.c"
2088 
2089 /* --- Module MAP-ExtensionDataTypes --- --- ---                              */
2090 
2091 static gint ett_gsm_map_ExtensionContainer = -1;
2092 static gint ett_gsm_map_SLR_ArgExtensionContainer = -1;
2093 static gint ett_gsm_map_PrivateExtensionList = -1;
2094 static gint ett_gsm_map_PrivateExtension = -1;
2095 static gint ett_gsm_map_PCS_Extensions = -1;
2096 static gint ett_gsm_map_SLR_Arg_PCS_Extensions = -1;
2097 
2098 /* --- Module MAP-CommonDataTypes --- --- ---                                 */
2099 
2100 static gint ett_gsm_map_ExternalSignalInfo = -1;
2101 static gint ett_gsm_map_Ext_ExternalSignalInfo = -1;
2102 static gint ett_gsm_map_AccessNetworkSignalInfo = -1;
2103 static gint ett_gsm_map_Identity = -1;
2104 static gint ett_gsm_map_IMSI_WithLMSI = -1;
2105 static gint ett_gsm_map_HLR_List = -1;
2106 static gint ett_gsm_map_NAEA_PreferredCI = -1;
2107 static gint ett_gsm_map_SubscriberIdentity = -1;
2108 static gint ett_gsm_map_LCSClientExternalID = -1;
2109 static gint ett_gsm_map_NetworkNodeDiameterAddress = -1;
2110 static gint ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI = -1;
2111 static gint ett_gsm_map_BasicServiceCode = -1;
2112 static gint ett_gsm_map_Ext_BasicServiceCode = -1;
2113 static gint ett_gsm_map_EMLPP_Info = -1;
2114 static gint ett_gsm_map_MC_SS_Info = -1;
2115 
2116 /* --- Module MAP-SS-DataTypes --- --- ---                                    */
2117 
2118 static gint ett_gsm_map_ss_RegisterSS_Arg = -1;
2119 static gint ett_gsm_map_ss_SS_Info = -1;
2120 static gint ett_gsm_map_ss_ForwardingInfo = -1;
2121 static gint ett_gsm_map_ss_ForwardingFeatureList = -1;
2122 static gint ett_gsm_map_ss_ForwardingFeature = -1;
2123 static gint ett_gsm_map_ss_CallBarringInfo = -1;
2124 static gint ett_gsm_map_ss_CallBarringFeatureList = -1;
2125 static gint ett_gsm_map_ss_CallBarringFeature = -1;
2126 static gint ett_gsm_map_ss_SS_Data = -1;
2127 static gint ett_gsm_map_ss_SS_SubscriptionOption = -1;
2128 static gint ett_gsm_map_ss_SS_ForBS_Code = -1;
2129 static gint ett_gsm_map_ss_GenericServiceInfo = -1;
2130 static gint ett_gsm_map_ss_CCBS_FeatureList = -1;
2131 static gint ett_gsm_map_ss_CCBS_Feature = -1;
2132 static gint ett_gsm_map_ss_InterrogateSS_Res = -1;
2133 static gint ett_gsm_map_ss_USSD_Arg = -1;
2134 static gint ett_gsm_map_ss_USSD_Res = -1;
2135 static gint ett_gsm_map_ss_SS_List = -1;
2136 static gint ett_gsm_map_ss_BasicServiceGroupList = -1;
2137 static gint ett_gsm_map_ss_SS_InvocationNotificationArg = -1;
2138 static gint ett_gsm_map_ss_SS_InvocationNotificationRes = -1;
2139 static gint ett_gsm_map_ss_SS_EventSpecification = -1;
2140 static gint ett_gsm_map_ss_RegisterCC_EntryArg = -1;
2141 static gint ett_gsm_map_ss_CCBS_Data = -1;
2142 static gint ett_gsm_map_ss_ServiceIndicator = -1;
2143 static gint ett_gsm_map_ss_RegisterCC_EntryRes = -1;
2144 static gint ett_gsm_map_ss_EraseCC_EntryArg = -1;
2145 static gint ett_gsm_map_ss_EraseCC_EntryRes = -1;
2146 
2147 /* --- Module MAP-ER-DataTypes --- --- ---                                    */
2148 
2149 static gint ett_gsm_map_er_RoamingNotAllowedParam = -1;
2150 static gint ett_gsm_map_er_CallBarredParam = -1;
2151 static gint ett_gsm_map_er_ExtensibleCallBarredParam = -1;
2152 static gint ett_gsm_map_er_CUG_RejectParam = -1;
2153 static gint ett_gsm_map_er_SS_IncompatibilityCause = -1;
2154 static gint ett_gsm_map_er_SM_DeliveryFailureCause = -1;
2155 static gint ett_gsm_map_er_AbsentSubscriberSM_Param = -1;
2156 static gint ett_gsm_map_er_SystemFailureParam = -1;
2157 static gint ett_gsm_map_er_ExtensibleSystemFailureParam = -1;
2158 static gint ett_gsm_map_er_DataMissingParam = -1;
2159 static gint ett_gsm_map_er_UnexpectedDataParam = -1;
2160 static gint ett_gsm_map_er_FacilityNotSupParam = -1;
2161 static gint ett_gsm_map_er_OR_NotAllowedParam = -1;
2162 static gint ett_gsm_map_er_UnknownSubscriberParam = -1;
2163 static gint ett_gsm_map_er_NumberChangedParam = -1;
2164 static gint ett_gsm_map_er_UnidentifiedSubParam = -1;
2165 static gint ett_gsm_map_er_IllegalSubscriberParam = -1;
2166 static gint ett_gsm_map_er_IllegalEquipmentParam = -1;
2167 static gint ett_gsm_map_er_BearerServNotProvParam = -1;
2168 static gint ett_gsm_map_er_TeleservNotProvParam = -1;
2169 static gint ett_gsm_map_er_TracingBufferFullParam = -1;
2170 static gint ett_gsm_map_er_NoRoamingNbParam = -1;
2171 static gint ett_gsm_map_er_AbsentSubscriberParam = -1;
2172 static gint ett_gsm_map_er_BusySubscriberParam = -1;
2173 static gint ett_gsm_map_er_NoSubscriberReplyParam = -1;
2174 static gint ett_gsm_map_er_ForwardingViolationParam = -1;
2175 static gint ett_gsm_map_er_ForwardingFailedParam = -1;
2176 static gint ett_gsm_map_er_ATI_NotAllowedParam = -1;
2177 static gint ett_gsm_map_er_ATSI_NotAllowedParam = -1;
2178 static gint ett_gsm_map_er_ATM_NotAllowedParam = -1;
2179 static gint ett_gsm_map_er_IllegalSS_OperationParam = -1;
2180 static gint ett_gsm_map_er_SS_NotAvailableParam = -1;
2181 static gint ett_gsm_map_er_SS_SubscriptionViolationParam = -1;
2182 static gint ett_gsm_map_er_InformationNotAvailableParam = -1;
2183 static gint ett_gsm_map_er_SubBusyForMT_SMS_Param = -1;
2184 static gint ett_gsm_map_er_MessageWaitListFullParam = -1;
2185 static gint ett_gsm_map_er_ResourceLimitationParam = -1;
2186 static gint ett_gsm_map_er_NoGroupCallNbParam = -1;
2187 static gint ett_gsm_map_er_IncompatibleTerminalParam = -1;
2188 static gint ett_gsm_map_er_ShortTermDenialParam = -1;
2189 static gint ett_gsm_map_er_LongTermDenialParam = -1;
2190 static gint ett_gsm_map_er_UnauthorizedRequestingNetwork_Param = -1;
2191 static gint ett_gsm_map_er_UnauthorizedLCSClient_Param = -1;
2192 static gint ett_gsm_map_er_PositionMethodFailure_Param = -1;
2193 static gint ett_gsm_map_er_UnknownOrUnreachableLCSClient_Param = -1;
2194 static gint ett_gsm_map_er_MM_EventNotSupported_Param = -1;
2195 static gint ett_gsm_map_er_TargetCellOutsideGCA_Param = -1;
2196 static gint ett_gsm_map_er_OngoingGroupCallParam = -1;
2197 
2198 /* --- Module MAP-SM-DataTypes --- --- ---                                    */
2199 
2200 static gint ett_gsm_map_sm_RoutingInfoForSM_Arg = -1;
2201 static gint ett_gsm_map_sm_RoutingInfoForSM_Res = -1;
2202 static gint ett_gsm_map_sm_IP_SM_GW_Guidance = -1;
2203 static gint ett_gsm_map_sm_LocationInfoWithLMSI = -1;
2204 static gint ett_gsm_map_sm_Additional_Number = -1;
2205 static gint ett_gsm_map_sm_MO_ForwardSM_Arg = -1;
2206 static gint ett_gsm_map_sm_MO_ForwardSM_Res = -1;
2207 static gint ett_gsm_map_sm_MT_ForwardSM_Arg = -1;
2208 static gint ett_gsm_map_sm_CorrelationID = -1;
2209 static gint ett_gsm_map_sm_MT_ForwardSM_Res = -1;
2210 static gint ett_gsm_map_sm_SM_RP_DA = -1;
2211 static gint ett_gsm_map_sm_SM_RP_OA = -1;
2212 static gint ett_gsm_map_sm_ReportSM_DeliveryStatusArg = -1;
2213 static gint ett_gsm_map_sm_ReportSM_DeliveryStatusRes = -1;
2214 static gint ett_gsm_map_sm_AlertServiceCentreArg = -1;
2215 static gint ett_gsm_map_sm_InformServiceCentreArg = -1;
2216 static gint ett_gsm_map_sm_MW_Status = -1;
2217 static gint ett_gsm_map_sm_ReadyForSM_Arg = -1;
2218 static gint ett_gsm_map_sm_ReadyForSM_Res = -1;
2219 static gint ett_gsm_map_sm_MT_ForwardSM_VGCS_Arg = -1;
2220 static gint ett_gsm_map_sm_MT_ForwardSM_VGCS_Res = -1;
2221 static gint ett_gsm_map_sm_DispatcherList = -1;
2222 static gint ett_gsm_map_sm_AdditionalDispatcherList = -1;
2223 
2224 /* --- Module MAP-OM-DataTypes --- --- ---                                    */
2225 
2226 static gint ett_gsm_map_om_ActivateTraceModeArg = -1;
2227 static gint ett_gsm_map_om_MDT_Configuration = -1;
2228 static gint ett_gsm_map_om_MDT_Allowed_PLMNId_List = -1;
2229 static gint ett_gsm_map_om_AreaScope = -1;
2230 static gint ett_gsm_map_om_CGI_List = -1;
2231 static gint ett_gsm_map_om_E_UTRAN_CGI_List = -1;
2232 static gint ett_gsm_map_om_RoutingAreaId_List = -1;
2233 static gint ett_gsm_map_om_LocationAreaId_List = -1;
2234 static gint ett_gsm_map_om_TrackingAreaId_List = -1;
2235 static gint ett_gsm_map_om_TraceDepthList = -1;
2236 static gint ett_gsm_map_om_TraceNE_TypeList = -1;
2237 static gint ett_gsm_map_om_TraceInterfaceList = -1;
2238 static gint ett_gsm_map_om_MSC_S_InterfaceList = -1;
2239 static gint ett_gsm_map_om_MGW_InterfaceList = -1;
2240 static gint ett_gsm_map_om_SGSN_InterfaceList = -1;
2241 static gint ett_gsm_map_om_GGSN_InterfaceList = -1;
2242 static gint ett_gsm_map_om_RNC_InterfaceList = -1;
2243 static gint ett_gsm_map_om_BMSC_InterfaceList = -1;
2244 static gint ett_gsm_map_om_MME_InterfaceList = -1;
2245 static gint ett_gsm_map_om_SGW_InterfaceList = -1;
2246 static gint ett_gsm_map_om_PGW_InterfaceList = -1;
2247 static gint ett_gsm_map_om_ENB_InterfaceList = -1;
2248 static gint ett_gsm_map_om_TraceEventList = -1;
2249 static gint ett_gsm_map_om_MSC_S_EventList = -1;
2250 static gint ett_gsm_map_om_MGW_EventList = -1;
2251 static gint ett_gsm_map_om_SGSN_EventList = -1;
2252 static gint ett_gsm_map_om_GGSN_EventList = -1;
2253 static gint ett_gsm_map_om_BMSC_EventList = -1;
2254 static gint ett_gsm_map_om_MME_EventList = -1;
2255 static gint ett_gsm_map_om_SGW_EventList = -1;
2256 static gint ett_gsm_map_om_PGW_EventList = -1;
2257 static gint ett_gsm_map_om_TracePropagationList = -1;
2258 static gint ett_gsm_map_om_ActivateTraceModeRes = -1;
2259 static gint ett_gsm_map_om_DeactivateTraceModeArg = -1;
2260 static gint ett_gsm_map_om_DeactivateTraceModeRes = -1;
2261 
2262 /* --- Module MAP-MS-DataTypes --- --- ---                                    */
2263 
2264 static gint ett_gsm_map_ms_UpdateLocationArg = -1;
2265 static gint ett_gsm_map_ms_VLR_Capability = -1;
2266 static gint ett_gsm_map_ms_SupportedRAT_Types = -1;
2267 static gint ett_gsm_map_ms_SuperChargerInfo = -1;
2268 static gint ett_gsm_map_ms_SupportedLCS_CapabilitySets = -1;
2269 static gint ett_gsm_map_ms_UpdateLocationRes = -1;
2270 static gint ett_gsm_map_ms_ADD_Info = -1;
2271 static gint ett_gsm_map_ms_PagingArea = -1;
2272 static gint ett_gsm_map_ms_LocationArea = -1;
2273 static gint ett_gsm_map_ms_CancelLocationArg_U = -1;
2274 static gint ett_gsm_map_ms_CancelLocationRes = -1;
2275 static gint ett_gsm_map_ms_PurgeMS_Arg_U = -1;
2276 static gint ett_gsm_map_ms_PurgeMS_Res = -1;
2277 static gint ett_gsm_map_ms_SendIdentificationArg = -1;
2278 static gint ett_gsm_map_ms_SendIdentificationRes_U = -1;
2279 static gint ett_gsm_map_ms_AuthenticationSetList = -1;
2280 static gint ett_gsm_map_ms_TripletList = -1;
2281 static gint ett_gsm_map_ms_QuintupletList = -1;
2282 static gint ett_gsm_map_ms_AuthenticationTriplet = -1;
2283 static gint ett_gsm_map_ms_AuthenticationQuintuplet = -1;
2284 static gint ett_gsm_map_ms_CurrentSecurityContext = -1;
2285 static gint ett_gsm_map_ms_GSM_SecurityContextData = -1;
2286 static gint ett_gsm_map_ms_UMTS_SecurityContextData = -1;
2287 static gint ett_gsm_map_ms_AuthenticationFailureReportArg = -1;
2288 static gint ett_gsm_map_ms_AuthenticationFailureReportRes = -1;
2289 static gint ett_gsm_map_ms_UpdateGprsLocationArg = -1;
2290 static gint ett_gsm_map_ms_EPS_Info = -1;
2291 static gint ett_gsm_map_ms_PDN_GW_Update = -1;
2292 static gint ett_gsm_map_ms_ISR_Information = -1;
2293 static gint ett_gsm_map_ms_SGSN_Capability = -1;
2294 static gint ett_gsm_map_ms_SupportedFeatures = -1;
2295 static gint ett_gsm_map_ms_Ext_SupportedFeatures = -1;
2296 static gint ett_gsm_map_ms_UpdateGprsLocationRes = -1;
2297 static gint ett_gsm_map_ms_EPLMN_List = -1;
2298 static gint ett_gsm_map_ms_AdjacentPLMN_List = -1;
2299 static gint ett_gsm_map_ms_ForwardAccessSignalling_Arg_U = -1;
2300 static gint ett_gsm_map_ms_AllowedUMTS_Algorithms = -1;
2301 static gint ett_gsm_map_ms_PrepareHO_Arg_U = -1;
2302 static gint ett_gsm_map_ms_LCLS_Negotiation = -1;
2303 static gint ett_gsm_map_ms_LCLS_ConfigurationPreference = -1;
2304 static gint ett_gsm_map_ms_BSSMAP_ServiceHandoverList = -1;
2305 static gint ett_gsm_map_ms_BSSMAP_ServiceHandoverInfo = -1;
2306 static gint ett_gsm_map_ms_RadioResourceList = -1;
2307 static gint ett_gsm_map_ms_RadioResource = -1;
2308 static gint ett_gsm_map_ms_PrepareHO_Res_U = -1;
2309 static gint ett_gsm_map_ms_SelectedUMTS_Algorithms = -1;
2310 static gint ett_gsm_map_ms_ChosenRadioResourceInformation = -1;
2311 static gint ett_gsm_map_ms_PrepareSubsequentHO_Arg_U = -1;
2312 static gint ett_gsm_map_ms_PrepareSubsequentHO_Res_U = -1;
2313 static gint ett_gsm_map_ms_ProcessAccessSignalling_Arg_U = -1;
2314 static gint ett_gsm_map_ms_AoIPCodecsList = -1;
2315 static gint ett_gsm_map_ms_SupportedCodecsList = -1;
2316 static gint ett_gsm_map_ms_CodecList = -1;
2317 static gint ett_gsm_map_ms_SendEndSignal_Arg_U = -1;
2318 static gint ett_gsm_map_ms_SendEndSignal_Res = -1;
2319 static gint ett_gsm_map_ms_RelocationNumberList = -1;
2320 static gint ett_gsm_map_ms_RelocationNumber = -1;
2321 static gint ett_gsm_map_ms_SendAuthenticationInfoArg = -1;
2322 static gint ett_gsm_map_ms_Re_synchronisationInfo = -1;
2323 static gint ett_gsm_map_ms_SendAuthenticationInfoRes_U = -1;
2324 static gint ett_gsm_map_ms_EPS_AuthenticationSetList = -1;
2325 static gint ett_gsm_map_ms_EPC_AV = -1;
2326 static gint ett_gsm_map_ms_CheckIMEI_Arg = -1;
2327 static gint ett_gsm_map_ms_CheckIMEI_Res = -1;
2328 static gint ett_gsm_map_ms_RequestedEquipmentInfo = -1;
2329 static gint ett_gsm_map_ms_UESBI_Iu = -1;
2330 static gint ett_gsm_map_ms_InsertSubscriberDataArg = -1;
2331 static gint ett_gsm_map_ms_EDRX_Cycle_Length_List = -1;
2332 static gint ett_gsm_map_ms_EDRX_Cycle_Length = -1;
2333 static gint ett_gsm_map_ms_Reset_Id_List = -1;
2334 static gint ett_gsm_map_ms_IMSI_GroupIdList = -1;
2335 static gint ett_gsm_map_ms_IMSI_GroupId = -1;
2336 static gint ett_gsm_map_ms_CSG_SubscriptionDataList = -1;
2337 static gint ett_gsm_map_ms_CSG_SubscriptionData = -1;
2338 static gint ett_gsm_map_ms_VPLMN_CSG_SubscriptionDataList = -1;
2339 static gint ett_gsm_map_ms_LIPA_AllowedAPNList = -1;
2340 static gint ett_gsm_map_ms_EPS_SubscriptionData = -1;
2341 static gint ett_gsm_map_ms_APN_ConfigurationProfile = -1;
2342 static gint ett_gsm_map_ms_EPS_DataList = -1;
2343 static gint ett_gsm_map_ms_APN_Configuration = -1;
2344 static gint ett_gsm_map_ms_EPS_QoS_Subscribed = -1;
2345 static gint ett_gsm_map_ms_AMBR = -1;
2346 static gint ett_gsm_map_ms_SpecificAPNInfoList = -1;
2347 static gint ett_gsm_map_ms_SpecificAPNInfo = -1;
2348 static gint ett_gsm_map_ms_Allocation_Retention_Priority = -1;
2349 static gint ett_gsm_map_ms_PDN_GW_Identity = -1;
2350 static gint ett_gsm_map_ms_WLAN_Offloadability = -1;
2351 static gint ett_gsm_map_ms_AccessRestrictionData = -1;
2352 static gint ett_gsm_map_ms_Ext_AccessRestrictionData = -1;
2353 static gint ett_gsm_map_ms_AdjacentAccessRestrictionDataList = -1;
2354 static gint ett_gsm_map_ms_AdjacentAccessRestrictionData = -1;
2355 static gint ett_gsm_map_ms_LCSInformation = -1;
2356 static gint ett_gsm_map_ms_GMLC_List = -1;
2357 static gint ett_gsm_map_ms_GPRSDataList = -1;
2358 static gint ett_gsm_map_ms_PDP_Context = -1;
2359 static gint ett_gsm_map_ms_GPRSSubscriptionData = -1;
2360 static gint ett_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo = -1;
2361 static gint ett_gsm_map_ms_GPRS_CSI = -1;
2362 static gint ett_gsm_map_ms_GPRS_CamelTDPDataList = -1;
2363 static gint ett_gsm_map_ms_GPRS_CamelTDPData = -1;
2364 static gint ett_gsm_map_ms_LSADataList = -1;
2365 static gint ett_gsm_map_ms_LSAData = -1;
2366 static gint ett_gsm_map_ms_LSAInformation = -1;
2367 static gint ett_gsm_map_ms_SubscriberData = -1;
2368 static gint ett_gsm_map_ms_BearerServiceList = -1;
2369 static gint ett_gsm_map_ms_TeleserviceList = -1;
2370 static gint ett_gsm_map_ms_ODB_Data = -1;
2371 static gint ett_gsm_map_ms_ODB_GeneralData = -1;
2372 static gint ett_gsm_map_ms_ODB_HPLMN_Data = -1;
2373 static gint ett_gsm_map_ms_Ext_SS_InfoList = -1;
2374 static gint ett_gsm_map_ms_Ext_SS_Info = -1;
2375 static gint ett_gsm_map_ms_Ext_ForwInfo = -1;
2376 static gint ett_gsm_map_ms_Ext_ForwFeatureList = -1;
2377 static gint ett_gsm_map_ms_Ext_ForwFeature = -1;
2378 static gint ett_gsm_map_ms_Ext_CallBarInfo = -1;
2379 static gint ett_gsm_map_ms_Ext_CallBarFeatureList = -1;
2380 static gint ett_gsm_map_ms_Ext_CallBarringFeature = -1;
2381 static gint ett_gsm_map_ms_CUG_Info = -1;
2382 static gint ett_gsm_map_ms_CUG_SubscriptionList = -1;
2383 static gint ett_gsm_map_ms_CUG_Subscription = -1;
2384 static gint ett_gsm_map_ms_CUG_FeatureList = -1;
2385 static gint ett_gsm_map_ms_Ext_BasicServiceGroupList = -1;
2386 static gint ett_gsm_map_ms_CUG_Feature = -1;
2387 static gint ett_gsm_map_ms_Ext_SS_Data = -1;
2388 static gint ett_gsm_map_ms_LCS_PrivacyExceptionList = -1;
2389 static gint ett_gsm_map_ms_LCS_PrivacyClass = -1;
2390 static gint ett_gsm_map_ms_ExternalClientList = -1;
2391 static gint ett_gsm_map_ms_PLMNClientList = -1;
2392 static gint ett_gsm_map_ms_Ext_ExternalClientList = -1;
2393 static gint ett_gsm_map_ms_ExternalClient = -1;
2394 static gint ett_gsm_map_ms_ServiceTypeList = -1;
2395 static gint ett_gsm_map_ms_ServiceType = -1;
2396 static gint ett_gsm_map_ms_MOLR_List = -1;
2397 static gint ett_gsm_map_ms_MOLR_Class = -1;
2398 static gint ett_gsm_map_ms_ZoneCodeList = -1;
2399 static gint ett_gsm_map_ms_InsertSubscriberDataRes = -1;
2400 static gint ett_gsm_map_ms_DeleteSubscriberDataArg = -1;
2401 static gint ett_gsm_map_ms_SpecificCSI_Withdraw = -1;
2402 static gint ett_gsm_map_ms_GPRSSubscriptionDataWithdraw = -1;
2403 static gint ett_gsm_map_ms_EPS_SubscriptionDataWithdraw = -1;
2404 static gint ett_gsm_map_ms_ContextIdList = -1;
2405 static gint ett_gsm_map_ms_LSAInformationWithdraw = -1;
2406 static gint ett_gsm_map_ms_LSAIdentityList = -1;
2407 static gint ett_gsm_map_ms_BasicServiceList = -1;
2408 static gint ett_gsm_map_ms_DeleteSubscriberDataRes = -1;
2409 static gint ett_gsm_map_ms_VlrCamelSubscriptionInfo = -1;
2410 static gint ett_gsm_map_ms_MT_smsCAMELTDP_CriteriaList = -1;
2411 static gint ett_gsm_map_ms_MT_smsCAMELTDP_Criteria = -1;
2412 static gint ett_gsm_map_ms_TPDU_TypeCriterion = -1;
2413 static gint ett_gsm_map_ms_D_CSI = -1;
2414 static gint ett_gsm_map_ms_DP_AnalysedInfoCriteriaList = -1;
2415 static gint ett_gsm_map_ms_DP_AnalysedInfoCriterium = -1;
2416 static gint ett_gsm_map_ms_SS_CSI = -1;
2417 static gint ett_gsm_map_ms_SS_CamelData = -1;
2418 static gint ett_gsm_map_ms_SS_EventList = -1;
2419 static gint ett_gsm_map_ms_O_CSI = -1;
2420 static gint ett_gsm_map_ms_O_BcsmCamelTDPDataList = -1;
2421 static gint ett_gsm_map_ms_O_BcsmCamelTDPData = -1;
2422 static gint ett_gsm_map_ms_O_BcsmCamelTDPCriteriaList = -1;
2423 static gint ett_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList = -1;
2424 static gint ett_gsm_map_ms_O_BcsmCamelTDP_Criteria = -1;
2425 static gint ett_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria = -1;
2426 static gint ett_gsm_map_ms_DestinationNumberCriteria = -1;
2427 static gint ett_gsm_map_ms_DestinationNumberList = -1;
2428 static gint ett_gsm_map_ms_DestinationNumberLengthList = -1;
2429 static gint ett_gsm_map_ms_BasicServiceCriteria = -1;
2430 static gint ett_gsm_map_ms_O_CauseValueCriteria = -1;
2431 static gint ett_gsm_map_ms_T_CauseValueCriteria = -1;
2432 static gint ett_gsm_map_ms_SupportedCamelPhases = -1;
2433 static gint ett_gsm_map_ms_OfferedCamel4CSIs = -1;
2434 static gint ett_gsm_map_ms_OfferedCamel4Functionalities = -1;
2435 static gint ett_gsm_map_ms_SMS_CSI = -1;
2436 static gint ett_gsm_map_ms_SMS_CAMEL_TDP_DataList = -1;
2437 static gint ett_gsm_map_ms_SMS_CAMEL_TDP_Data = -1;
2438 static gint ett_gsm_map_ms_M_CSI = -1;
2439 static gint ett_gsm_map_ms_MG_CSI = -1;
2440 static gint ett_gsm_map_ms_MobilityTriggers = -1;
2441 static gint ett_gsm_map_ms_T_CSI = -1;
2442 static gint ett_gsm_map_ms_T_BcsmCamelTDPDataList = -1;
2443 static gint ett_gsm_map_ms_T_BcsmCamelTDPData = -1;
2444 static gint ett_gsm_map_ms_SendRoutingInfoForGprsArg = -1;
2445 static gint ett_gsm_map_ms_SendRoutingInfoForGprsRes = -1;
2446 static gint ett_gsm_map_ms_FailureReportArg = -1;
2447 static gint ett_gsm_map_ms_FailureReportRes = -1;
2448 static gint ett_gsm_map_ms_NoteMsPresentForGprsArg = -1;
2449 static gint ett_gsm_map_ms_NoteMsPresentForGprsRes = -1;
2450 static gint ett_gsm_map_ms_ResetArg = -1;
2451 static gint ett_gsm_map_ms_SendingNode_Number = -1;
2452 static gint ett_gsm_map_ms_RestoreDataArg = -1;
2453 static gint ett_gsm_map_ms_RestoreDataRes = -1;
2454 static gint ett_gsm_map_ms_VBSDataList = -1;
2455 static gint ett_gsm_map_ms_VGCSDataList = -1;
2456 static gint ett_gsm_map_ms_VoiceGroupCallData = -1;
2457 static gint ett_gsm_map_ms_AdditionalSubscriptions = -1;
2458 static gint ett_gsm_map_ms_VoiceBroadcastData = -1;
2459 static gint ett_gsm_map_ms_ProvideSubscriberInfoArg = -1;
2460 static gint ett_gsm_map_ms_ProvideSubscriberInfoRes = -1;
2461 static gint ett_gsm_map_ms_SubscriberInfo = -1;
2462 static gint ett_gsm_map_ms_MNPInfoRes = -1;
2463 static gint ett_gsm_map_ms_GPRSMSClass = -1;
2464 static gint ett_gsm_map_ms_RequestedInfo = -1;
2465 static gint ett_gsm_map_ms_RequestedNodes = -1;
2466 static gint ett_gsm_map_ms_LocationInformation = -1;
2467 static gint ett_gsm_map_ms_LocationInformationEPS = -1;
2468 static gint ett_gsm_map_ms_LocationInformationGPRS = -1;
2469 static gint ett_gsm_map_ms_LocationInformation5GS = -1;
2470 static gint ett_gsm_map_ms_UserCSGInformation = -1;
2471 static gint ett_gsm_map_ms_SubscriberState = -1;
2472 static gint ett_gsm_map_ms_PS_SubscriberState = -1;
2473 static gint ett_gsm_map_ms_PDP_ContextInfoList = -1;
2474 static gint ett_gsm_map_ms_PDP_ContextInfo = -1;
2475 static gint ett_gsm_map_ms_AnyTimeInterrogationArg = -1;
2476 static gint ett_gsm_map_ms_AnyTimeInterrogationRes = -1;
2477 static gint ett_gsm_map_ms_AnyTimeSubscriptionInterrogationArg = -1;
2478 static gint ett_gsm_map_ms_AnyTimeSubscriptionInterrogationRes = -1;
2479 static gint ett_gsm_map_ms_CallWaitingData = -1;
2480 static gint ett_gsm_map_ms_Ext_CwFeatureList = -1;
2481 static gint ett_gsm_map_ms_Ext_CwFeature = -1;
2482 static gint ett_gsm_map_ms_ClipData = -1;
2483 static gint ett_gsm_map_ms_ClirData = -1;
2484 static gint ett_gsm_map_ms_CallHoldData = -1;
2485 static gint ett_gsm_map_ms_EctData = -1;
2486 static gint ett_gsm_map_ms_RequestedSubscriptionInfo = -1;
2487 static gint ett_gsm_map_ms_MSISDN_BS_List = -1;
2488 static gint ett_gsm_map_ms_MSISDN_BS = -1;
2489 static gint ett_gsm_map_ms_CallForwardingData = -1;
2490 static gint ett_gsm_map_ms_CallBarringData = -1;
2491 static gint ett_gsm_map_ms_ODB_Info = -1;
2492 static gint ett_gsm_map_ms_CAMEL_SubscriptionInfo = -1;
2493 static gint ett_gsm_map_ms_AnyTimeModificationArg = -1;
2494 static gint ett_gsm_map_ms_ModificationRequestFor_CW_Info = -1;
2495 static gint ett_gsm_map_ms_ModificationRequestFor_CH_Info = -1;
2496 static gint ett_gsm_map_ms_ModificationRequestFor_ECT_Info = -1;
2497 static gint ett_gsm_map_ms_ModificationRequestFor_CLIR_Info = -1;
2498 static gint ett_gsm_map_ms_ModificationRequestFor_CLIP_Info = -1;
2499 static gint ett_gsm_map_ms_ModificationRequestFor_CSG = -1;
2500 static gint ett_gsm_map_ms_RequestedServingNode = -1;
2501 static gint ett_gsm_map_ms_ServingNode = -1;
2502 static gint ett_gsm_map_ms_AnyTimeModificationRes = -1;
2503 static gint ett_gsm_map_ms_ModificationRequestFor_CF_Info = -1;
2504 static gint ett_gsm_map_ms_ModificationRequestFor_CB_Info = -1;
2505 static gint ett_gsm_map_ms_ModificationRequestFor_ODB_data = -1;
2506 static gint ett_gsm_map_ms_ModificationRequestFor_CSI = -1;
2507 static gint ett_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data = -1;
2508 static gint ett_gsm_map_ms_NoteSubscriberDataModifiedArg = -1;
2509 static gint ett_gsm_map_ms_NoteSubscriberDataModifiedRes = -1;
2510 static gint ett_gsm_map_ms_NoteMM_EventArg = -1;
2511 static gint ett_gsm_map_ms_NoteMM_EventRes = -1;
2512 static gint ett_gsm_map_ms_Ext_SS_InfoFor_CSE = -1;
2513 static gint ett_gsm_map_ms_Ext_ForwardingInfoFor_CSE = -1;
2514 static gint ett_gsm_map_ms_Ext_CallBarringInfoFor_CSE = -1;
2515 static gint ett_gsm_map_ms_UpdateVcsgLocationArg = -1;
2516 static gint ett_gsm_map_ms_UpdateVcsgLocationRes = -1;
2517 static gint ett_gsm_map_ms_CancelVcsgLocationArg = -1;
2518 static gint ett_gsm_map_ms_CancelVcsgLocationRes = -1;
2519 
2520 /* --- Module MAP-CH-DataTypes --- --- ---                                    */
2521 
2522 static gint ett_gsm_map_ch_CUG_CheckInfo = -1;
2523 static gint ett_gsm_map_ch_SendRoutingInfoArg = -1;
2524 static gint ett_gsm_map_ch_SuppressMTSS = -1;
2525 static gint ett_gsm_map_ch_SendRoutingInfoRes_U = -1;
2526 static gint ett_gsm_map_ch_AllowedServices = -1;
2527 static gint ett_gsm_map_ch_CCBS_Indicators = -1;
2528 static gint ett_gsm_map_ch_RoutingInfo = -1;
2529 static gint ett_gsm_map_ch_ForwardingData = -1;
2530 static gint ett_gsm_map_ch_ProvideRoamingNumberArg = -1;
2531 static gint ett_gsm_map_ch_ProvideRoamingNumberRes = -1;
2532 static gint ett_gsm_map_ch_ResumeCallHandlingArg = -1;
2533 static gint ett_gsm_map_ch_UU_Data = -1;
2534 static gint ett_gsm_map_ch_ResumeCallHandlingRes = -1;
2535 static gint ett_gsm_map_ch_CamelInfo = -1;
2536 static gint ett_gsm_map_ch_ExtendedRoutingInfo = -1;
2537 static gint ett_gsm_map_ch_CamelRoutingInfo = -1;
2538 static gint ett_gsm_map_ch_GmscCamelSubscriptionInfo = -1;
2539 static gint ett_gsm_map_ch_SetReportingStateArg = -1;
2540 static gint ett_gsm_map_ch_SetReportingStateRes = -1;
2541 static gint ett_gsm_map_ch_StatusReportArg = -1;
2542 static gint ett_gsm_map_ch_EventReportData = -1;
2543 static gint ett_gsm_map_ch_CallReportData = -1;
2544 static gint ett_gsm_map_ch_StatusReportRes = -1;
2545 static gint ett_gsm_map_ch_RemoteUserFreeArg = -1;
2546 static gint ett_gsm_map_ch_RemoteUserFreeRes = -1;
2547 static gint ett_gsm_map_ch_IST_AlertArg = -1;
2548 static gint ett_gsm_map_ch_IST_AlertRes = -1;
2549 static gint ett_gsm_map_ch_IST_CommandArg = -1;
2550 static gint ett_gsm_map_ch_IST_CommandRes = -1;
2551 static gint ett_gsm_map_ch_ReleaseResourcesArg = -1;
2552 static gint ett_gsm_map_ch_ReleaseResourcesRes = -1;
2553 
2554 /* --- Module MAP-LCS-DataTypes --- --- ---                                   */
2555 
2556 static gint ett_gsm_map_lcs_RoutingInfoForLCS_Arg = -1;
2557 static gint ett_gsm_map_lcs_RoutingInfoForLCS_Res = -1;
2558 static gint ett_gsm_map_lcs_LCSLocationInfo = -1;
2559 static gint ett_gsm_map_lcs_ProvideSubscriberLocation_Arg = -1;
2560 static gint ett_gsm_map_lcs_LocationType = -1;
2561 static gint ett_gsm_map_lcs_DeferredLocationEventType = -1;
2562 static gint ett_gsm_map_lcs_LCS_ClientID = -1;
2563 static gint ett_gsm_map_lcs_LCSClientName = -1;
2564 static gint ett_gsm_map_lcs_LCSRequestorID = -1;
2565 static gint ett_gsm_map_lcs_LCS_QoS = -1;
2566 static gint ett_gsm_map_lcs_ResponseTime = -1;
2567 static gint ett_gsm_map_lcs_SupportedGADShapes = -1;
2568 static gint ett_gsm_map_lcs_LCSCodeword = -1;
2569 static gint ett_gsm_map_lcs_LCS_PrivacyCheck = -1;
2570 static gint ett_gsm_map_lcs_AreaEventInfo = -1;
2571 static gint ett_gsm_map_lcs_AreaDefinition = -1;
2572 static gint ett_gsm_map_lcs_AreaList = -1;
2573 static gint ett_gsm_map_lcs_Area = -1;
2574 static gint ett_gsm_map_lcs_PeriodicLDRInfo = -1;
2575 static gint ett_gsm_map_lcs_ReportingPLMNList = -1;
2576 static gint ett_gsm_map_lcs_PLMNList = -1;
2577 static gint ett_gsm_map_lcs_ReportingPLMN = -1;
2578 static gint ett_gsm_map_lcs_ProvideSubscriberLocation_Res = -1;
2579 static gint ett_gsm_map_lcs_SubscriberLocationReport_Arg = -1;
2580 static gint ett_gsm_map_lcs_Deferredmt_lrData = -1;
2581 static gint ett_gsm_map_lcs_ServingNodeAddress = -1;
2582 static gint ett_gsm_map_lcs_SubscriberLocationReport_Res = -1;
2583 
2584 /* --- Module MAP-GR-DataTypes --- --- ---                                    */
2585 
2586 static gint ett_gsm_map_gr_PrepareGroupCallArg = -1;
2587 static gint ett_gsm_map_gr_PrepareGroupCallRes = -1;
2588 static gint ett_gsm_map_gr_SendGroupCallEndSignalArg = -1;
2589 static gint ett_gsm_map_gr_SendGroupCallEndSignalRes = -1;
2590 static gint ett_gsm_map_gr_ForwardGroupCallSignallingArg = -1;
2591 static gint ett_gsm_map_gr_ProcessGroupCallSignallingArg = -1;
2592 static gint ett_gsm_map_gr_StateAttributes = -1;
2593 static gint ett_gsm_map_gr_SendGroupCallInfoArg = -1;
2594 static gint ett_gsm_map_gr_SendGroupCallInfoRes = -1;
2595 
2596 /* --- Module MAP-DialogueInformation --- --- ---                             */
2597 
2598 static gint ett_gsm_map_dialogue_MAP_DialoguePDU = -1;
2599 static gint ett_gsm_map_dialogue_MAP_OpenInfo = -1;
2600 static gint ett_gsm_map_dialogue_MAP_AcceptInfo = -1;
2601 static gint ett_gsm_map_dialogue_MAP_CloseInfo = -1;
2602 static gint ett_gsm_map_dialogue_MAP_RefuseInfo = -1;
2603 static gint ett_gsm_map_dialogue_MAP_UserAbortInfo = -1;
2604 static gint ett_gsm_map_dialogue_MAP_UserAbortChoice = -1;
2605 static gint ett_gsm_map_dialogue_MAP_ProviderAbortInfo = -1;
2606 
2607 /* --- Module MAP-LocationServiceOperations --- --- ---                       */
2608 
2609 
2610 /* --- Module MAP-Group-Call-Operations --- --- ---                           */
2611 
2612 
2613 /* --- Module MAP-ShortMessageServiceOperations --- --- ---                   */
2614 
2615 
2616 /* --- Module MAP-SupplementaryServiceOperations --- --- ---                  */
2617 
2618 
2619 /* --- Module MAP-CallHandlingOperations --- --- ---                          */
2620 
2621 
2622 /* --- Module MAP-OperationAndMaintenanceOperations --- --- ---               */
2623 
2624 
2625 /* --- Module MAP-MobileServiceOperations --- --- ---                         */
2626 
2627 
2628 /* --- Module MAP-Errors --- --- ---                                          */
2629 
2630 
2631 /* --- Module MAP-Protocol --- --- ---                                        */
2632 
2633 
2634 /* --- Module DummyMAP --- --- ---                                            */
2635 
2636 static gint ett_gsm_old_Component = -1;
2637 static gint ett_gsm_old_Invoke = -1;
2638 static gint ett_gsm_old_ReturnResult = -1;
2639 static gint ett_gsm_old_T_resultretres = -1;
2640 static gint ett_gsm_old_ReturnError = -1;
2641 static gint ett_gsm_old_Reject = -1;
2642 static gint ett_gsm_old_T_invokeIDRej = -1;
2643 static gint ett_gsm_old_T_problem = -1;
2644 static gint ett_gsm_old_MAP_OPERATION = -1;
2645 static gint ett_gsm_old_MAP_ERROR = -1;
2646 static gint ett_gsm_old_Bss_APDU = -1;
2647 static gint ett_gsm_old_ProvideSIWFSNumberArg = -1;
2648 static gint ett_gsm_old_ProvideSIWFSNumberRes = -1;
2649 static gint ett_gsm_old_PurgeMSArgV2 = -1;
2650 static gint ett_gsm_old_PrepareHO_ArgOld = -1;
2651 static gint ett_gsm_old_PrepareHO_ResOld = -1;
2652 static gint ett_gsm_old_SendAuthenticationInfoResOld = -1;
2653 static gint ett_gsm_old_SendAuthenticationInfoResOld_item = -1;
2654 static gint ett_gsm_old_SendIdentificationResV2 = -1;
2655 static gint ett_gsm_old_TripletListold = -1;
2656 static gint ett_gsm_old_AuthenticationTriplet_v2 = -1;
2657 static gint ett_gsm_old_SIWFSSignallingModifyArg = -1;
2658 static gint ett_gsm_old_SIWFSSignallingModifyRes = -1;
2659 static gint ett_gsm_old_SecureTransportArg = -1;
2660 static gint ett_gsm_old_SecureTransportErrorParam = -1;
2661 static gint ett_gsm_old_SecureTransportRes = -1;
2662 static gint ett_gsm_old_SecurityHeader = -1;
2663 static gint ett_gsm_old_OriginalComponentIdentifier = -1;
2664 static gint ett_gsm_old_OperationCode = -1;
2665 static gint ett_gsm_old_ErrorCode = -1;
2666 static gint ett_gsm_old_PlmnContainer_U = -1;
2667 static gint ett_gsm_old_T_operatorSS_Code = -1;
2668 static gint ett_gsm_old_ForwardSM_Arg = -1;
2669 static gint ett_gsm_old_SM_RP_DAold = -1;
2670 static gint ett_gsm_old_SM_RP_OAold = -1;
2671 static gint ett_gsm_old_SendRoutingInfoArgV2 = -1;
2672 static gint ett_gsm_old_SendRoutingInfoResV2 = -1;
2673 static gint ett_gsm_old_BeginSubscriberActivityArg = -1;
2674 static gint ett_gsm_old_RoutingInfoForSM_ArgV1 = -1;
2675 static gint ett_gsm_old_RoutingInfoForSM_ResV2 = -1;
2676 static gint ett_gsm_old_LocationInfoWithLMSIv2 = -1;
2677 static gint ett_gsm_old_LocationInfo = -1;
2678 static gint ett_gsm_old_SendParametersArg = -1;
2679 static gint ett_gsm_old_RequestParameterList = -1;
2680 static gint ett_gsm_old_SentParameter = -1;
2681 static gint ett_gsm_old_AuthenticationSetListOld = -1;
2682 static gint ett_gsm_old_SentParameterList = -1;
2683 static gint ett_gsm_old_ResetArgV1 = -1;
2684 
2685 /* --- Module SS-DataTypes --- --- ---                                        */
2686 
2687 static gint ett_gsm_ss_NotifySS_Arg = -1;
2688 static gint ett_gsm_ss_ForwardChargeAdviceArg = -1;
2689 static gint ett_gsm_ss_ChargingInformation = -1;
2690 static gint ett_gsm_ss_ForwardCUG_InfoArg = -1;
2691 static gint ett_gsm_ss_ECT_Indicator = -1;
2692 static gint ett_gsm_ss_NameIndicator = -1;
2693 static gint ett_gsm_ss_Name = -1;
2694 static gint ett_gsm_ss_NameSet = -1;
2695 static gint ett_gsm_ss_RDN = -1;
2696 static gint ett_gsm_ss_RemotePartyNumber = -1;
2697 static gint ett_gsm_ss_AccessRegisterCCEntryArg = -1;
2698 static gint ett_gsm_ss_CallDeflectionArg = -1;
2699 static gint ett_gsm_ss_UserUserServiceArg = -1;
2700 static gint ett_gsm_ss_LocationNotificationArg = -1;
2701 static gint ett_gsm_ss_DeferredLocationExt = -1;
2702 static gint ett_gsm_ss_LocationNotificationRes = -1;
2703 static gint ett_gsm_ss_LCS_MOLRArg = -1;
2704 static gint ett_gsm_ss_MultiplePositioningProtocolPDUs = -1;
2705 static gint ett_gsm_ss_LCS_MOLRRes = -1;
2706 static gint ett_gsm_ss_LCS_AreaEventRequestArg = -1;
2707 static gint ett_gsm_ss_LCS_AreaEventReportArg = -1;
2708 static gint ett_gsm_ss_LCS_AreaEventCancellationArg = -1;
2709 static gint ett_gsm_ss_LCS_PeriodicLocationRequestArg = -1;
2710 static gint ett_gsm_ss_LCS_PeriodicLocationRequestRes = -1;
2711 static gint ett_gsm_ss_LCS_LocationUpdateArg = -1;
2712 static gint ett_gsm_ss_LCS_LocationUpdateRes = -1;
2713 static gint ett_gsm_ss_LCS_PeriodicLocationCancellationArg = -1;
2714 static gint ett_gsm_ss_LCS_PeriodicTriggeredInvokeArg = -1;
2715 static gint ett_gsm_ss_PeriodicLocation = -1;
2716 static gint ett_gsm_ss_AreaEventReporting = -1;
2717 static gint ett_gsm_ss_AreaList = -1;
2718 static gint ett_gsm_ss_Area = -1;
2719 static gint ett_gsm_ss_Location_Info = -1;
2720 static gint ett_gsm_ss_MotionEventReporting = -1;
2721 static gint ett_gsm_ss_LCS_PeriodicTriggeredInvokeRes = -1;
2722 
2723 /* --- Module SS-Operations --- --- ---                                       */
2724 
2725 
2726 /* --- Module EricssonMAP --- --- ---                                         */
2727 
2728 static gint ett_gsm_map_ericsson_EnhancedCheckIMEI_Arg = -1;
2729 static gint ett_gsm_map_ericsson_ExtensionType = -1;
2730 static gint ett_gsm_map_ericsson_IsdArgType = -1;
2731 static gint ett_gsm_map_ericsson_IsdArgData = -1;
2732 static gint ett_gsm_map_ericsson_PrivateFeatureData = -1;
2733 static gint ett_gsm_map_ericsson_OickInfo = -1;
2734 static gint ett_gsm_map_ericsson_SubscriptionTypeInfo = -1;
2735 static gint ett_gsm_map_ericsson_IsdResType = -1;
2736 static gint ett_gsm_map_ericsson_IsdResData = -1;
2737 static gint ett_gsm_map_ericsson_DsdArgType = -1;
2738 static gint ett_gsm_map_ericsson_DsdArgData = -1;
2739 static gint ett_gsm_map_ericsson_SRIArgType = -1;
2740 static gint ett_gsm_map_ericsson_SriArgData = -1;
2741 static gint ett_gsm_map_ericsson_SRIResType = -1;
2742 static gint ett_gsm_map_ericsson_SriResData = -1;
2743 static gint ett_gsm_map_ericsson_PrnArgType = -1;
2744 static gint ett_gsm_map_ericsson_PrnArgData = -1;
2745 static gint ett_gsm_map_ericsson_UlArgType = -1;
2746 static gint ett_gsm_map_ericsson_UlArgData = -1;
2747 static gint ett_gsm_map_ericsson_PrivateFeatureUlArgData = -1;
2748 static gint ett_gsm_map_ericsson_ExtraSignalInfo_U = -1;
2749 static gint ett_gsm_map_ericsson_SaiArgType = -1;
2750 static gint ett_gsm_map_ericsson_SaiResType = -1;
2751 static gint ett_gsm_map_ericsson_AtiArgType = -1;
2752 static gint ett_gsm_map_ericsson_AtiResType = -1;
2753 static gint ett_gsm_map_ericsson_RdArgType = -1;
2754 static gint ett_gsm_map_ericsson_RequestedInfoType = -1;
2755 static gint ett_gsm_map_ericsson_ExtAtiArgType = -1;
2756 static gint ett_gsm_map_ericsson_AtiArgData = -1;
2757 
2758 /* --- Module NokiaMAP-Extensions --- --- ---                                 */
2759 
2760 static gint ett_NokiaMAP_Extensions_IsdArgExt_U = -1;
2761 static gint ett_NokiaMAP_Extensions_DsdArgExt_U = -1;
2762 static gint ett_NokiaMAP_Extensions_UlResExt_U = -1;
2763 static gint ett_NokiaMAP_Extensions_ChargingAreaList = -1;
2764 static gint ett_NokiaMAP_Extensions_RegionalChargingData = -1;
2765 static gint ett_NokiaMAP_Extensions_SS_DataExtension_U = -1;
2766 static gint ett_NokiaMAP_Extensions_SriExtension_U = -1;
2767 static gint ett_NokiaMAP_Extensions_ExtraSignalInfo_U = -1;
2768 static gint ett_NokiaMAP_Extensions_Nokia_CUG_Data = -1;
2769 static gint ett_NokiaMAP_Extensions_SriResExtension_U = -1;
2770 static gint ett_NokiaMAP_Extensions_RgData = -1;
2771 static gint ett_NokiaMAP_Extensions_MemberList = -1;
2772 static gint ett_NokiaMAP_Extensions_CanLocArgExt_U = -1;
2773 static gint ett_NokiaMAP_Extensions_ATMargExt_U = -1;
2774 static gint ett_NokiaMAP_Extensions_OlcmInfoTable = -1;
2775 static gint ett_NokiaMAP_Extensions_OlcmInfo = -1;
2776 static gint ett_NokiaMAP_Extensions_ATMresExt_U = -1;
2777 static gint ett_NokiaMAP_Extensions_DTMargExt_U = -1;
2778 static gint ett_NokiaMAP_Extensions_FraudInfo = -1;
2779 static gint ett_NokiaMAP_Extensions_FraudData = -1;
2780 static gint ett_NokiaMAP_Extensions_ServiceWithInfo = -1;
2781 static gint ett_NokiaMAP_Extensions_ServiceListWithInfo = -1;
2782 static gint ett_NokiaMAP_Extensions_INKey = -1;
2783 static gint ett_NokiaMAP_Extensions_MKey = -1;
2784 static gint ett_NokiaMAP_Extensions_SMSKey = -1;
2785 static gint ett_NokiaMAP_Extensions_HO_Ext_U = -1;
2786 static gint ett_NokiaMAP_Extensions_CodecListExt = -1;
2787 static gint ett_NokiaMAP_Extensions_SelectedCodec = -1;
2788 static gint ett_NokiaMAP_Extensions_AbsentSubscriberExt_U = -1;
2789 static gint ett_NokiaMAP_Extensions_ErrOlcmInfoTableExt_U = -1;
2790 static gint ett_NokiaMAP_Extensions_RoutingCategoryExt_U = -1;
2791 static gint ett_NokiaMAP_Extensions_SriForSMArgExt_U = -1;
2792 static gint ett_NokiaMAP_Extensions_ReportSMDelStatArgExt_U = -1;
2793 static gint ett_NokiaMAP_Extensions_MO_ForwardSM_ArgExt_U = -1;
2794 static gint ett_NokiaMAP_Extensions_UdlArgExt_U = -1;
2795 static gint ett_NokiaMAP_Extensions_RoamNotAllowedExt_U = -1;
2796 static gint ett_NokiaMAP_Extensions_AnyTimeModArgExt_U = -1;
2797 static gint ett_NokiaMAP_Extensions_AccessTypeExt = -1;
2798 static gint ett_NokiaMAP_Extensions_AccessSubscriptionListExt = -1;
2799 static gint ett_NokiaMAP_Extensions_AllowedServiceData = -1;
2800 
2801 /*--- End of included file: packet-gsm_map-ett.c ---*/
2802 #line 190 "./asn1/gsm_map/packet-gsm_map-template.c"
2803 
2804 static expert_field ei_gsm_map_unknown_sequence3 = EI_INIT;
2805 static expert_field ei_gsm_map_unknown_sequence = EI_INIT;
2806 static expert_field ei_gsm_map_unknown_parameter = EI_INIT;
2807 static expert_field ei_gsm_map_unknown_invokeData = EI_INIT;
2808 static expert_field ei_gsm_map_undecoded = EI_INIT;
2809 
2810 static dissector_handle_t       gsm_sms_handle; /* SMS TPDU */
2811 static dissector_handle_t       ranap_handle;
2812 static dissector_handle_t       dtap_handle;
2813 static dissector_handle_t       map_handle;
2814 static dissector_handle_t       bssap_handle;
2815 static dissector_table_t        map_prop_arg_opcode_table; /* prorietary operation codes */
2816 static dissector_table_t        map_prop_res_opcode_table; /* prorietary operation codes */
2817 static dissector_table_t        map_prop_err_opcode_table; /* prorietary operation codes */
2818 /* Preferenc settings default */
2819 #define MAX_SSN 254
2820 static range_t *global_ssn_range;
2821 #define APPLICATON_CONTEXT_FROM_TRACE 0
2822 static gint pref_application_context_version = APPLICATON_CONTEXT_FROM_TRACE;
2823 static gboolean pref_ericsson_proprietary_ext = FALSE;
2824 
2825 /* Global variables */
2826 static guint32 opcode=0;
2827 static guint32 errorCode;
2828 static int application_context_version;
2829 static guint ProtocolId;
2830 static guint AccessNetworkProtocolId;
2831 static int gsm_map_tap = -1;
2832 static guint8 gsmmap_pdu_type = 0;
2833 static guint8 gsm_map_pdu_size = 0;
2834 
2835 #define SMS_ENCODING_NOT_SET    0
2836 #define SMS_ENCODING_7BIT       1
2837 #define SMS_ENCODING_8BIT       2
2838 #define SMS_ENCODING_UCS2       3
2839 #define SMS_ENCODING_7BIT_LANG  4
2840 #define SMS_ENCODING_UCS2_LANG  5
2841 
2842 static guint8 sms_encoding;
2843 
2844 /* Forward declarations */
2845 static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
2846 static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
2847 static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
2848 const gchar* gsm_map_opr_code(guint32 val, proto_item *item);
2849 
2850 typedef struct {
2851   struct tcap_private_t * tcap_private;
2852   sccp_msg_info_t *sccp_msg_info;
2853   tvbuff_t *signal_info_tvb;
2854 } gsm_map_private_info_t;
2855 
2856 typedef struct {
2857   wmem_tree_t *packets;
2858 } gsm_map_conv_info_t;
2859 
2860 static gsm_map_packet_info_t *gsm_map_get_packet_info(asn1_ctx_t *actx, gboolean store_conv_info)
2861 {
2862   gsm_map_packet_info_t *gsm_map_pi = (gsm_map_packet_info_t*)p_get_proto_data(wmem_file_scope(), actx->pinfo, proto_gsm_map, 0);
2863   if (!gsm_map_pi) {
2864     gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
2865     gsm_map_pi = wmem_new0(wmem_file_scope(), gsm_map_packet_info_t);
2866     p_add_proto_data(wmem_file_scope(), actx->pinfo, proto_gsm_map, 0, gsm_map_pi);
2867     if (gsm_map_priv && gsm_map_priv->tcap_private) {
2868       gsm_map_pi->tcap_src_tid = gsm_map_priv->tcap_private->src_tid;
2869       if (store_conv_info) {
2870         conversation_t *conversation;
2871         gsm_map_conv_info_t *gsm_map_info;
2872         wmem_tree_key_t key[3];
2873         conversation = find_or_create_conversation(actx->pinfo);
2874         gsm_map_info = (gsm_map_conv_info_t *)conversation_get_proto_data(conversation, proto_gsm_map);
2875         if (!gsm_map_info) {
2876             gsm_map_info = wmem_new(wmem_file_scope(), gsm_map_conv_info_t);
2877             gsm_map_info->packets = wmem_tree_new(wmem_file_scope());
2878             conversation_add_proto_data(conversation, proto_gsm_map, gsm_map_info);
2879         }
2880         key[0].length = 1;
2881         key[0].key = &gsm_map_priv->tcap_private->src_tid;
2882         key[1].length = 1;
2883         key[1].key = &actx->pinfo->num;
2884         key[2].length = 0;
2885         key[2].key = NULL;
2886         wmem_tree_insert32_array(gsm_map_info->packets, key, (void *)gsm_map_pi);
2887       }
2888     }
2889   }
2890   return gsm_map_pi;
2891 }
2892 
2893 static gsm_map_packet_info_t *gsm_map_get_matching_tcap_info(asn1_ctx_t *actx)
2894 {
2895   gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
2896   if (gsm_map_priv && gsm_map_priv->tcap_private) {
2897     conversation_t *conversation;
2898     gsm_map_conv_info_t *gsm_map_info;
2899     wmem_tree_key_t key[3];
2900     gsm_map_packet_info_t *gsm_map_pi;
2901     conversation = find_or_create_conversation(actx->pinfo);
2902     gsm_map_info = (gsm_map_conv_info_t *)conversation_get_proto_data(conversation, proto_gsm_map);
2903     if (!gsm_map_info) {
2904       gsm_map_info = wmem_new(wmem_file_scope(), gsm_map_conv_info_t);
2905       gsm_map_info->packets = wmem_tree_new(wmem_file_scope());
2906       conversation_add_proto_data(conversation, proto_gsm_map, gsm_map_info);
2907     }
2908     key[0].length = 1;
2909     key[0].key = &gsm_map_priv->tcap_private->src_tid;
2910     key[1].length = 1;
2911     key[1].key = &actx->pinfo->num;
2912     key[2].length = 0;
2913     key[2].key = NULL;
2914     gsm_map_pi = (gsm_map_packet_info_t*)wmem_tree_lookup32_array_le(gsm_map_info->packets, key);
2915     if (gsm_map_pi && gsm_map_pi->tcap_src_tid == gsm_map_priv->tcap_private->src_tid)
2916       return gsm_map_pi;
2917   }
2918   return NULL;
2919 }
2920 
2921 /* Value strings */
2922 
2923 const value_string gsm_map_PDP_Type_Organisation_vals[] = {
2924   {  0, "ETSI" },
2925   {  1, "IETF" },
2926   { 0, NULL }
2927 };
2928 
2929 const value_string gsm_map_ietf_defined_pdp_vals[] = {
2930   {  0x21, "IPv4 Address" },
2931   {  0x57, "IPv6 Address" },
2932   { 0, NULL }
2933 };
2934 
2935 const value_string gsm_map_etsi_defined_pdp_vals[] = {
2936   {  1, "PPP" },
2937   { 0, NULL }
2938 };
2939 
2940 static const value_string gsm_map_tag_vals[] = {
2941   {  0x4, "Bearer Capability" },
2942   { 0, NULL }
2943 };
2944 
2945 static const value_string gsm_map_disc_par_vals[] = {
2946   {  0, "Not Transparent" },
2947   {  1, "Transparent" },
2948   { 0, NULL }
2949 };
2950 
2951 static const value_string gsm_map_ericsson_locationInformation_rat_vals[] = {
2952   { 0x0, "GSM" },
2953   { 0x1, "UMTS" },
2954   { 0x2, "LTE" },
2955   { 0xf, "No information" },
2956   { 0, NULL }
2957 };
2958 
2959 
2960 /* returns value in kb/s */
2961 static guint
2962 gsm_map_calc_bitrate(guint8 value){
2963 
2964   guint8 granularity;
2965   guint returnvalue;
2966 
2967   if (value == 0xff)
2968     return 0;
2969 
2970   granularity = value >> 6;
2971   returnvalue = value & 0x7f;
2972   switch (granularity){
2973   case 0:
2974     break;
2975   case 1:
2976     returnvalue = ((returnvalue - 0x40) << 3)+64;
2977     break;
2978   case 2:
2979     returnvalue = (returnvalue << 6)+576;
2980     break;
2981   case 3:
2982     returnvalue = (returnvalue << 6)+576;
2983     break;
2984   }
2985   return returnvalue;
2986 
2987 }
2988 
2989 static void
2990 dissect_gsm_map_ext_qos_subscribed(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx){
2991   int offset = 0;
2992   proto_tree *subtree;
2993   guint8 octet;
2994   guint16 value;
2995 
2996   subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ext_qos_subscribed);
2997   /*  OCTET 1:
2998     Allocation/Retention Priority (This octet encodes each priority level defined in
2999     23.107 as the binary value of the priority level, declaration in 29.060)
3000     Octets 2-9 are coded according to 3GPP TS 24.008[35] Quality of Service Octets
3001     6-13.
3002    */
3003   /* Allocation/Retention Priority */
3004   proto_tree_add_item(subtree, hf_gsm_map_ext_qos_subscribed_pri, tvb, offset, 1, ENC_BIG_ENDIAN);
3005   offset++;
3006 
3007   /* Quality of Service Octets 6-13.( Octet 2 - 9 Here) */
3008 
3009   /* Traffic class, octet 6 (see 3GPP TS 23.107) Bits 8 7 6 */
3010   proto_tree_add_item(subtree, hf_gsm_map_qos_traffic_cls, tvb, offset, 1, ENC_BIG_ENDIAN);
3011   /* Delivery order, octet 6 (see 3GPP TS 23.107) Bits 5 4 */
3012   proto_tree_add_item(subtree, hf_gsm_map_qos_del_order, tvb, offset, 1, ENC_BIG_ENDIAN);
3013   /* Delivery of erroneous SDUs, octet 6 (see 3GPP TS 23.107) Bits 3 2 1 */
3014   proto_tree_add_item(subtree, hf_gsm_map_qos_del_of_err_sdu, tvb, offset, 1, ENC_BIG_ENDIAN);
3015   offset++;
3016 
3017   /* Maximum SDU size, octet 7 (see 3GPP TS 23.107) */
3018   octet = tvb_get_guint8(tvb,offset);
3019   switch (octet){
3020   case 0:
3021     proto_tree_add_uint_format_value(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, octet, "Reserved");
3022     break;
3023   case 0x93:
3024     value = 1502;
3025     proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
3026     break;
3027   case 0x98:
3028     value = 1510;
3029     proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
3030     break;
3031   case 0x99:
3032     value = 1532;
3033     proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
3034     break;
3035   default:
3036     if (octet<0x97){
3037       value = octet * 10;
3038       proto_tree_add_uint(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, value);
3039     }else{
3040       proto_tree_add_uint_format_value(subtree, hf_gsm_map_qos_max_sdu, tvb, offset, 1, octet, "0x%x not defined in TS 24.008", octet);
3041     }
3042   }
3043   offset++;
3044 
3045   /* Maximum bit rate for uplink, octet 8 */
3046   octet = tvb_get_guint8(tvb,offset);
3047   if (octet == 0 ){
3048     proto_tree_add_uint_format_value(subtree, hf_gsm_map_max_brate_ulink, tvb, offset, 1, octet, "Reserved"  );
3049   }else{
3050     proto_tree_add_uint(subtree, hf_gsm_map_max_brate_ulink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
3051   }
3052   offset++;
3053   /* Maximum bit rate for downlink, octet 9 (see 3GPP TS 23.107) */
3054   octet = tvb_get_guint8(tvb,offset);
3055   if (octet == 0 ){
3056     proto_tree_add_uint_format_value(subtree, hf_gsm_map_max_brate_dlink, tvb, offset, 1, octet, "Reserved"  );
3057   }else{
3058     proto_tree_add_uint(subtree, hf_gsm_map_max_brate_dlink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
3059   }
3060   offset++;
3061   /* Residual Bit Error Rate (BER), octet 10 (see 3GPP TS 23.107) Bits 8 7 6 5 */
3062   proto_tree_add_item(subtree, hf_gsm_map_qos_ber, tvb, offset, 1, ENC_BIG_ENDIAN);
3063   /* SDU error ratio, octet 10 (see 3GPP TS 23.107) */
3064   proto_tree_add_item(subtree, hf_gsm_map_qos_sdu_err_rat, tvb, offset, 1, ENC_BIG_ENDIAN);
3065   offset++;
3066 
3067   /* Transfer delay, octet 11 (See 3GPP TS 23.107) Bits 8 7 6 5 4 3 */
3068   proto_tree_add_item(subtree, hf_gsm_map_qos_transfer_delay, tvb, offset, 1, ENC_BIG_ENDIAN);
3069   /* Traffic handling priority, octet 11 (see 3GPP TS 23.107) Bits 2 1 */
3070   proto_tree_add_item(subtree, hf_gsm_map_qos_traff_hdl_pri, tvb, offset, 1, ENC_BIG_ENDIAN);
3071   offset++;
3072 
3073   /*  Guaranteed bit rate for uplink, octet 12 (See 3GPP TS 23.107)
3074       Coding is identical to that of Maximum bit rate for uplink.
3075   */
3076   octet = tvb_get_guint8(tvb,offset);
3077   if (octet == 0 ){
3078     proto_tree_add_uint_format_value(subtree, hf_gsm_map_guaranteed_max_brate_ulink, tvb, offset, 1, octet, "Subscribed guaranteed bit rate for uplink/reserved");
3079   }else{
3080     proto_tree_add_uint(subtree, hf_gsm_map_guaranteed_max_brate_ulink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
3081   }
3082   offset++;
3083 
3084   /*  Guaranteed bit rate for downlink, octet 13(See 3GPP TS 23.107)
3085       Coding is identical to that of Maximum bit rate for uplink.
3086   */
3087   octet = tvb_get_guint8(tvb,offset);
3088   if (octet == 0 ){
3089     proto_tree_add_uint_format_value(subtree, hf_gsm_map_guaranteed_max_brate_dlink, tvb, offset, 1, octet, "Subscribed guaranteed bit rate for downlink/reserved");
3090   }else{
3091     proto_tree_add_uint(subtree, hf_gsm_map_guaranteed_max_brate_dlink, tvb, offset, 1, gsm_map_calc_bitrate(octet));
3092   }
3093 
3094 }
3095 
3096 /*
3097 Ext2-QoS-Subscribed ::= OCTET STRING (SIZE (1..3))
3098 -- Octets 1-3 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets 14-16.
3099 -- If Quality of Service information is structured with 14 octet length, then
3100 -- Octet 1 is coded according to 3GPP TS 24.008 [35] Quality of Service Octet 14.
3101 
3102 */
3103 
3104 static const true_false_string gsm_map_qos_signalling_ind_value = {
3105     "Optimised for signalling traffic",
3106     "Not optimised for signalling traffic"
3107 };
3108 #if 0
3109 /* Helper function returning the main bitrates in kbps */
3110 static guint32
3111 qos_calc_bitrate(guint8 oct)
3112 {
3113     if (oct <= 0x3f)
3114         return oct;
3115     if (oct <= 0x7f)
3116         return 64 + (oct - 0x40) * 8;
3117 
3118     return 576 + (oct - 0x80) * 64;
3119 }
3120 #endif
3121 /* Helper function returning the extended bitrates in kbps */
3122 static guint32
3123 qos_calc_ext_bitrate(guint8 oct)
3124 {
3125     if (oct <= 0x4a)
3126         return 8600 + oct * 100;
3127     if (oct <= 0xba)
3128         return 16000 + (oct - 0x4a) * 1000;
3129 
3130     return 128000 + (oct - 0xba) * 2000;
3131 }
3132 #if 0
3133 static guint32
3134 qos_calc_ext2_bitrate(guint8 oct)
3135 {
3136     if (oct <= 0x3d)
3137         return (256 + oct * 4);
3138     if (oct <= 0xa1)
3139         return (500 + (oct - 0x3d) * 10);
3140     if (oct <= 0xf6)
3141         return (1500 + (oct - 0xa1) * 100);
3142 
3143     return 10000;
3144 }
3145 #endif
3146 static void
3147 dissect_gsm_map_ext2_qos_subscribed(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx) {
3148 
3149     int offset = 0;
3150     proto_tree *subtree;
3151     const gchar *str;
3152     guint8 oct, tmp_oct;
3153     guint32 temp32;
3154     int length = tvb_reported_length(tvb);
3155 
3156     subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ext2_qos_subscribed);
3157 
3158     /* Ocet 14 */
3159     oct = tvb_get_guint8(tvb, offset);
3160     proto_tree_add_bits_item(subtree, hf_gsm_map_spare_bits, tvb, (offset << 3), 3, ENC_BIG_ENDIAN);
3161     proto_tree_add_item(subtree, hf_gsm_map_qos_signalling_ind, tvb, offset, 1, ENC_BIG_ENDIAN);
3162 
3163     tmp_oct = oct & 7;
3164     if (tmp_oct == 0x01)
3165         str = "speech";
3166     else
3167         str = "unknown";
3168 
3169     proto_tree_add_uint_format_value(subtree, hf_gsm_map_qos_source_stat_desc, tvb,
3170         offset, 1, oct, "%s (%u)", str, tmp_oct);
3171 
3172     offset += 1;
3173     if (length == offset) {
3174         return;
3175     }
3176 
3177     /* Octet 15 */
3178     oct = tvb_get_guint8(tvb, offset);
3179 
3180     if (oct == 0x00)
3181         str = "Use the value indicated by the Maximum bit rate for downlink";
3182     else
3183     {
3184         temp32 = qos_calc_ext_bitrate(oct);
3185         if (temp32 % 1000 == 0)
3186             str = wmem_strdup_printf(pinfo->pool, "%u Mbps", temp32 / 1000);
3187         else
3188             str = wmem_strdup_printf(pinfo->pool, "%u kbps", temp32);
3189     }
3190     proto_tree_add_uint_format_value(subtree, hf_gsm_map_qos_max_bitrate_downl_ext, tvb,
3191         offset, 1, oct, "%s (%u)", str, oct);
3192 
3193     offset += 1;
3194     if (length == offset) {
3195         return;
3196     }
3197 
3198     /* Octet 16 */
3199     oct = tvb_get_guint8(tvb, offset);
3200 
3201     if (oct == 0x00)
3202         str = "Use the value indicated by the Guaranteed bit rate for downlink";
3203     else
3204     {
3205         temp32 = qos_calc_ext_bitrate(oct);
3206         if (temp32 % 1000 == 0)
3207             str = wmem_strdup_printf(pinfo->pool, "%u Mbps", temp32 / 1000);
3208         else
3209             str = wmem_strdup_printf(pinfo->pool, "%u kbps", temp32);
3210     }
3211     proto_tree_add_uint_format_value(subtree, hf_gsm_map_qos_guar_bitrate_downl_ext, tvb,
3212         offset, 1, oct, "%s (%u)", str, oct);
3213 
3214 }
3215 
3216 /*
3217 Ext3-QoS-Subscribed ::= OCTET STRING (SIZE (1..2))
3218 -- Octets 1-2 are coded according to 3GPP TS 24.008 [35] Quality of Service Octets 17-18.
3219 
3220 */
3221 static void
3222 dissect_gsm_map_ext3_qos_subscribed(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx) {
3223 
3224     int offset = 0;
3225     proto_tree *subtree;
3226     const gchar *str;
3227     guint8 oct;
3228     guint32 temp32;
3229     int length = tvb_reported_length(tvb);
3230 
3231     subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ext3_qos_subscribed);
3232 
3233     /* Maximum bit rate for uplink (extended) Octet 17 */
3234     oct = tvb_get_guint8(tvb, offset);
3235 
3236     if (oct == 0x00)
3237         str = "Use the value indicated by the Maximum bit rate for uplink";
3238     else
3239     {
3240         temp32 = qos_calc_ext_bitrate(oct);
3241         if (temp32 % 1000 == 0)
3242             str = wmem_strdup_printf(pinfo->pool, "%u Mbps", temp32 / 1000);
3243         else
3244             str = wmem_strdup_printf(pinfo->pool, "%u kbps", temp32);
3245     }
3246     proto_tree_add_uint_format_value(subtree, hf_gsm_map_qos_max_bitrate_upl_ext, tvb,
3247         offset, 1, oct, "%s (%u)", str, oct);
3248 
3249     offset += 1;
3250     if (length == offset) {
3251         return;
3252     }
3253 
3254     /* Guaranteed bit rate for uplink (extended) Octet 18 */
3255     oct = tvb_get_guint8(tvb, offset);
3256 
3257     if (oct == 0x00)
3258         str = "Use the value indicated by the Guaranteed bit rate for uplink";
3259     else
3260     {
3261         temp32 = qos_calc_ext_bitrate(oct);
3262         if (temp32 % 1000 == 0)
3263             str = wmem_strdup_printf(pinfo->pool, "%u Mbps", temp32 / 1000);
3264         else
3265             str = wmem_strdup_printf(pinfo->pool, "%u kbps", temp32);
3266     }
3267     proto_tree_add_uint_format_value(subtree, hf_gsm_map_qos_guar_bitrate_upl_ext, tvb,
3268         offset, 1, oct, "%s (%u)", str, oct);
3269 
3270     return;
3271 }
3272 
3273 static void
3274 dissect_gsm_map_ext4_qos_subscribed(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx) {
3275     int offset = 0;
3276     proto_tree *subtree;
3277 
3278     subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ext3_qos_subscribed);
3279 
3280     proto_tree_add_item(subtree, hf_gsm_map_earp_pvi, tvb, offset, 1, ENC_BIG_ENDIAN);
3281     proto_tree_add_item(subtree, hf_gsm_map_earp_pl, tvb, offset, 1, ENC_BIG_ENDIAN);
3282     proto_tree_add_item(subtree, hf_gsm_map_earp_pci, tvb, offset, 1, ENC_BIG_ENDIAN);
3283 
3284 }
3285 #define  ELLIPSOID_POINT 0
3286 #define  ELLIPSOID_POINT_WITH_UNCERT_CIRC 1
3287 #define  ELLIPSOID_POINT_WITH_UNCERT_ELLIPSE 3
3288 #define  POLYGON 5
3289 #define  ELLIPSOID_POINT_WITH_ALT 8
3290 #define  ELLIPSOID_POINT_WITH_ALT_AND_UNCERT_ELLIPSOID 9
3291 #define  ELLIPSOID_ARC 10
3292 /*
3293 4 3 2 1
3294 0 0 0 0 Ellipsoid Point
3295 0 0 0 1 Ellipsoid point with uncertainty Circle
3296 0 0 1 1 Ellipsoid point with uncertainty Ellipse
3297 0 1 0 1 Polygon
3298 1 0 0 0 Ellipsoid point with altitude
3299 1 0 0 1 Ellipsoid point with altitude and uncertainty Ellipsoid
3300 1 0 1 0 Ellipsoid Arc
3301 other values reserved for future use
3302 */
3303 
3304 /* TS 23 032 Table 2a: Coding of Type of Shape */
3305 #if 0
3306 static const value_string type_of_shape_vals[] = {
3307   { ELLIPSOID_POINT, "Ellipsoid Point"},
3308   { ELLIPSOID_POINT_WITH_UNCERT_CIRC, "Ellipsoid point with uncertainty Circle"},
3309   { ELLIPSOID_POINT_WITH_UNCERT_ELLIPSE, "Ellipsoid point with uncertainty Ellipse"},
3310   { POLYGON, "Polygon"},
3311   { ELLIPSOID_POINT_WITH_ALT, "Ellipsoid point with altitude"},
3312   { ELLIPSOID_POINT_WITH_ALT_AND_UNCERT_ELLIPSOID, "Ellipsoid point with altitude and uncertainty Ellipsoid"},
3313   { ELLIPSOID_ARC, "Ellipsoid Arc"},
3314   { 0, NULL }
3315 };
3316 
3317 /* 3GPP TS 23.032 7.3.1 */
3318 static const value_string sign_of_latitude_vals[] = {
3319   { 0, "North"},
3320   { 1, "South"},
3321   { 0, NULL }
3322 };
3323 
3324 static const value_string dir_of_alt_vals[] = {
3325   { 0, "Altitude expresses height"},
3326   { 1, "Altitude expresses depth"},
3327   { 0, NULL }
3328 };
3329 #endif
3330 
3331 static const value_string gsm_map_cbs_data_coding_scheme_coding_grp_vals[] = {
3332   { 0, "Coding Group 0(Language using the GSM 7 bit default alphabet)" },
3333   { 1, "Coding Group 1" },
3334   { 2, "Coding Group 2" },
3335   { 3, "Coding Group 3" },
3336   { 4, "General Data Coding indication" },
3337   { 5, "General Data Coding indication" },
3338   { 6, "General Data Coding indication" },
3339   { 7, "General Data Coding indication" },
3340   { 8, "Reserved" },
3341   { 9, "Message with User Data Header (UDH) structure" },
3342   { 10,"Reserved" },
3343   { 11,"Reserved" },
3344   { 12,"Reserved" },
3345   { 13,"Reserved" },
3346   { 14,"Defined by the WAP Forum" },
3347   { 15,"Data coding / message handling" },
3348   { 0, NULL}
3349 };
3350 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);
3351 
3352 /* Coding group 0
3353  * Bits 3..0 indicate the language:
3354  */
3355 static const value_string gsm_map_cbs_coding_grp0_lang_vals[] = {
3356   { 0, "German"},
3357   { 1, "English"},
3358   { 2, "Italian"},
3359   { 3, "French"},
3360   { 4, "Spanish"},
3361   { 5, "Dutch"},
3362   { 6, "Swedish"},
3363   { 7, "Danish"},
3364   { 8, "Portuguese"},
3365   { 9, "Finnish"},
3366   { 10, "Norwegian"},
3367   { 11, "Greek"},
3368   { 12, "Turkish"},
3369   { 13, "Hungarian"},
3370   { 14, "Polish"},
3371   { 15, "Language unspecified"},
3372   { 0, NULL }
3373 };
3374 static value_string_ext gsm_map_cbs_coding_grp0_lang_vals_ext = VALUE_STRING_EXT_INIT(gsm_map_cbs_coding_grp0_lang_vals);
3375 
3376 static const value_string gsm_map_cbs_coding_grp1_lang_vals[] = {
3377   { 0, "GSM 7 bit default alphabet; message preceded by language indication"},
3378   { 1, "UCS2; message preceded by language indication"},
3379   { 2, "Reserved"},
3380   { 3, "Reserved"},
3381   { 4, "Reserved"},
3382   { 5, "Reserved"},
3383   { 6, "Reserved"},
3384   { 7, "Reserved"},
3385   { 8, "Reserved"},
3386   { 9, "Reserved"},
3387   { 10, "Reserved"},
3388   { 11, "Reserved"},
3389   { 12, "Reserved"},
3390   { 13, "Reserved"},
3391   { 14, "Reserved"},
3392   { 15, "Reserved"},
3393   { 0, NULL }
3394 };
3395 static value_string_ext gsm_map_cbs_coding_grp1_lang_vals_ext = VALUE_STRING_EXT_INIT(gsm_map_cbs_coding_grp1_lang_vals);
3396 
3397 static const value_string gsm_map_cbs_coding_grp2_lang_vals[] = {
3398   { 0, "Czech"},
3399   { 1, "Hebrew"},
3400   { 2, "Arabic"},
3401   { 3, "Russian"},
3402   { 4, "Icelandic"},
3403   { 5, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3404   { 6, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3405   { 7, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3406   { 8, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3407   { 9, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3408   { 10, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3409   { 11, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3410   { 12, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3411   { 13, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3412   { 14, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3413   { 15, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3414   { 0, NULL }
3415 };
3416 static value_string_ext gsm_map_cbs_coding_grp2_lang_vals_ext = VALUE_STRING_EXT_INIT(gsm_map_cbs_coding_grp2_lang_vals);
3417 
3418 static const value_string gsm_map_cbs_coding_grp3_lang_vals[] = {
3419   { 0, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3420   { 1, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3421   { 2, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3422   { 3, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3423   { 4, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3424   { 5, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3425   { 6, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3426   { 7, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3427   { 8, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3428   { 9, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3429   { 10, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3430   { 11, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3431   { 12, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3432   { 13, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3433   { 14, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3434   { 15, "Reserved for other languages using the GSM 7 bit default alphabet, with unspecified handling at the MS"},
3435   { 0, NULL }
3436 };
3437 static value_string_ext gsm_map_cbs_coding_grp3_lang_vals_ext = VALUE_STRING_EXT_INIT(gsm_map_cbs_coding_grp3_lang_vals);
3438 
3439 static const true_false_string gsm_map_cbs_coding_grp4_7_comp_vals = {
3440   "The text is compressed using the compression algorithm defined in 3GPP TS 23.042",
3441   "The text is uncompressed"
3442 };
3443 
3444 static const true_false_string gsm_map_cbs_coding_grp4_7_class_ind_vals = {
3445   "Bits 1 to 0 have a message class meaning",
3446   "Bits 1 to 0 are reserved and have no message class meaning"
3447 };
3448 
3449 /* Bits 3 and 2 indicate the character set being used, as follows: */
3450 
3451 static const value_string gsm_map_cbs_coding_grp4_7_char_set_vals[] = {
3452   { 0, "GSM 7 bit default alphabet"},
3453   { 1, "8 bit data"},
3454   { 2, "UCS2 (16 bit)"},
3455   { 3, "Reserved"},
3456   { 0, NULL }
3457 };
3458 
3459 static const value_string gsm_map_cbs_coding_grp4_7_class_vals[] = {
3460   { 0, "Class 0"},
3461   { 1, "Class 1 Default meaning: ME-specific"},
3462   { 2, "Class 2 (U)SIM specific message"},
3463   { 3, "Class 3 Default meaning: TE-specific (see 3GPP TS 27.005"},
3464   { 0, NULL }
3465 };
3466 
3467 static const value_string gsm_map_cbs_coding_grp15_mess_code_vals[] = {
3468   { 0, "GSM 7 bit default alphabet"},
3469   { 1, "8 bit data"},
3470   { 0, NULL }
3471 };
3472 
3473 static const value_string gsm_map_cbs_coding_grp15_class_vals[] = {
3474   { 0, "GSM 7 bit default alphabet"},
3475   { 1, "8 bit data"},
3476   { 0, NULL }
3477 };
3478 
3479 
3480 /* 3GPP TS 23.038 version 7.0.0 Release 7 */
3481 guint8
3482 dissect_cbs_data_coding_scheme(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint16 offset)
3483 {
3484   guint8 octet;
3485   guint8 coding_grp;
3486   guint8 character_set;
3487 
3488   octet = tvb_get_guint8(tvb,offset);
3489   coding_grp = octet >>4;
3490   proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp, tvb, offset, 1, ENC_BIG_ENDIAN);
3491 
3492   sms_encoding = SMS_ENCODING_NOT_SET;
3493   switch (coding_grp){
3494   case 0:
3495     proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp0_lang, tvb, offset, 1, ENC_BIG_ENDIAN);
3496     sms_encoding = SMS_ENCODING_7BIT;
3497     break;
3498   case 1:
3499     proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp1_lang, tvb, offset, 1, ENC_BIG_ENDIAN);
3500     if ((octet & 0x0f)== 0){
3501       sms_encoding = SMS_ENCODING_7BIT_LANG;
3502     }else{
3503       sms_encoding = SMS_ENCODING_UCS2_LANG;
3504     }
3505     break;
3506   case 2:
3507     proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp2_lang, tvb, offset, 1, ENC_BIG_ENDIAN);
3508     sms_encoding = SMS_ENCODING_7BIT;
3509     break;
3510   case 3:
3511     proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp3_lang, tvb, offset, 1, ENC_BIG_ENDIAN);
3512     sms_encoding = SMS_ENCODING_7BIT;
3513     break;
3514     /* Coding_grp 01xx */
3515   case 4:
3516       /* FALLTHRU */
3517   case 5:
3518       /* FALLTHRU */
3519   case 6:
3520       /* FALLTHRU */
3521   case 7:
3522       /* FALLTHRU */
3523     proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_comp, tvb, offset, 1, ENC_BIG_ENDIAN);
3524     proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class_ind, tvb, offset, 1, ENC_BIG_ENDIAN);
3525     proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_char_set, tvb, offset, 1, ENC_BIG_ENDIAN);
3526     if ((octet & 0x10)== 0x10){
3527       proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class, tvb, offset, 1, ENC_BIG_ENDIAN);
3528     }
3529     /* Bits 3 and 2 indicate the character set being used, */
3530     character_set = (octet&0x0c)>>2;
3531     switch (character_set){
3532     case 0:
3533       /* GSM 7 bit default alphabet */
3534       sms_encoding = SMS_ENCODING_7BIT;
3535       break;
3536     case 1:
3537       /* 8 bit data */
3538       sms_encoding = SMS_ENCODING_8BIT;
3539       break;
3540     case 2:
3541       /* UCS2 (16 bit) */
3542       sms_encoding = SMS_ENCODING_UCS2;
3543       break;
3544     case 3:
3545       /* Reserved */
3546       sms_encoding = SMS_ENCODING_NOT_SET;
3547       break;
3548     default:
3549       break;
3550     }
3551     break;
3552   case 8:
3553     /* Reserved coding groups */
3554     break;
3555   case 9:
3556     /* Message with User Data Header (UDH) structure:*/
3557     proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_char_set, tvb, offset, 1, ENC_BIG_ENDIAN);
3558     proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp4_7_class, tvb, offset, 1, ENC_BIG_ENDIAN);
3559     character_set = (octet&0x0c)>>2;
3560     switch (character_set){
3561     case 0:
3562       /* GSM 7 bit default alphabet */
3563       sms_encoding = SMS_ENCODING_7BIT;
3564       break;
3565     case 1:
3566       /* 8 bit data */
3567       sms_encoding = SMS_ENCODING_8BIT;
3568       break;
3569     case 2:
3570       /* UCS2 (16 bit) */
3571       sms_encoding = SMS_ENCODING_UCS2;
3572       break;
3573     case 3:
3574       /* Reserved */
3575       sms_encoding = SMS_ENCODING_NOT_SET;
3576       break;
3577     default:
3578       break;
3579     }
3580     break;
3581   case 10:
3582     /* FALLTHRU */
3583   case 11:
3584     /* FALLTHRU */
3585   case 12:
3586     /* FALLTHRU */
3587   case 13:
3588     /* FALLTHRU */
3589     /* 1010..1101 Reserved coding groups */
3590     break;
3591   case 14:
3592     /* Defined by the WAP Forum
3593      * "Wireless Datagram Protocol Specification", Wireless Application Protocol Forum Ltd.
3594      */
3595     break;
3596   case 15:
3597     /* Data coding / message handling */
3598     proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp15_mess_code, tvb, offset, 1, ENC_BIG_ENDIAN);
3599     proto_tree_add_item(tree, hf_gsm_map_cbs_coding_grp15_class, tvb, offset, 1, ENC_BIG_ENDIAN);
3600     character_set = (octet&0x04)>>2;
3601     if (character_set == 0){
3602       sms_encoding = SMS_ENCODING_7BIT;
3603     }else{
3604       sms_encoding = SMS_ENCODING_8BIT;
3605     }
3606     break;
3607   default:
3608     break;
3609   }
3610 
3611   return sms_encoding;
3612 }
3613 void
3614 dissect_gsm_map_msisdn(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
3615 {
3616   guint8      octet;
3617   guint8      na;
3618   guint8      np;
3619 
3620   proto_tree_add_item(tree, hf_gsm_map_extension, tvb, 0,1,ENC_BIG_ENDIAN);
3621   proto_tree_add_item(tree, hf_gsm_map_nature_of_number, tvb, 0,1,ENC_BIG_ENDIAN);
3622   proto_tree_add_item(tree, hf_gsm_map_number_plan, tvb, 0,1,ENC_BIG_ENDIAN);
3623 
3624   if(tvb_reported_length(tvb)==1)
3625     return;
3626 
3627   octet = tvb_get_guint8(tvb,0);
3628   /* nature of address indicator */
3629   na = (octet & 0x70)>>4;
3630   /* numbering plan indicator */
3631   np = octet & 0x0f;
3632   switch(np){
3633   case 1:
3634       /* ISDN/Telephony Numbering Plan (Rec ITU-T E.164) */
3635       switch(na){
3636       case 1:
3637           /* international number */
3638           dissect_e164_msisdn(tvb, tree, 1, tvb_reported_length(tvb)-1, E164_ENC_BCD);
3639       break;
3640       default:
3641           proto_tree_add_item(tree, hf_gsm_map_address_digits, tvb, 1, -1, ENC_BCD_DIGITS_0_9);
3642           break;
3643       }
3644       break;
3645   case 6:
3646       /* land mobile numbering plan (ITU-T Rec E.212) */
3647       dissect_e212_imsi(tvb, pinfo, tree,  1, tvb_reported_length(tvb)-1, FALSE);
3648       break;
3649   default:
3650       proto_tree_add_item(tree, hf_gsm_map_address_digits, tvb, 1, -1, ENC_BCD_DIGITS_0_9);
3651       break;
3652   }
3653 
3654 }
3655 
3656 
3657 /*--- Included file: packet-gsm_map-fn.c ---*/
3658 #line 1 "./asn1/gsm_map/packet-gsm_map-fn.c"
3659 
3660 /* --- Module MAP-SS-Code --- --- ---                                         */
3661 
3662 
3663 
3664 int
3665 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_) {
3666   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3667                                        NULL);
3668 
3669   return offset;
3670 }
3671 
3672 
3673 /* --- Module MAP-BS-Code --- --- ---                                         */
3674 
3675 
3676 
3677 static int
3678 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_) {
3679   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3680                                        NULL);
3681 
3682   return offset;
3683 }
3684 
3685 
3686 
3687 static int
3688 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_) {
3689   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3690                                        NULL);
3691 
3692   return offset;
3693 }
3694 
3695 
3696 /* --- Module MAP-TS-Code --- --- ---                                         */
3697 
3698 
3699 
3700 static int
3701 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_) {
3702   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3703                                        NULL);
3704 
3705   return offset;
3706 }
3707 
3708 
3709 
3710 static int
3711 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_) {
3712   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3713                                        NULL);
3714 
3715   return offset;
3716 }
3717 
3718 
3719 /* --- Module MAP-ExtensionDataTypes --- --- ---                              */
3720 
3721 
3722 
3723 static int
3724 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_) {
3725 #line 227 "./asn1/gsm_map/gsm_map.cnf"
3726   offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &actx->external.direct_reference);
3727 
3728   actx->external.direct_ref_present = (actx->external.direct_reference != NULL) ? TRUE : FALSE;
3729 
3730 
3731 
3732   return offset;
3733 }
3734 
3735 
3736 
3737 static int
3738 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_) {
3739 #line 231 "./asn1/gsm_map/gsm_map.cnf"
3740   proto_tree *ext_tree;
3741   ext_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_gsm_map_extension_data, NULL, "Extension Data");
3742   if (actx->external.direct_ref_present){
3743 	 offset=call_ber_oid_callback(actx->external.direct_reference, tvb, offset, actx->pinfo, ext_tree, NULL);
3744   }else{
3745 	 call_data_dissector(tvb, actx->pinfo, ext_tree);
3746 	 offset = tvb_reported_length_remaining(tvb,offset);
3747   }
3748 
3749 
3750 
3751   return offset;
3752 }
3753 
3754 
3755 static const ber_sequence_t gsm_map_PrivateExtension_sequence[] = {
3756   { &hf_gsm_map_extId       , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_map_T_extId },
3757   { &hf_gsm_map_extType     , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_T_extType },
3758   { NULL, 0, 0, 0, NULL }
3759 };
3760 
3761 static int
3762 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_) {
3763   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3764                                    gsm_map_PrivateExtension_sequence, hf_index, ett_gsm_map_PrivateExtension);
3765 
3766   return offset;
3767 }
3768 
3769 
3770 static const ber_sequence_t gsm_map_PrivateExtensionList_sequence_of[1] = {
3771   { &hf_gsm_map_PrivateExtensionList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_PrivateExtension },
3772 };
3773 
3774 static int
3775 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_) {
3776   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3777                                       gsm_map_PrivateExtensionList_sequence_of, hf_index, ett_gsm_map_PrivateExtensionList);
3778 
3779   return offset;
3780 }
3781 
3782 
3783 static const ber_sequence_t gsm_map_PCS_Extensions_sequence[] = {
3784   { NULL, 0, 0, 0, NULL }
3785 };
3786 
3787 static int
3788 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_) {
3789   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3790                                    gsm_map_PCS_Extensions_sequence, hf_index, ett_gsm_map_PCS_Extensions);
3791 
3792   return offset;
3793 }
3794 
3795 
3796 static const ber_sequence_t gsm_map_ExtensionContainer_sequence[] = {
3797   { &hf_gsm_map_privateExtensionList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PrivateExtensionList },
3798   { &hf_gsm_map_pcs_Extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PCS_Extensions },
3799   { NULL, 0, 0, 0, NULL }
3800 };
3801 
3802 int
3803 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_) {
3804   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3805                                    gsm_map_ExtensionContainer_sequence, hf_index, ett_gsm_map_ExtensionContainer);
3806 
3807   return offset;
3808 }
3809 
3810 
3811 
3812 static int
3813 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_) {
3814   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
3815 
3816   return offset;
3817 }
3818 
3819 
3820 static const ber_sequence_t gsm_map_SLR_Arg_PCS_Extensions_sequence[] = {
3821   { &hf_gsm_map_na_ESRK_Request, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NULL },
3822   { NULL, 0, 0, 0, NULL }
3823 };
3824 
3825 static int
3826 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_) {
3827   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3828                                    gsm_map_SLR_Arg_PCS_Extensions_sequence, hf_index, ett_gsm_map_SLR_Arg_PCS_Extensions);
3829 
3830   return offset;
3831 }
3832 
3833 
3834 static const ber_sequence_t gsm_map_SLR_ArgExtensionContainer_sequence[] = {
3835   { &hf_gsm_map_privateExtensionList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PrivateExtensionList },
3836   { &hf_gsm_map_slr_Arg_PCS_Extensions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SLR_Arg_PCS_Extensions },
3837   { NULL, 0, 0, 0, NULL }
3838 };
3839 
3840 static int
3841 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_) {
3842   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3843                                    gsm_map_SLR_ArgExtensionContainer_sequence, hf_index, ett_gsm_map_SLR_ArgExtensionContainer);
3844 
3845   return offset;
3846 }
3847 
3848 
3849 /* --- Module MAP-CommonDataTypes --- --- ---                                 */
3850 
3851 
3852 
3853 int
3854 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_) {
3855 #line 285 "./asn1/gsm_map/gsm_map.cnf"
3856  tvbuff_t	*parameter_tvb;
3857  proto_tree *subtree;
3858 
3859 
3860    offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3861                                        &parameter_tvb);
3862 
3863 
3864  if (!parameter_tvb)
3865 	return offset;
3866  if(tvb_reported_length(parameter_tvb)==0)
3867      return offset;
3868 
3869  subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_tbcd_digits);
3870  proto_tree_add_item(subtree, hf_gsm_map_TBCD_digits, parameter_tvb, 0, -1, ENC_KEYPAD_ABC_TBCD);
3871 
3872 
3873 
3874   return offset;
3875 }
3876 
3877 
3878 
3879 static int
3880 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_) {
3881   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3882                                        NULL);
3883 
3884   return offset;
3885 }
3886 
3887 
3888 
3889 int
3890 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_) {
3891 #line 245 "./asn1/gsm_map/gsm_map.cnf"
3892 
3893   tvbuff_t	*parameter_tvb;
3894   proto_tree *subtree;
3895 
3896   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3897                                        &parameter_tvb);
3898 
3899 
3900   if (!parameter_tvb)
3901     return offset;
3902 
3903   subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_isdn_address_string);
3904   dissect_gsm_map_msisdn(parameter_tvb, actx->pinfo , subtree);
3905   if (!PINFO_FD_VISITED(actx->pinfo))
3906     actx->private_data = tvb_bytes_to_str(wmem_file_scope(), parameter_tvb, 0, tvb_captured_length(parameter_tvb));
3907 
3908 
3909 
3910   return offset;
3911 }
3912 
3913 
3914 
3915 int
3916 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_) {
3917   offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
3918 
3919   return offset;
3920 }
3921 
3922 
3923 
3924 static int
3925 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_) {
3926   offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
3927 
3928   return offset;
3929 }
3930 
3931 
3932 
3933 int
3934 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_) {
3935   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3936                                        NULL);
3937 
3938   return offset;
3939 }
3940 
3941 
3942 static const value_string gsm_map_ProtocolId_vals[] = {
3943   {   1, "gsm-0408" },
3944   {   2, "gsm-0806" },
3945   {   3, "gsm-BSSMAP" },
3946   {   4, "ets-300102-1" },
3947   { 0, NULL }
3948 };
3949 
3950 
3951 static int
3952 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_) {
3953   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3954                                   &ProtocolId);
3955 
3956   return offset;
3957 }
3958 
3959 
3960 
3961 static int
3962 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_) {
3963 #line 507 "./asn1/gsm_map/gsm_map.cnf"
3964   tvbuff_t *parameter_tvb;
3965   gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
3966 
3967   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
3968                                        &parameter_tvb);
3969 
3970   if (gsm_map_priv)
3971 	gsm_map_priv->signal_info_tvb = parameter_tvb;
3972 
3973 
3974 
3975 
3976   return offset;
3977 }
3978 
3979 
3980 static const ber_sequence_t gsm_map_ExternalSignalInfo_sequence[] = {
3981   { &hf_gsm_map_protocolId  , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ProtocolId },
3982   { &hf_gsm_map_signalInfo  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
3983   { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
3984   { NULL, 0, 0, 0, NULL }
3985 };
3986 
3987 int
3988 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_) {
3989 #line 968 "./asn1/gsm_map/gsm_map.cnf"
3990 /*
3991 -- Information about the internal structure is given in
3992 -- clause 7.6.9.
3993 7.6.9.4 External Signal Information
3994 This parameter contains concatenated information elements (including tag and length) which are defined by a common
3995 protocol version, preceded by the associated protocol ID. It is used to transport information of the indicated protocol via
3996 MAP interfaces
3997 */
3998  guint8		octet;
3999  guint8		length;
4000  tvbuff_t	*next_tvb;
4001  proto_tree *subtree;
4002  gsm_map_private_info_t *gsm_map_priv;
4003 
4004  ProtocolId = 0xffffffff;
4005   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4006                                    gsm_map_ExternalSignalInfo_sequence, hf_index, ett_gsm_map_ExternalSignalInfo);
4007 
4008  gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
4009  if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
4010 	return offset;
4011  subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_externalsignalinfo);
4012  switch (ProtocolId){
4013 	case 1:
4014 	/* gsm-0408 */
4015 		/* As per comment abowe Individual IE:(s) will be found here in TLV format
4016 		 * Unfortunatly a branch for each IE must be made to call the apropriate
4017 		 * function
4018 		 */
4019 		 /* Get tag */
4020 		 octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
4021 		 proto_tree_add_item(subtree, hf_gsm_map_ie_tag, gsm_map_priv->signal_info_tvb, 0,1,ENC_BIG_ENDIAN);
4022 		 /* get length */
4023 		 length = tvb_get_guint8(gsm_map_priv->signal_info_tvb,1);
4024 		 proto_tree_add_item(subtree, hf_gsm_map_len, gsm_map_priv->signal_info_tvb, 1,1,ENC_BIG_ENDIAN);
4025 		 /* Branch on tag */
4026 		 switch(octet){
4027 		 case 4:
4028 			/* Dissect the data part */
4029 			de_bearer_cap(gsm_map_priv->signal_info_tvb, subtree, actx->pinfo, 2, length, NULL, 0);
4030 			/* TODO: There may be more than one IE */
4031 			break;
4032 		 default:
4033 			proto_tree_add_expert(subtree, actx->pinfo, &ei_gsm_map_undecoded, gsm_map_priv->signal_info_tvb, 0, length);
4034 			break;
4035 		}/* switch(octet) */
4036 		break;
4037 	case 2:
4038 		/* gsm-0806 */
4039 		octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
4040 		/* Discrimination parameter */
4041 		proto_tree_add_item(subtree, hf_gsm_map_disc_par, gsm_map_priv->signal_info_tvb, 0,1,ENC_BIG_ENDIAN);
4042 		if ( octet == 0) {/* DISCRIMINATION TS 48 006(GSM 08.06 version 5.3.0) */
4043 			/* Strip off discrimination and length */
4044 			proto_tree_add_item(subtree, hf_gsm_map_len, gsm_map_priv->signal_info_tvb, 1,1,ENC_BIG_ENDIAN);
4045 			next_tvb = tvb_new_subset_remaining(gsm_map_priv->signal_info_tvb, 2);
4046 			call_dissector_with_data(bssap_handle, next_tvb, actx->pinfo, subtree, gsm_map_priv->sccp_msg_info);
4047 		}else if(octet==1){
4048 			proto_tree_add_item(subtree, hf_gsm_map_dlci, gsm_map_priv->signal_info_tvb, 1,1,ENC_BIG_ENDIAN);
4049 			proto_tree_add_item(subtree, hf_gsm_map_len, gsm_map_priv->signal_info_tvb, 2,1,ENC_BIG_ENDIAN);
4050 			next_tvb = tvb_new_subset_remaining(gsm_map_priv->signal_info_tvb, 3);
4051 			call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree);
4052 		}
4053 		break;
4054 	case 3:
4055 	/* gsm-BSSMAP TODO Is it correct to stripp off two first octets here?*/
4056 		octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
4057 		if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
4058 			next_tvb = tvb_new_subset_remaining(gsm_map_priv->signal_info_tvb, 2);
4059 			call_dissector_with_data(bssap_handle, next_tvb, actx->pinfo, subtree, gsm_map_priv->sccp_msg_info);
4060 		}
4061 		break;
4062 	/* ets-300102-1 (~Q.931 ) */
4063 	case 4:
4064 		octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
4065 		length = tvb_get_guint8(gsm_map_priv->signal_info_tvb,1);
4066 		if ( octet == 4 )
4067 			dissect_q931_bearer_capability_ie(gsm_map_priv->signal_info_tvb, 2, length, subtree);
4068 		break;
4069 	default:
4070 		break;
4071 	}/*switch (ProtocolId)*/
4072 
4073 
4074 
4075   return offset;
4076 }
4077 
4078 
4079 static const value_string gsm_map_Ext_ProtocolId_vals[] = {
4080   {   1, "ets-300356" },
4081   { 0, NULL }
4082 };
4083 
4084 
4085 static int
4086 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_) {
4087   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4088                                   NULL);
4089 
4090   return offset;
4091 }
4092 
4093 
4094 static const ber_sequence_t gsm_map_Ext_ExternalSignalInfo_sequence[] = {
4095   { &hf_gsm_map_ext_ProtocolId, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_ProtocolId },
4096   { &hf_gsm_map_signalInfo  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
4097   { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
4098   { NULL, 0, 0, 0, NULL }
4099 };
4100 
4101 static int
4102 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_) {
4103   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4104                                    gsm_map_Ext_ExternalSignalInfo_sequence, hf_index, ett_gsm_map_Ext_ExternalSignalInfo);
4105 
4106   return offset;
4107 }
4108 
4109 
4110 static const value_string gsm_map_AccessNetworkProtocolId_vals[] = {
4111   {   1, "ts3G-48006" },
4112   {   2, "ts3G-25413" },
4113   { 0, NULL }
4114 };
4115 
4116 
4117 static int
4118 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_) {
4119   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4120                                   &AccessNetworkProtocolId);
4121 
4122   return offset;
4123 }
4124 
4125 
4126 
4127 static int
4128 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_) {
4129 #line 307 "./asn1/gsm_map/gsm_map.cnf"
4130 
4131  tvbuff_t	*parameter_tvb;
4132  guint8		octet;
4133  tvbuff_t	*next_tvb;
4134  proto_tree *subtree;
4135  gsm_map_private_info_t *gsm_map_priv;
4136  sccp_msg_info_t *sccp_msg_info;
4137 
4138 
4139   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4140                                        &parameter_tvb);
4141 
4142 
4143  if (!parameter_tvb)
4144 	return offset;
4145 
4146  gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
4147  sccp_msg_info = gsm_map_priv ? gsm_map_priv->sccp_msg_info : NULL;
4148  subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LongSignalInfo);
4149 
4150  switch (AccessNetworkProtocolId){
4151 	/* ts3G-48006 */
4152 	case 1:
4153 		octet = tvb_get_guint8(parameter_tvb,0);
4154 		/* Discrimination parameter */
4155 		proto_tree_add_item(subtree, hf_gsm_map_disc_par, parameter_tvb, 0,1,ENC_BIG_ENDIAN);
4156 		if ( octet == 0) {/* DISCRIMINATION TS 48 006(GSM 08.06 version 5.3.0) */
4157 			/* Strip off discrimination and length */
4158 			proto_tree_add_item(subtree, hf_gsm_map_len, parameter_tvb, 1,1,ENC_BIG_ENDIAN);
4159 			next_tvb = tvb_new_subset_remaining(parameter_tvb, 2);
4160 			call_dissector_with_data(bssap_handle, next_tvb, actx->pinfo, subtree, sccp_msg_info);
4161 		}else if(octet==1){
4162 			proto_tree_add_item(subtree, hf_gsm_map_dlci, parameter_tvb, 1,1,ENC_BIG_ENDIAN);
4163 			proto_tree_add_item(subtree, hf_gsm_map_len, parameter_tvb, 2,1,ENC_BIG_ENDIAN);
4164 			next_tvb = tvb_new_subset_remaining(parameter_tvb, 3);
4165 			call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree);
4166 		}
4167 		break;
4168 	/* ts3G-25413 */
4169 	case 2:
4170 		call_dissector(ranap_handle, parameter_tvb, actx->pinfo, tree);
4171 		break;
4172 	default:
4173 		break;
4174 
4175  }
4176 
4177 
4178   return offset;
4179 }
4180 
4181 
4182 static const ber_sequence_t gsm_map_AccessNetworkSignalInfo_sequence[] = {
4183   { &hf_gsm_map_accessNetworkProtocolId, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkProtocolId },
4184   { &hf_gsm_map_signalInfo_01, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LongSignalInfo },
4185   { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
4186   { NULL, 0, 0, 0, NULL }
4187 };
4188 
4189 static int
4190 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_) {
4191   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4192                                    gsm_map_AccessNetworkSignalInfo_sequence, hf_index, ett_gsm_map_AccessNetworkSignalInfo);
4193 
4194   return offset;
4195 }
4196 
4197 
4198 
4199 int
4200 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_) {
4201   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4202                                        NULL);
4203 
4204   return offset;
4205 }
4206 
4207 
4208 
4209 int
4210 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_) {
4211 #line 791 "./asn1/gsm_map/gsm_map.cnf"
4212 
4213 	tvbuff_t	*parameter_tvb;
4214 	guint8		octet;
4215 	proto_tree *subtree;
4216 
4217   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4218                                        &parameter_tvb);
4219 
4220 
4221 	if (!parameter_tvb)
4222 		return offset;
4223 	subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_pdptypenumber);
4224 
4225 	octet = tvb_get_guint8(parameter_tvb,0);
4226 	switch(octet){
4227 	case 0x04: /* IPv4 */
4228 		proto_tree_add_item(subtree, hf_gsm_map_GSNAddress_IPv4, parameter_tvb, 1, 4, ENC_BIG_ENDIAN);
4229 		break;
4230 	case 0x50: /* IPv6 */
4231 		proto_tree_add_item(subtree, hf_gsm_map_GSNAddress_IPv6, parameter_tvb, 1, 16, ENC_NA);
4232 		break;
4233 	default:
4234 		break;
4235 	}
4236 
4237 
4238 
4239   return offset;
4240 }
4241 
4242 
4243 
4244 static int
4245 dissect_gsm_map_Time(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4246   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4247                                        NULL);
4248 
4249   return offset;
4250 }
4251 
4252 
4253 
4254 int
4255 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_) {
4256 #line 260 "./asn1/gsm_map/gsm_map.cnf"
4257   tvbuff_t   *parameter_tvb;
4258   const char *imsi_str;
4259 
4260   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, &parameter_tvb);
4261 
4262   if (!parameter_tvb)
4263     return offset;
4264   if(tvb_reported_length(parameter_tvb)==0)
4265     return offset;
4266 
4267   /* Hide the octet string default printout */
4268   proto_item_set_hidden(actx->created_item);
4269   imsi_str = dissect_e212_imsi(parameter_tvb, actx->pinfo, tree,
4270                                0, tvb_reported_length(parameter_tvb), FALSE);
4271   if (!PINFO_FD_VISITED(actx->pinfo))
4272     actx->private_data = wmem_strdup(wmem_file_scope(), imsi_str);
4273 
4274 
4275 
4276   return offset;
4277 }
4278 
4279 
4280 
4281 static int
4282 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_) {
4283 #line 278 "./asn1/gsm_map/gsm_map.cnf"
4284   tvbuff_t *parameter_tvb;
4285   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4286                                        &parameter_tvb);
4287 
4288   if (parameter_tvb && !PINFO_FD_VISITED(actx->pinfo)) {
4289     actx->private_data = tvb_bytes_to_str(wmem_file_scope(), parameter_tvb, 0, tvb_captured_length(parameter_tvb));
4290   }
4291 
4292 
4293 
4294   return offset;
4295 }
4296 
4297 
4298 static const ber_sequence_t gsm_map_IMSI_WithLMSI_sequence[] = {
4299   { &hf_gsm_map_imsi        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
4300   { &hf_gsm_map_lmsi        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LMSI },
4301   { NULL, 0, 0, 0, NULL }
4302 };
4303 
4304 static int
4305 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_) {
4306   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4307                                    gsm_map_IMSI_WithLMSI_sequence, hf_index, ett_gsm_map_IMSI_WithLMSI);
4308 
4309   return offset;
4310 }
4311 
4312 
4313 static const value_string gsm_map_Identity_vals[] = {
4314   {   0, "imsi" },
4315   {   1, "imsi-WithLMSI" },
4316   { 0, NULL }
4317 };
4318 
4319 static const ber_choice_t gsm_map_Identity_choice[] = {
4320   {   0, &hf_gsm_map_imsi        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
4321   {   1, &hf_gsm_map_imsi_WithLMSI, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI_WithLMSI },
4322   { 0, NULL, 0, 0, 0, NULL }
4323 };
4324 
4325 static int
4326 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_) {
4327   offset = dissect_ber_choice(actx, tree, tvb, offset,
4328                                  gsm_map_Identity_choice, hf_index, ett_gsm_map_Identity,
4329                                  NULL);
4330 
4331   return offset;
4332 }
4333 
4334 
4335 
4336 static int
4337 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_) {
4338   offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
4339 
4340   return offset;
4341 }
4342 
4343 
4344 
4345 static int
4346 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_) {
4347   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4348                                        NULL);
4349 
4350   return offset;
4351 }
4352 
4353 
4354 
4355 int
4356 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_) {
4357   offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
4358 
4359   return offset;
4360 }
4361 
4362 
4363 
4364 static int
4365 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_) {
4366   offset = dissect_gsm_map_IMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
4367 
4368   return offset;
4369 }
4370 
4371 
4372 static const ber_sequence_t gsm_map_HLR_List_sequence_of[1] = {
4373   { &hf_gsm_map_HLR_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_HLR_Id },
4374 };
4375 
4376 static int
4377 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_) {
4378   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4379                                       gsm_map_HLR_List_sequence_of, hf_index, ett_gsm_map_HLR_List);
4380 
4381   return offset;
4382 }
4383 
4384 
4385 
4386 int
4387 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_) {
4388 #line 1050 "./asn1/gsm_map/gsm_map.cnf"
4389     tvbuff_t	*parameter_tvb;
4390 	proto_tree	*subtree;
4391 
4392   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4393                                        &parameter_tvb);
4394 
4395 
4396 	if (!parameter_tvb)
4397                 return offset;
4398 
4399     subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GlobalCellId);
4400 	be_cell_id_aux(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length_remaining(tvb,0), NULL, 0, 0);
4401 
4402 
4403 
4404   return offset;
4405 }
4406 
4407 
4408 const value_string gsm_map_NetworkResource_vals[] = {
4409   {   0, "plmn" },
4410   {   1, "hlr" },
4411   {   2, "vlr" },
4412   {   3, "pvlr" },
4413   {   4, "controllingMSC" },
4414   {   5, "vmsc" },
4415   {   6, "eir" },
4416   {   7, "rss" },
4417   { 0, NULL }
4418 };
4419 
4420 
4421 int
4422 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_) {
4423   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4424                                   NULL);
4425 
4426   return offset;
4427 }
4428 
4429 
4430 static const value_string gsm_map_AdditionalNetworkResource_vals[] = {
4431   {   0, "sgsn" },
4432   {   1, "ggsn" },
4433   {   2, "gmlc" },
4434   {   3, "gsmSCF" },
4435   {   4, "nplr" },
4436   {   5, "auc" },
4437   {   6, "ue" },
4438   {   7, "mme" },
4439   { 0, NULL }
4440 };
4441 
4442 
4443 static int
4444 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_) {
4445   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4446                                   NULL);
4447 
4448   return offset;
4449 }
4450 
4451 
4452 
4453 int
4454 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_) {
4455   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4456                                        NULL);
4457 
4458   return offset;
4459 }
4460 
4461 
4462 static const ber_sequence_t gsm_map_NAEA_PreferredCI_sequence[] = {
4463   { &hf_gsm_map_naea_PreferredCIC, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_NAEA_CIC },
4464   { &hf_gsm_map_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
4465   { NULL, 0, 0, 0, NULL }
4466 };
4467 
4468 static int
4469 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_) {
4470   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4471                                    gsm_map_NAEA_PreferredCI_sequence, hf_index, ett_gsm_map_NAEA_PreferredCI);
4472 
4473   return offset;
4474 }
4475 
4476 
4477 static const value_string gsm_map_SubscriberIdentity_vals[] = {
4478   {   0, "imsi" },
4479   {   1, "msisdn" },
4480   { 0, NULL }
4481 };
4482 
4483 static const ber_choice_t gsm_map_SubscriberIdentity_choice[] = {
4484   {   0, &hf_gsm_map_imsi        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
4485   {   1, &hf_gsm_map_msisdn      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
4486   { 0, NULL, 0, 0, 0, NULL }
4487 };
4488 
4489 static int
4490 dissect_gsm_map_SubscriberIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4491   offset = dissect_ber_choice(actx, tree, tvb, offset,
4492                                  gsm_map_SubscriberIdentity_choice, hf_index, ett_gsm_map_SubscriberIdentity,
4493                                  NULL);
4494 
4495   return offset;
4496 }
4497 
4498 
4499 static const ber_sequence_t gsm_map_LCSClientExternalID_sequence[] = {
4500   { &hf_gsm_map_externalAddress, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
4501   { &hf_gsm_map_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
4502   { NULL, 0, 0, 0, NULL }
4503 };
4504 
4505 int
4506 dissect_gsm_map_LCSClientExternalID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4507   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4508                                    gsm_map_LCSClientExternalID_sequence, hf_index, ett_gsm_map_LCSClientExternalID);
4509 
4510   return offset;
4511 }
4512 
4513 
4514 const value_string gsm_map_LCSClientInternalID_vals[] = {
4515   {   0, "broadcastService" },
4516   {   1, "o-andM-HPLMN" },
4517   {   2, "o-andM-VPLMN" },
4518   {   3, "anonymousLocation" },
4519   {   4, "targetMSsubscribedService" },
4520   { 0, NULL }
4521 };
4522 
4523 
4524 int
4525 dissect_gsm_map_LCSClientInternalID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4526   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4527                                   NULL);
4528 
4529   return offset;
4530 }
4531 
4532 
4533 const value_string gsm_map_LCSServiceTypeID_vals[] = {
4534   {   0, "emergencyServices" },
4535   {   1, "emergencyAlertServices" },
4536   {   2, "personTracking" },
4537   {   3, "fleetManagement" },
4538   {   4, "assetManagement" },
4539   {   5, "trafficCongestionReporting" },
4540   {   6, "roadsideAssistance" },
4541   {   7, "routingToNearestCommercialEnterprise" },
4542   {   8, "navigation" },
4543   {   9, "citySightseeing" },
4544   {  10, "localizedAdvertising" },
4545   {  11, "mobileYellowPages" },
4546   {  12, "trafficAndPublicTransportationInfo" },
4547   {  13, "weather" },
4548   {  14, "assetAndServiceFinding" },
4549   {  15, "gaming" },
4550   {  16, "findYourFriend" },
4551   {  17, "dating" },
4552   {  18, "chatting" },
4553   {  19, "routeFinding" },
4554   {  20, "whereAmI" },
4555   {  64, "serv64" },
4556   {  65, "serv65" },
4557   {  66, "serv66" },
4558   {  67, "serv67" },
4559   {  68, "serv68" },
4560   {  69, "serv69" },
4561   {  70, "serv70" },
4562   {  71, "serv71" },
4563   {  72, "serv72" },
4564   {  73, "serv73" },
4565   {  74, "serv74" },
4566   {  75, "serv75" },
4567   {  76, "serv76" },
4568   {  77, "serv77" },
4569   {  78, "serv78" },
4570   {  79, "serv79" },
4571   {  80, "serv80" },
4572   {  81, "serv81" },
4573   {  82, "serv82" },
4574   {  83, "serv83" },
4575   {  84, "serv84" },
4576   {  85, "serv85" },
4577   {  86, "serv86" },
4578   {  87, "serv87" },
4579   {  88, "serv88" },
4580   {  89, "serv89" },
4581   {  90, "serv90" },
4582   {  91, "serv91" },
4583   {  92, "serv92" },
4584   {  93, "serv93" },
4585   {  94, "serv94" },
4586   {  95, "serv95" },
4587   {  96, "serv96" },
4588   {  97, "serv97" },
4589   {  98, "serv98" },
4590   {  99, "serv99" },
4591   { 100, "serv100" },
4592   { 101, "serv101" },
4593   { 102, "serv102" },
4594   { 103, "serv103" },
4595   { 104, "serv104" },
4596   { 105, "serv105" },
4597   { 106, "serv106" },
4598   { 107, "serv107" },
4599   { 108, "serv108" },
4600   { 109, "serv109" },
4601   { 110, "serv110" },
4602   { 111, "serv111" },
4603   { 112, "serv112" },
4604   { 113, "serv113" },
4605   { 114, "serv114" },
4606   { 115, "serv115" },
4607   { 116, "serv116" },
4608   { 117, "serv117" },
4609   { 118, "serv118" },
4610   { 119, "serv119" },
4611   { 120, "serv120" },
4612   { 121, "serv121" },
4613   { 122, "serv122" },
4614   { 123, "serv123" },
4615   { 124, "serv124" },
4616   { 125, "serv125" },
4617   { 126, "serv126" },
4618   { 127, "serv127" },
4619   { 0, NULL }
4620 };
4621 
4622 
4623 int
4624 dissect_gsm_map_LCSServiceTypeID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4625   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4626                                                 NULL);
4627 
4628   return offset;
4629 }
4630 
4631 
4632 
4633 static int
4634 dissect_gsm_map_PLMN_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4635   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4636                                        NULL);
4637 
4638   return offset;
4639 }
4640 
4641 
4642 
4643 static int
4644 dissect_gsm_map_E_UTRAN_CGI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4645 #line 1143 "./asn1/gsm_map/gsm_map.cnf"
4646   tvbuff_t *parameter_tvb;
4647   proto_tree *subtree;
4648   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4649                                        &parameter_tvb);
4650 
4651   if (!parameter_tvb)
4652     return offset;
4653 
4654   subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_e_utranCellGlobalIdentity);
4655   de_sgsap_ecgi(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(tvb), NULL, 0);
4656 
4657 
4658 
4659   return offset;
4660 }
4661 
4662 
4663 
4664 static int
4665 dissect_gsm_map_NR_CGI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4666   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4667                                        NULL);
4668 
4669   return offset;
4670 }
4671 
4672 
4673 
4674 static int
4675 dissect_gsm_map_TA_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4676 #line 1153 "./asn1/gsm_map/gsm_map.cnf"
4677   tvbuff_t *parameter_tvb;
4678   proto_tree *subtree;
4679   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4680                                        &parameter_tvb);
4681 
4682   if (!parameter_tvb)
4683     return offset;
4684 
4685   subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_TA_id);
4686   de_emm_trac_area_id(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(tvb), NULL, 0);
4687 
4688 
4689 
4690   return offset;
4691 }
4692 
4693 
4694 
4695 static int
4696 dissect_gsm_map_NR_TA_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4697   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4698                                        NULL);
4699 
4700   return offset;
4701 }
4702 
4703 
4704 
4705 int
4706 dissect_gsm_map_RAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4707 #line 815 "./asn1/gsm_map/gsm_map.cnf"
4708 
4709 	tvbuff_t	*parameter_tvb;
4710 	proto_tree *subtree;
4711 
4712   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4713                                        &parameter_tvb);
4714 
4715 
4716 	 if (!parameter_tvb)
4717 		return offset;
4718 	subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_RAIdentity);
4719 	de_gmm_rai(parameter_tvb, subtree, actx->pinfo, 0, 3, NULL,0);
4720 
4721 
4722 
4723   return offset;
4724 }
4725 
4726 
4727 static const ber_sequence_t gsm_map_NetworkNodeDiameterAddress_sequence[] = {
4728   { &hf_gsm_map_diameter_Name, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
4729   { &hf_gsm_map_diameter_Realm, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
4730   { NULL, 0, 0, 0, NULL }
4731 };
4732 
4733 static int
4734 dissect_gsm_map_NetworkNodeDiameterAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4735   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4736                                    gsm_map_NetworkNodeDiameterAddress_sequence, hf_index, ett_gsm_map_NetworkNodeDiameterAddress);
4737 
4738   return offset;
4739 }
4740 
4741 
4742 
4743 int
4744 dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4745   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4746                                        NULL);
4747 
4748   return offset;
4749 }
4750 
4751 
4752 
4753 int
4754 dissect_gsm_map_LAIFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4755 #line 827 "./asn1/gsm_map/gsm_map.cnf"
4756 
4757         tvbuff_t        *parameter_tvb;
4758         proto_tree *subtree;
4759 
4760   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4761                                        &parameter_tvb);
4762 
4763 
4764          if (!parameter_tvb)
4765                 return offset;
4766         subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LAIFixedLength);
4767         dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_LAI, TRUE);
4768 
4769 
4770 
4771   return offset;
4772 }
4773 
4774 
4775 const value_string gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals[] = {
4776   {   0, "cellGlobalIdOrServiceAreaIdFixedLength" },
4777   {   1, "laiFixedLength" },
4778   { 0, NULL }
4779 };
4780 
4781 static const ber_choice_t gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_choice[] = {
4782   {   0, &hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength },
4783   {   1, &hf_gsm_map_laiFixedLength, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_LAIFixedLength },
4784   { 0, NULL, 0, 0, 0, NULL }
4785 };
4786 
4787 int
4788 dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4789   offset = dissect_ber_choice(actx, tree, tvb, offset,
4790                                  gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_choice, hf_index, ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI,
4791                                  NULL);
4792 
4793   return offset;
4794 }
4795 
4796 
4797 const value_string gsm_map_BasicServiceCode_vals[] = {
4798   {   2, "bearerService" },
4799   {   3, "teleservice" },
4800   { 0, NULL }
4801 };
4802 
4803 static const ber_choice_t gsm_map_BasicServiceCode_choice[] = {
4804   {   2, &hf_gsm_map_bearerService, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_BearerServiceCode },
4805   {   3, &hf_gsm_map_teleservice , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_TeleserviceCode },
4806   { 0, NULL, 0, 0, 0, NULL }
4807 };
4808 
4809 int
4810 dissect_gsm_map_BasicServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4811   offset = dissect_ber_choice(actx, tree, tvb, offset,
4812                                  gsm_map_BasicServiceCode_choice, hf_index, ett_gsm_map_BasicServiceCode,
4813                                  NULL);
4814 
4815   return offset;
4816 }
4817 
4818 
4819 const value_string gsm_map_Ext_BasicServiceCode_vals[] = {
4820   {   2, "ext-BearerService" },
4821   {   3, "ext-Teleservice" },
4822   { 0, NULL }
4823 };
4824 
4825 static const ber_choice_t gsm_map_Ext_BasicServiceCode_choice[] = {
4826   {   2, &hf_gsm_map_ext_BearerService, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BearerServiceCode },
4827   {   3, &hf_gsm_map_ext_Teleservice, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_TeleserviceCode },
4828   { 0, NULL, 0, 0, 0, NULL }
4829 };
4830 
4831 int
4832 dissect_gsm_map_Ext_BasicServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4833   offset = dissect_ber_choice(actx, tree, tvb, offset,
4834                                  gsm_map_Ext_BasicServiceCode_choice, hf_index, ett_gsm_map_Ext_BasicServiceCode,
4835                                  NULL);
4836 
4837   return offset;
4838 }
4839 
4840 
4841 static const value_string gsm_map_EMLPP_Priority_vals[] = {
4842   {   6, "priorityLevelA" },
4843   {   5, "priorityLevelB" },
4844   {   0, "priorityLevel0" },
4845   {   1, "priorityLevel1" },
4846   {   2, "priorityLevel2" },
4847   {   3, "priorityLevel3" },
4848   {   4, "priorityLevel4" },
4849   { 0, NULL }
4850 };
4851 
4852 
4853 static int
4854 dissect_gsm_map_EMLPP_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4855   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4856                                                 NULL);
4857 
4858   return offset;
4859 }
4860 
4861 
4862 static const ber_sequence_t gsm_map_EMLPP_Info_sequence[] = {
4863   { &hf_gsm_map_maximumentitledPriority, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_EMLPP_Priority },
4864   { &hf_gsm_map_defaultPriority, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_EMLPP_Priority },
4865   { &hf_gsm_map_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
4866   { NULL, 0, 0, 0, NULL }
4867 };
4868 
4869 static int
4870 dissect_gsm_map_EMLPP_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4871   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4872                                    gsm_map_EMLPP_Info_sequence, hf_index, ett_gsm_map_EMLPP_Info);
4873 
4874   return offset;
4875 }
4876 
4877 
4878 
4879 static int
4880 dissect_gsm_map_Ext_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4881 #line 637 "./asn1/gsm_map/gsm_map.cnf"
4882  /* Note Ext-SS-Status can have more than one byte */
4883 
4884  tvbuff_t	*parameter_tvb;
4885  guint8		octet;
4886 
4887   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4888                                        &parameter_tvb);
4889 
4890 
4891  if (!parameter_tvb)
4892 	return offset;
4893 
4894  octet = tvb_get_guint8(parameter_tvb,0);
4895 
4896  proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet);
4897  if ((octet & 0x01)== 1)
4898 	proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet);
4899 
4900  proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet);
4901  proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet);
4902  proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet);
4903 
4904 
4905 
4906   return offset;
4907 }
4908 
4909 
4910 
4911 static int
4912 dissect_gsm_map_MaxMC_Bearers(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4913   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4914                                                 NULL);
4915 
4916   return offset;
4917 }
4918 
4919 
4920 
4921 static int
4922 dissect_gsm_map_MC_Bearers(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4923   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4924                                                 NULL);
4925 
4926   return offset;
4927 }
4928 
4929 
4930 static const ber_sequence_t gsm_map_MC_SS_Info_sequence[] = {
4931   { &hf_gsm_map_ss_Code     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
4932   { &hf_gsm_map_ss_Status   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
4933   { &hf_gsm_map_nbrSB       , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_MaxMC_Bearers },
4934   { &hf_gsm_map_nbrUser     , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers },
4935   { &hf_gsm_map_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
4936   { NULL, 0, 0, 0, NULL }
4937 };
4938 
4939 static int
4940 dissect_gsm_map_MC_SS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4941   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4942                                    gsm_map_MC_SS_Info_sequence, hf_index, ett_gsm_map_MC_SS_Info);
4943 
4944   return offset;
4945 }
4946 
4947 
4948 
4949 int
4950 dissect_gsm_map_AgeOfLocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4951   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4952                                                 NULL);
4953 
4954   return offset;
4955 }
4956 
4957 /*--- PDUs ---*/
4958 
4959 int dissect_gsm_map_ISDN_AddressString_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
4960   int offset = 0;
4961   asn1_ctx_t asn1_ctx;
4962   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4963   offset = dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, &asn1_ctx, tree, hf_gsm_map_gsm_map_ISDN_AddressString_PDU);
4964   return offset;
4965 }
4966 
4967 
4968 /* --- Module MAP-SS-DataTypes --- --- ---                                    */
4969 
4970 
4971 
4972 static int
4973 dissect_gsm_map_ss_NoReplyConditionTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4974   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4975                                                 NULL);
4976 
4977   return offset;
4978 }
4979 
4980 
4981 
4982 static int
4983 dissect_gsm_map_ss_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4984   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
4985 
4986   return offset;
4987 }
4988 
4989 
4990 static const ber_sequence_t gsm_map_ss_RegisterSS_Arg_sequence[] = {
4991   { &hf_gsm_map_ss_ss_Code  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
4992   { &hf_gsm_map_ss_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode },
4993   { &hf_gsm_map_ss_forwardedToNumber, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
4994   { &hf_gsm_map_ss_forwardedToSubaddress, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
4995   { &hf_gsm_map_ss_noReplyConditionTime, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_NoReplyConditionTime },
4996   { &hf_gsm_map_ss_defaultPriority, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority },
4997   { &hf_gsm_map_ss_nbrUser  , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers },
4998   { &hf_gsm_map_ss_longFTN_Supported, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_NULL },
4999   { NULL, 0, 0, 0, NULL }
5000 };
5001 
5002 int
5003 dissect_gsm_map_ss_RegisterSS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5004   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5005                                    gsm_map_ss_RegisterSS_Arg_sequence, hf_index, ett_gsm_map_ss_RegisterSS_Arg);
5006 
5007   return offset;
5008 }
5009 
5010 
5011 
5012 int
5013 dissect_gsm_map_ss_SS_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5014 #line 617 "./asn1/gsm_map/gsm_map.cnf"
5015 
5016  tvbuff_t	*parameter_tvb;
5017  guint8		octet;
5018 
5019   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5020                                        &parameter_tvb);
5021 
5022 
5023  if (!parameter_tvb)
5024 	return offset;
5025 
5026  octet = tvb_get_guint8(parameter_tvb,0);
5027 
5028  proto_tree_add_uint(tree, hf_gsm_map_Ss_Status_unused, parameter_tvb, 0,1,octet);
5029  if ((octet & 0x01)== 1)
5030 	proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_q_bit, parameter_tvb, 0,1,octet);
5031 
5032  proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_p_bit, parameter_tvb, 0,1,octet);
5033  proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_r_bit, parameter_tvb, 0,1,octet);
5034  proto_tree_add_boolean(tree, hf_gsm_map_Ss_Status_a_bit, parameter_tvb, 0,1,octet);
5035 
5036 
5037 
5038   return offset;
5039 }
5040 
5041 
5042 
5043 int
5044 dissect_gsm_map_ss_ForwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5045   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5046                                        NULL);
5047 
5048 #line 704 "./asn1/gsm_map/gsm_map.cnf"
5049 
5050 	proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,ENC_BIG_ENDIAN);
5051 	proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,ENC_BIG_ENDIAN);
5052 	proto_tree_add_item(tree, hf_gsm_map_notification_to_calling_party, tvb, 0,1,ENC_BIG_ENDIAN);
5053 	proto_tree_add_item(tree, hf_gsm_map_forwarding_reason, tvb, 0,1,ENC_BIG_ENDIAN);
5054 
5055   return offset;
5056 }
5057 
5058 
5059 static const ber_sequence_t gsm_map_ss_ForwardingFeature_sequence[] = {
5060   { &hf_gsm_map_ss_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode },
5061   { &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status },
5062   { &hf_gsm_map_ss_forwardedToNumber_01, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
5063   { &hf_gsm_map_ss_forwardedToSubaddress, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
5064   { &hf_gsm_map_ss_forwardingOptions, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ForwardingOptions },
5065   { &hf_gsm_map_ss_noReplyConditionTime, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_NoReplyConditionTime },
5066   { &hf_gsm_map_ss_longForwardedToNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_FTN_AddressString },
5067   { NULL, 0, 0, 0, NULL }
5068 };
5069 
5070 static int
5071 dissect_gsm_map_ss_ForwardingFeature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5072   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5073                                    gsm_map_ss_ForwardingFeature_sequence, hf_index, ett_gsm_map_ss_ForwardingFeature);
5074 
5075   return offset;
5076 }
5077 
5078 
5079 static const ber_sequence_t gsm_map_ss_ForwardingFeatureList_sequence_of[1] = {
5080   { &hf_gsm_map_ss_ForwardingFeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_ForwardingFeature },
5081 };
5082 
5083 static int
5084 dissect_gsm_map_ss_ForwardingFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5085   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5086                                       gsm_map_ss_ForwardingFeatureList_sequence_of, hf_index, ett_gsm_map_ss_ForwardingFeatureList);
5087 
5088   return offset;
5089 }
5090 
5091 
5092 static const ber_sequence_t gsm_map_ss_ForwardingInfo_sequence[] = {
5093   { &hf_gsm_map_ss_ss_Code  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
5094   { &hf_gsm_map_ss_forwardingFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_ForwardingFeatureList },
5095   { NULL, 0, 0, 0, NULL }
5096 };
5097 
5098 static int
5099 dissect_gsm_map_ss_ForwardingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5100   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5101                                    gsm_map_ss_ForwardingInfo_sequence, hf_index, ett_gsm_map_ss_ForwardingInfo);
5102 
5103   return offset;
5104 }
5105 
5106 
5107 static const ber_sequence_t gsm_map_ss_CallBarringFeature_sequence[] = {
5108   { &hf_gsm_map_ss_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode },
5109   { &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status },
5110   { NULL, 0, 0, 0, NULL }
5111 };
5112 
5113 static int
5114 dissect_gsm_map_ss_CallBarringFeature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5115   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5116                                    gsm_map_ss_CallBarringFeature_sequence, hf_index, ett_gsm_map_ss_CallBarringFeature);
5117 
5118   return offset;
5119 }
5120 
5121 
5122 static const ber_sequence_t gsm_map_ss_CallBarringFeatureList_sequence_of[1] = {
5123   { &hf_gsm_map_ss_CallBarringFeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_CallBarringFeature },
5124 };
5125 
5126 static int
5127 dissect_gsm_map_ss_CallBarringFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5128   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5129                                       gsm_map_ss_CallBarringFeatureList_sequence_of, hf_index, ett_gsm_map_ss_CallBarringFeatureList);
5130 
5131   return offset;
5132 }
5133 
5134 
5135 static const ber_sequence_t gsm_map_ss_CallBarringInfo_sequence[] = {
5136   { &hf_gsm_map_ss_ss_Code  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
5137   { &hf_gsm_map_ss_callBarringFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_CallBarringFeatureList },
5138   { NULL, 0, 0, 0, NULL }
5139 };
5140 
5141 static int
5142 dissect_gsm_map_ss_CallBarringInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5143   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5144                                    gsm_map_ss_CallBarringInfo_sequence, hf_index, ett_gsm_map_ss_CallBarringInfo);
5145 
5146   return offset;
5147 }
5148 
5149 
5150 static const value_string gsm_map_ss_CliRestrictionOption_vals[] = {
5151   {   0, "permanent" },
5152   {   1, "temporaryDefaultRestricted" },
5153   {   2, "temporaryDefaultAllowed" },
5154   { 0, NULL }
5155 };
5156 
5157 
5158 static int
5159 dissect_gsm_map_ss_CliRestrictionOption(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5160   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5161                                   NULL);
5162 
5163   return offset;
5164 }
5165 
5166 
5167 static const value_string gsm_map_ss_OverrideCategory_vals[] = {
5168   {   0, "overrideEnabled" },
5169   {   1, "overrideDisabled" },
5170   { 0, NULL }
5171 };
5172 
5173 
5174 static int
5175 dissect_gsm_map_ss_OverrideCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5176   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5177                                   NULL);
5178 
5179   return offset;
5180 }
5181 
5182 
5183 static const value_string gsm_map_ss_SS_SubscriptionOption_vals[] = {
5184   {   2, "cliRestrictionOption" },
5185   {   1, "overrideCategory" },
5186   { 0, NULL }
5187 };
5188 
5189 static const ber_choice_t gsm_map_ss_SS_SubscriptionOption_choice[] = {
5190   {   2, &hf_gsm_map_ss_cliRestrictionOption, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CliRestrictionOption },
5191   {   1, &hf_gsm_map_ss_overrideCategory, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_OverrideCategory },
5192   { 0, NULL, 0, 0, 0, NULL }
5193 };
5194 
5195 static int
5196 dissect_gsm_map_ss_SS_SubscriptionOption(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5197   offset = dissect_ber_choice(actx, tree, tvb, offset,
5198                                  gsm_map_ss_SS_SubscriptionOption_choice, hf_index, ett_gsm_map_ss_SS_SubscriptionOption,
5199                                  NULL);
5200 
5201   return offset;
5202 }
5203 
5204 
5205 static const ber_sequence_t gsm_map_ss_BasicServiceGroupList_sequence_of[1] = {
5206   { &hf_gsm_map_ss_BasicServiceGroupList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode },
5207 };
5208 
5209 static int
5210 dissect_gsm_map_ss_BasicServiceGroupList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5211   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5212                                       gsm_map_ss_BasicServiceGroupList_sequence_of, hf_index, ett_gsm_map_ss_BasicServiceGroupList);
5213 
5214   return offset;
5215 }
5216 
5217 
5218 static const ber_sequence_t gsm_map_ss_SS_Data_sequence[] = {
5219   { &hf_gsm_map_ss_ss_Code  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
5220   { &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status },
5221   { &hf_gsm_map_ss_ss_SubscriptionOption, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ss_SS_SubscriptionOption },
5222   { &hf_gsm_map_ss_basicServiceGroupList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_BasicServiceGroupList },
5223   { &hf_gsm_map_ss_defaultPriority, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_EMLPP_Priority },
5224   { &hf_gsm_map_ss_nbrUser  , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers },
5225   { NULL, 0, 0, 0, NULL }
5226 };
5227 
5228 static int
5229 dissect_gsm_map_ss_SS_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5230   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5231                                    gsm_map_ss_SS_Data_sequence, hf_index, ett_gsm_map_ss_SS_Data);
5232 
5233   return offset;
5234 }
5235 
5236 
5237 const value_string gsm_map_ss_SS_Info_vals[] = {
5238   {   0, "forwardingInfo" },
5239   {   1, "callBarringInfo" },
5240   {   3, "ss-Data" },
5241   { 0, NULL }
5242 };
5243 
5244 static const ber_choice_t gsm_map_ss_SS_Info_choice[] = {
5245   {   0, &hf_gsm_map_ss_forwardingInfo, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ForwardingInfo },
5246   {   1, &hf_gsm_map_ss_callBarringInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CallBarringInfo },
5247   {   3, &hf_gsm_map_ss_ss_Data  , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Data },
5248   { 0, NULL, 0, 0, 0, NULL }
5249 };
5250 
5251 int
5252 dissect_gsm_map_ss_SS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5253   offset = dissect_ber_choice(actx, tree, tvb, offset,
5254                                  gsm_map_ss_SS_Info_choice, hf_index, ett_gsm_map_ss_SS_Info,
5255                                  NULL);
5256 
5257   return offset;
5258 }
5259 
5260 
5261 static const ber_sequence_t gsm_map_ss_SS_ForBS_Code_sequence[] = {
5262   { &hf_gsm_map_ss_ss_Code  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
5263   { &hf_gsm_map_ss_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode },
5264   { &hf_gsm_map_ss_longFTN_Supported, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_NULL },
5265   { NULL, 0, 0, 0, NULL }
5266 };
5267 
5268 int
5269 dissect_gsm_map_ss_SS_ForBS_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5270   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5271                                    gsm_map_ss_SS_ForBS_Code_sequence, hf_index, ett_gsm_map_ss_SS_ForBS_Code);
5272 
5273   return offset;
5274 }
5275 
5276 
5277 
5278 static int
5279 dissect_gsm_map_ss_CCBS_Index(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5280   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5281                                                 NULL);
5282 
5283   return offset;
5284 }
5285 
5286 
5287 static const ber_sequence_t gsm_map_ss_CCBS_Feature_sequence[] = {
5288   { &hf_gsm_map_ss_ccbs_Index, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Index },
5289   { &hf_gsm_map_ss_b_subscriberNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
5290   { &hf_gsm_map_ss_b_subscriberSubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
5291   { &hf_gsm_map_ss_basicServiceGroup, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_BasicServiceCode },
5292   { NULL, 0, 0, 0, NULL }
5293 };
5294 
5295 int
5296 dissect_gsm_map_ss_CCBS_Feature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5297   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5298                                    gsm_map_ss_CCBS_Feature_sequence, hf_index, ett_gsm_map_ss_CCBS_Feature);
5299 
5300   return offset;
5301 }
5302 
5303 
5304 static const ber_sequence_t gsm_map_ss_CCBS_FeatureList_sequence_of[1] = {
5305   { &hf_gsm_map_ss_CCBS_FeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_CCBS_Feature },
5306 };
5307 
5308 static int
5309 dissect_gsm_map_ss_CCBS_FeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5310   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5311                                       gsm_map_ss_CCBS_FeatureList_sequence_of, hf_index, ett_gsm_map_ss_CCBS_FeatureList);
5312 
5313   return offset;
5314 }
5315 
5316 
5317 static const ber_sequence_t gsm_map_ss_GenericServiceInfo_sequence[] = {
5318   { &hf_gsm_map_ss_ss_Status, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_SS_Status },
5319   { &hf_gsm_map_ss_cliRestrictionOption, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_CliRestrictionOption },
5320   { &hf_gsm_map_ss_maximumEntitledPriority, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority },
5321   { &hf_gsm_map_ss_defaultPriority, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority },
5322   { &hf_gsm_map_ss_ccbs_FeatureList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_FeatureList },
5323   { &hf_gsm_map_ss_nbrSB    , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MaxMC_Bearers },
5324   { &hf_gsm_map_ss_nbrUser  , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers },
5325   { &hf_gsm_map_ss_nbrSN    , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_Bearers },
5326   { NULL, 0, 0, 0, NULL }
5327 };
5328 
5329 static int
5330 dissect_gsm_map_ss_GenericServiceInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5331   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5332                                    gsm_map_ss_GenericServiceInfo_sequence, hf_index, ett_gsm_map_ss_GenericServiceInfo);
5333 
5334   return offset;
5335 }
5336 
5337 
5338 const value_string gsm_map_ss_InterrogateSS_Res_vals[] = {
5339   {   0, "ss-Status" },
5340   {   2, "basicServiceGroupList" },
5341   {   3, "forwardingFeatureList" },
5342   {   4, "genericServiceInfo" },
5343   { 0, NULL }
5344 };
5345 
5346 static const ber_choice_t gsm_map_ss_InterrogateSS_Res_choice[] = {
5347   {   0, &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status },
5348   {   2, &hf_gsm_map_ss_basicServiceGroupList, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_BasicServiceGroupList },
5349   {   3, &hf_gsm_map_ss_forwardingFeatureList, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ForwardingFeatureList },
5350   {   4, &hf_gsm_map_ss_genericServiceInfo, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_GenericServiceInfo },
5351   { 0, NULL, 0, 0, 0, NULL }
5352 };
5353 
5354 int
5355 dissect_gsm_map_ss_InterrogateSS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5356   offset = dissect_ber_choice(actx, tree, tvb, offset,
5357                                  gsm_map_ss_InterrogateSS_Res_choice, hf_index, ett_gsm_map_ss_InterrogateSS_Res,
5358                                  NULL);
5359 
5360   return offset;
5361 }
5362 
5363 
5364 
5365 int
5366 dissect_gsm_map_ss_USSD_DataCodingScheme(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5367 #line 660 "./asn1/gsm_map/gsm_map.cnf"
5368  /*The structure of the USSD-DataCodingScheme is defined by
5369   * the Cell Broadcast Data Coding Scheme as described in
5370   * TS 3GPP TS 23.038
5371   * TODO: Should dissect_cbs_data_coding_scheme return encoding type? - like 7bit Alphabet
5372   */
5373   tvbuff_t	*parameter_tvb;
5374   proto_tree *subtree;
5375 
5376   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5377                                        &parameter_tvb);
5378 
5379   if (!parameter_tvb)
5380      return offset;
5381   subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_cbs_data_coding);
5382   dissect_cbs_data_coding_scheme(parameter_tvb, actx->pinfo, subtree, 0);
5383 
5384 
5385 
5386   return offset;
5387 }
5388 
5389 
5390 
5391 int
5392 dissect_gsm_map_ss_USSD_String(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5393 #line 675 "./asn1/gsm_map/gsm_map.cnf"
5394 
5395   tvbuff_t   *parameter_tvb;
5396   guint       length;
5397   proto_tree *subtree;
5398 
5399   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5400                                        &parameter_tvb);
5401 
5402   if (!parameter_tvb)
5403      return offset;
5404 
5405   length = tvb_ensure_captured_length_remaining(parameter_tvb,0);
5406   subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ussd_string);
5407   switch(sms_encoding){
5408     case SMS_ENCODING_7BIT:
5409     case SMS_ENCODING_7BIT_LANG:
5410       proto_tree_add_item(subtree, hf_gsm_map_ussd_string, parameter_tvb, 0, length, ENC_3GPP_TS_23_038_7BITS|ENC_NA);
5411       break;
5412     case SMS_ENCODING_8BIT:
5413       /* XXX - ASCII, or some extended ASCII? */
5414       proto_tree_add_item(subtree, hf_gsm_map_ussd_string, parameter_tvb, 0, length, ENC_ASCII|ENC_NA);
5415       break;
5416     case SMS_ENCODING_UCS2:
5417     case SMS_ENCODING_UCS2_LANG:
5418       proto_tree_add_item(subtree, hf_gsm_map_ussd_string, parameter_tvb, 0, length, ENC_UCS_2|ENC_BIG_ENDIAN);
5419       break;
5420     default:
5421       break;
5422   }
5423 
5424 
5425 
5426   return offset;
5427 }
5428 
5429 
5430 static const ber_sequence_t gsm_map_ss_USSD_Arg_sequence[] = {
5431   { &hf_gsm_map_ss_ussd_DataCodingScheme, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_USSD_DataCodingScheme },
5432   { &hf_gsm_map_ss_ussd_String, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_USSD_String },
5433   { &hf_gsm_map_ss_alertingPattern, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_AlertingPattern },
5434   { &hf_gsm_map_ss_msisdn   , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
5435   { NULL, 0, 0, 0, NULL }
5436 };
5437 
5438 int
5439 dissect_gsm_map_ss_USSD_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5440   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5441                                    gsm_map_ss_USSD_Arg_sequence, hf_index, ett_gsm_map_ss_USSD_Arg);
5442 
5443   return offset;
5444 }
5445 
5446 
5447 static const ber_sequence_t gsm_map_ss_USSD_Res_sequence[] = {
5448   { &hf_gsm_map_ss_ussd_DataCodingScheme, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_USSD_DataCodingScheme },
5449   { &hf_gsm_map_ss_ussd_String, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_USSD_String },
5450   { NULL, 0, 0, 0, NULL }
5451 };
5452 
5453 int
5454 dissect_gsm_map_ss_USSD_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5455   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5456                                    gsm_map_ss_USSD_Res_sequence, hf_index, ett_gsm_map_ss_USSD_Res);
5457 
5458   return offset;
5459 }
5460 
5461 
5462 
5463 static int
5464 dissect_gsm_map_ss_Password(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5465   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
5466                                             actx, tree, tvb, offset, hf_index,
5467                                             NULL);
5468 
5469   return offset;
5470 }
5471 
5472 
5473 static const ber_sequence_t gsm_map_ss_SS_List_sequence_of[1] = {
5474   { &hf_gsm_map_ss_SS_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
5475 };
5476 
5477 static int
5478 dissect_gsm_map_ss_SS_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5479   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5480                                       gsm_map_ss_SS_List_sequence_of, hf_index, ett_gsm_map_ss_SS_List);
5481 
5482   return offset;
5483 }
5484 
5485 
5486 static const ber_sequence_t gsm_map_ss_SS_EventSpecification_sequence_of[1] = {
5487   { &hf_gsm_map_ss_SS_EventSpecification_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AddressString },
5488 };
5489 
5490 static int
5491 dissect_gsm_map_ss_SS_EventSpecification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5492   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5493                                       gsm_map_ss_SS_EventSpecification_sequence_of, hf_index, ett_gsm_map_ss_SS_EventSpecification);
5494 
5495   return offset;
5496 }
5497 
5498 
5499 static const value_string gsm_map_ss_CCBS_RequestState_vals[] = {
5500   {   0, "request" },
5501   {   1, "recall" },
5502   {   2, "active" },
5503   {   3, "completed" },
5504   {   4, "suspended" },
5505   {   5, "frozen" },
5506   {   6, "deleted" },
5507   { 0, NULL }
5508 };
5509 
5510 
5511 static int
5512 dissect_gsm_map_ss_CCBS_RequestState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5513   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5514                                   NULL);
5515 
5516   return offset;
5517 }
5518 
5519 
5520 static const ber_sequence_t gsm_map_ss_SS_InvocationNotificationArg_sequence[] = {
5521   { &hf_gsm_map_ss_imsi     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
5522   { &hf_gsm_map_ss_msisdn   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
5523   { &hf_gsm_map_ss_ss_Event , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
5524   { &hf_gsm_map_ss_ss_EventSpecification, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_EventSpecification },
5525   { &hf_gsm_map_ss_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
5526   { &hf_gsm_map_ss_b_subscriberNumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
5527   { &hf_gsm_map_ss_ccbs_RequestState, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_RequestState },
5528   { NULL, 0, 0, 0, NULL }
5529 };
5530 
5531 static int
5532 dissect_gsm_map_ss_SS_InvocationNotificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5533   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5534                                    gsm_map_ss_SS_InvocationNotificationArg_sequence, hf_index, ett_gsm_map_ss_SS_InvocationNotificationArg);
5535 
5536   return offset;
5537 }
5538 
5539 
5540 static const ber_sequence_t gsm_map_ss_SS_InvocationNotificationRes_sequence[] = {
5541   { &hf_gsm_map_ss_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5542   { NULL, 0, 0, 0, NULL }
5543 };
5544 
5545 static int
5546 dissect_gsm_map_ss_SS_InvocationNotificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5547   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5548                                    gsm_map_ss_SS_InvocationNotificationRes_sequence, hf_index, ett_gsm_map_ss_SS_InvocationNotificationRes);
5549 
5550   return offset;
5551 }
5552 
5553 
5554 static int * const gsm_map_ss_ServiceIndicator_bits[] = {
5555   &hf_gsm_map_ss_ServiceIndicator_clir_invoked,
5556   &hf_gsm_map_ss_ServiceIndicator_camel_invoked,
5557   NULL
5558 };
5559 
5560 static int
5561 dissect_gsm_map_ss_ServiceIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5562   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
5563                                     gsm_map_ss_ServiceIndicator_bits, 2, hf_index, ett_gsm_map_ss_ServiceIndicator,
5564                                     NULL);
5565 
5566   return offset;
5567 }
5568 
5569 
5570 static const ber_sequence_t gsm_map_ss_CCBS_Data_sequence[] = {
5571   { &hf_gsm_map_ss_ccbs_Feature, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Feature },
5572   { &hf_gsm_map_ss_translatedB_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
5573   { &hf_gsm_map_ss_serviceIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ServiceIndicator },
5574   { &hf_gsm_map_ss_callInfo , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
5575   { &hf_gsm_map_ss_networkSignalInfo, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
5576   { NULL, 0, 0, 0, NULL }
5577 };
5578 
5579 static int
5580 dissect_gsm_map_ss_CCBS_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5581   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5582                                    gsm_map_ss_CCBS_Data_sequence, hf_index, ett_gsm_map_ss_CCBS_Data);
5583 
5584   return offset;
5585 }
5586 
5587 
5588 static const ber_sequence_t gsm_map_ss_RegisterCC_EntryArg_sequence[] = {
5589   { &hf_gsm_map_ss_ss_Code  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
5590   { &hf_gsm_map_ss_ccbs_Data, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Data },
5591   { NULL, 0, 0, 0, NULL }
5592 };
5593 
5594 static int
5595 dissect_gsm_map_ss_RegisterCC_EntryArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5596   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5597                                    gsm_map_ss_RegisterCC_EntryArg_sequence, hf_index, ett_gsm_map_ss_RegisterCC_EntryArg);
5598 
5599   return offset;
5600 }
5601 
5602 
5603 static const ber_sequence_t gsm_map_ss_RegisterCC_EntryRes_sequence[] = {
5604   { &hf_gsm_map_ss_ccbs_Feature, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Feature },
5605   { NULL, 0, 0, 0, NULL }
5606 };
5607 
5608 int
5609 dissect_gsm_map_ss_RegisterCC_EntryRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5610   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5611                                    gsm_map_ss_RegisterCC_EntryRes_sequence, hf_index, ett_gsm_map_ss_RegisterCC_EntryRes);
5612 
5613   return offset;
5614 }
5615 
5616 
5617 static const ber_sequence_t gsm_map_ss_EraseCC_EntryArg_sequence[] = {
5618   { &hf_gsm_map_ss_ss_Code  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
5619   { &hf_gsm_map_ss_ccbs_Index, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Index },
5620   { NULL, 0, 0, 0, NULL }
5621 };
5622 
5623 int
5624 dissect_gsm_map_ss_EraseCC_EntryArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5625   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5626                                    gsm_map_ss_EraseCC_EntryArg_sequence, hf_index, ett_gsm_map_ss_EraseCC_EntryArg);
5627 
5628   return offset;
5629 }
5630 
5631 
5632 static const ber_sequence_t gsm_map_ss_EraseCC_EntryRes_sequence[] = {
5633   { &hf_gsm_map_ss_ss_Code  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
5634   { &hf_gsm_map_ss_ss_Status, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status },
5635   { NULL, 0, 0, 0, NULL }
5636 };
5637 
5638 int
5639 dissect_gsm_map_ss_EraseCC_EntryRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5640   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5641                                    gsm_map_ss_EraseCC_EntryRes_sequence, hf_index, ett_gsm_map_ss_EraseCC_EntryRes);
5642 
5643   return offset;
5644 }
5645 
5646 
5647 /* --- Module MAP-ER-DataTypes --- --- ---                                    */
5648 
5649 
5650 static const value_string gsm_map_er_RoamingNotAllowedCause_vals[] = {
5651   {   0, "plmnRoamingNotAllowed" },
5652   {   3, "operatorDeterminedBarring" },
5653   { 0, NULL }
5654 };
5655 
5656 
5657 static int
5658 dissect_gsm_map_er_RoamingNotAllowedCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5659   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5660                                   NULL);
5661 
5662   return offset;
5663 }
5664 
5665 
5666 static const value_string gsm_map_er_AdditionalRoamingNotAllowedCause_vals[] = {
5667   {   0, "supportedRAT-TypesNotAllowed" },
5668   { 0, NULL }
5669 };
5670 
5671 
5672 static int
5673 dissect_gsm_map_er_AdditionalRoamingNotAllowedCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5674   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5675                                   NULL);
5676 
5677   return offset;
5678 }
5679 
5680 
5681 static const ber_sequence_t gsm_map_er_RoamingNotAllowedParam_sequence[] = {
5682   { &hf_gsm_map_er_roamingNotAllowedCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_RoamingNotAllowedCause },
5683   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5684   { &hf_gsm_map_er_additionalRoamingNotAllowedCause, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AdditionalRoamingNotAllowedCause },
5685   { NULL, 0, 0, 0, NULL }
5686 };
5687 
5688 static int
5689 dissect_gsm_map_er_RoamingNotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5690   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5691                                    gsm_map_er_RoamingNotAllowedParam_sequence, hf_index, ett_gsm_map_er_RoamingNotAllowedParam);
5692 
5693   return offset;
5694 }
5695 
5696 
5697 static const value_string gsm_map_er_CallBarringCause_vals[] = {
5698   {   0, "barringServiceActive" },
5699   {   1, "operatorBarring" },
5700   { 0, NULL }
5701 };
5702 
5703 
5704 static int
5705 dissect_gsm_map_er_CallBarringCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5706   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5707                                   NULL);
5708 
5709   return offset;
5710 }
5711 
5712 
5713 
5714 static int
5715 dissect_gsm_map_er_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5716   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
5717 
5718   return offset;
5719 }
5720 
5721 
5722 static const ber_sequence_t gsm_map_er_ExtensibleCallBarredParam_sequence[] = {
5723   { &hf_gsm_map_er_callBarringCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_CallBarringCause },
5724   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5725   { &hf_gsm_map_er_unauthorisedMessageOriginator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL },
5726   { &hf_gsm_map_er_anonymousCallRejection, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL },
5727   { NULL, 0, 0, 0, NULL }
5728 };
5729 
5730 static int
5731 dissect_gsm_map_er_ExtensibleCallBarredParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5732   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5733                                    gsm_map_er_ExtensibleCallBarredParam_sequence, hf_index, ett_gsm_map_er_ExtensibleCallBarredParam);
5734 
5735   return offset;
5736 }
5737 
5738 
5739 static const ber_choice_t gsm_map_er_CallBarredParam_choice[] = {
5740   {   0, &hf_gsm_map_er_callBarringCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_CallBarringCause },
5741   {   1, &hf_gsm_map_er_extensibleCallBarredParam, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_ExtensibleCallBarredParam },
5742   { 0, NULL, 0, 0, 0, NULL }
5743 };
5744 
5745 static int
5746 dissect_gsm_map_er_CallBarredParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5747   offset = dissect_ber_choice(actx, tree, tvb, offset,
5748                                  gsm_map_er_CallBarredParam_choice, hf_index, ett_gsm_map_er_CallBarredParam,
5749                                  NULL);
5750 
5751   return offset;
5752 }
5753 
5754 
5755 static const value_string gsm_map_er_CUG_RejectCause_vals[] = {
5756   {   0, "incomingCallsBarredWithinCUG" },
5757   {   1, "subscriberNotMemberOfCUG" },
5758   {   5, "requestedBasicServiceViolatesCUG-Constraints" },
5759   {   7, "calledPartySS-InteractionViolation" },
5760   { 0, NULL }
5761 };
5762 
5763 
5764 static int
5765 dissect_gsm_map_er_CUG_RejectCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5766   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5767                                   NULL);
5768 
5769   return offset;
5770 }
5771 
5772 
5773 static const ber_sequence_t gsm_map_er_CUG_RejectParam_sequence[] = {
5774   { &hf_gsm_map_er_cug_RejectCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_CUG_RejectCause },
5775   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5776   { NULL, 0, 0, 0, NULL }
5777 };
5778 
5779 static int
5780 dissect_gsm_map_er_CUG_RejectParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5781   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5782                                    gsm_map_er_CUG_RejectParam_sequence, hf_index, ett_gsm_map_er_CUG_RejectParam);
5783 
5784   return offset;
5785 }
5786 
5787 
5788 static const ber_sequence_t gsm_map_er_SS_IncompatibilityCause_sequence[] = {
5789   { &hf_gsm_map_er_ss_Code  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
5790   { &hf_gsm_map_er_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode },
5791   { &hf_gsm_map_er_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status },
5792   { NULL, 0, 0, 0, NULL }
5793 };
5794 
5795 static int
5796 dissect_gsm_map_er_SS_IncompatibilityCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5797   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5798                                    gsm_map_er_SS_IncompatibilityCause_sequence, hf_index, ett_gsm_map_er_SS_IncompatibilityCause);
5799 
5800   return offset;
5801 }
5802 
5803 
5804 
5805 static int
5806 dissect_gsm_map_er_PW_RegistrationFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5807   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5808                                   NULL);
5809 
5810   return offset;
5811 }
5812 
5813 
5814 static const value_string gsm_map_er_SM_EnumeratedDeliveryFailureCause_vals[] = {
5815   {   0, "memoryCapacityExceeded" },
5816   {   1, "equipmentProtocolError" },
5817   {   2, "equipmentNotSM-Equipped" },
5818   {   3, "unknownServiceCentre" },
5819   {   4, "sc-Congestion" },
5820   {   5, "invalidSME-Address" },
5821   {   6, "subscriberNotSC-Subscriber" },
5822   { 0, NULL }
5823 };
5824 
5825 
5826 static int
5827 dissect_gsm_map_er_SM_EnumeratedDeliveryFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5828   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5829                                   NULL);
5830 
5831   return offset;
5832 }
5833 
5834 
5835 static const ber_sequence_t gsm_map_er_SM_DeliveryFailureCause_sequence[] = {
5836   { &hf_gsm_map_er_sm_EnumeratedDeliveryFailureCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_SM_EnumeratedDeliveryFailureCause },
5837   { &hf_gsm_map_er_diagnosticInfo, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
5838   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5839   { NULL, 0, 0, 0, NULL }
5840 };
5841 
5842 static int
5843 dissect_gsm_map_er_SM_DeliveryFailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5844 #line 516 "./asn1/gsm_map/gsm_map.cnf"
5845   /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
5846   guint8 oct;
5847   gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
5848   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5849                                    gsm_map_er_SM_DeliveryFailureCause_sequence, hf_index, ett_gsm_map_er_SM_DeliveryFailureCause);
5850 
5851 
5852   if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
5853     return offset;
5854   /* Detailed diagnostic information contains either a SMS-SUBMIT-REPORT or a SMS-DELIVERY-REPORT */
5855   oct = tvb_get_guint8(gsm_map_priv->signal_info_tvb, 0);
5856   actx->pinfo->p2p_dir = ((oct & 0x03) == 0) ? P2P_DIR_RECV : P2P_DIR_SENT;
5857   call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
5858 
5859 
5860 
5861   return offset;
5862 }
5863 
5864 
5865 
5866 static int
5867 dissect_gsm_map_er_AbsentSubscriberDiagnosticSM(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5868   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5869                                                 NULL);
5870 
5871   return offset;
5872 }
5873 
5874 
5875 static const ber_sequence_t gsm_map_er_AbsentSubscriberSM_Param_sequence[] = {
5876   { &hf_gsm_map_er_absentSubscriberDiagnosticSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
5877   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5878   { &hf_gsm_map_er_additionalAbsentSubscriberDiagnosticSM, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
5879   { &hf_gsm_map_er_imsi     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
5880   { &hf_gsm_map_er_requestedRetransmissionTime, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Time },
5881   { &hf_gsm_map_er_userIdentifierAlert, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
5882   { NULL, 0, 0, 0, NULL }
5883 };
5884 
5885 static int
5886 dissect_gsm_map_er_AbsentSubscriberSM_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5887   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5888                                    gsm_map_er_AbsentSubscriberSM_Param_sequence, hf_index, ett_gsm_map_er_AbsentSubscriberSM_Param);
5889 
5890   return offset;
5891 }
5892 
5893 
5894 static const value_string gsm_map_er_FailureCauseParam_vals[] = {
5895   {   0, "limitReachedOnNumberOfConcurrentLocationRequests" },
5896   { 0, NULL }
5897 };
5898 
5899 
5900 static int
5901 dissect_gsm_map_er_FailureCauseParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5902   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5903                                   NULL);
5904 
5905   return offset;
5906 }
5907 
5908 
5909 static const ber_sequence_t gsm_map_er_ExtensibleSystemFailureParam_sequence[] = {
5910   { &hf_gsm_map_er_networkResource, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_NetworkResource },
5911   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5912   { &hf_gsm_map_er_additionalNetworkResource, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AdditionalNetworkResource },
5913   { &hf_gsm_map_er_failureCauseParam, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_FailureCauseParam },
5914   { NULL, 0, 0, 0, NULL }
5915 };
5916 
5917 static int
5918 dissect_gsm_map_er_ExtensibleSystemFailureParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5919   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5920                                    gsm_map_er_ExtensibleSystemFailureParam_sequence, hf_index, ett_gsm_map_er_ExtensibleSystemFailureParam);
5921 
5922   return offset;
5923 }
5924 
5925 
5926 static const ber_choice_t gsm_map_er_SystemFailureParam_choice[] = {
5927   {   0, &hf_gsm_map_er_networkResource, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_NetworkResource },
5928   {   1, &hf_gsm_map_er_extensibleSystemFailureParam, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_ExtensibleSystemFailureParam },
5929   { 0, NULL, 0, 0, 0, NULL }
5930 };
5931 
5932 static int
5933 dissect_gsm_map_er_SystemFailureParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5934   offset = dissect_ber_choice(actx, tree, tvb, offset,
5935                                  gsm_map_er_SystemFailureParam_choice, hf_index, ett_gsm_map_er_SystemFailureParam,
5936                                  NULL);
5937 
5938   return offset;
5939 }
5940 
5941 
5942 static const ber_sequence_t gsm_map_er_DataMissingParam_sequence[] = {
5943   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5944   { NULL, 0, 0, 0, NULL }
5945 };
5946 
5947 static int
5948 dissect_gsm_map_er_DataMissingParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5949   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5950                                    gsm_map_er_DataMissingParam_sequence, hf_index, ett_gsm_map_er_DataMissingParam);
5951 
5952   return offset;
5953 }
5954 
5955 
5956 static const ber_sequence_t gsm_map_er_UnexpectedDataParam_sequence[] = {
5957   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5958   { &hf_gsm_map_er_unexpectedSubscriber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL },
5959   { NULL, 0, 0, 0, NULL }
5960 };
5961 
5962 static int
5963 dissect_gsm_map_er_UnexpectedDataParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5964   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5965                                    gsm_map_er_UnexpectedDataParam_sequence, hf_index, ett_gsm_map_er_UnexpectedDataParam);
5966 
5967   return offset;
5968 }
5969 
5970 
5971 static const ber_sequence_t gsm_map_er_FacilityNotSupParam_sequence[] = {
5972   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5973   { &hf_gsm_map_er_shapeOfLocationEstimateNotSupported, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL },
5974   { &hf_gsm_map_er_neededLcsCapabilityNotSupportedInServingNode, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL },
5975   { NULL, 0, 0, 0, NULL }
5976 };
5977 
5978 static int
5979 dissect_gsm_map_er_FacilityNotSupParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5980   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5981                                    gsm_map_er_FacilityNotSupParam_sequence, hf_index, ett_gsm_map_er_FacilityNotSupParam);
5982 
5983   return offset;
5984 }
5985 
5986 
5987 static const ber_sequence_t gsm_map_er_OR_NotAllowedParam_sequence[] = {
5988   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
5989   { NULL, 0, 0, 0, NULL }
5990 };
5991 
5992 static int
5993 dissect_gsm_map_er_OR_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5994   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5995                                    gsm_map_er_OR_NotAllowedParam_sequence, hf_index, ett_gsm_map_er_OR_NotAllowedParam);
5996 
5997   return offset;
5998 }
5999 
6000 
6001 static const value_string gsm_map_er_UnknownSubscriberDiagnostic_vals[] = {
6002   {   0, "imsiUnknown" },
6003   {   1, "gprs-eps-SubscriptionUnknown" },
6004   {   2, "npdbMismatch" },
6005   { 0, NULL }
6006 };
6007 
6008 
6009 static int
6010 dissect_gsm_map_er_UnknownSubscriberDiagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6011   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6012                                   NULL);
6013 
6014   return offset;
6015 }
6016 
6017 
6018 static const ber_sequence_t gsm_map_er_UnknownSubscriberParam_sequence[] = {
6019   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6020   { &hf_gsm_map_er_unknownSubscriberDiagnostic, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_UnknownSubscriberDiagnostic },
6021   { NULL, 0, 0, 0, NULL }
6022 };
6023 
6024 static int
6025 dissect_gsm_map_er_UnknownSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6026   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6027                                    gsm_map_er_UnknownSubscriberParam_sequence, hf_index, ett_gsm_map_er_UnknownSubscriberParam);
6028 
6029   return offset;
6030 }
6031 
6032 
6033 static const ber_sequence_t gsm_map_er_NumberChangedParam_sequence[] = {
6034   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6035   { NULL, 0, 0, 0, NULL }
6036 };
6037 
6038 static int
6039 dissect_gsm_map_er_NumberChangedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6040   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6041                                    gsm_map_er_NumberChangedParam_sequence, hf_index, ett_gsm_map_er_NumberChangedParam);
6042 
6043   return offset;
6044 }
6045 
6046 
6047 static const ber_sequence_t gsm_map_er_UnidentifiedSubParam_sequence[] = {
6048   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6049   { NULL, 0, 0, 0, NULL }
6050 };
6051 
6052 static int
6053 dissect_gsm_map_er_UnidentifiedSubParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6054   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6055                                    gsm_map_er_UnidentifiedSubParam_sequence, hf_index, ett_gsm_map_er_UnidentifiedSubParam);
6056 
6057   return offset;
6058 }
6059 
6060 
6061 static const ber_sequence_t gsm_map_er_IllegalSubscriberParam_sequence[] = {
6062   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6063   { NULL, 0, 0, 0, NULL }
6064 };
6065 
6066 static int
6067 dissect_gsm_map_er_IllegalSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6068   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6069                                    gsm_map_er_IllegalSubscriberParam_sequence, hf_index, ett_gsm_map_er_IllegalSubscriberParam);
6070 
6071   return offset;
6072 }
6073 
6074 
6075 static const ber_sequence_t gsm_map_er_IllegalEquipmentParam_sequence[] = {
6076   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6077   { NULL, 0, 0, 0, NULL }
6078 };
6079 
6080 static int
6081 dissect_gsm_map_er_IllegalEquipmentParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6082   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6083                                    gsm_map_er_IllegalEquipmentParam_sequence, hf_index, ett_gsm_map_er_IllegalEquipmentParam);
6084 
6085   return offset;
6086 }
6087 
6088 
6089 static const ber_sequence_t gsm_map_er_BearerServNotProvParam_sequence[] = {
6090   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6091   { NULL, 0, 0, 0, NULL }
6092 };
6093 
6094 static int
6095 dissect_gsm_map_er_BearerServNotProvParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6096   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6097                                    gsm_map_er_BearerServNotProvParam_sequence, hf_index, ett_gsm_map_er_BearerServNotProvParam);
6098 
6099   return offset;
6100 }
6101 
6102 
6103 static const ber_sequence_t gsm_map_er_TeleservNotProvParam_sequence[] = {
6104   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6105   { NULL, 0, 0, 0, NULL }
6106 };
6107 
6108 static int
6109 dissect_gsm_map_er_TeleservNotProvParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6110   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6111                                    gsm_map_er_TeleservNotProvParam_sequence, hf_index, ett_gsm_map_er_TeleservNotProvParam);
6112 
6113   return offset;
6114 }
6115 
6116 
6117 static const ber_sequence_t gsm_map_er_TracingBufferFullParam_sequence[] = {
6118   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6119   { NULL, 0, 0, 0, NULL }
6120 };
6121 
6122 static int
6123 dissect_gsm_map_er_TracingBufferFullParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6124   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6125                                    gsm_map_er_TracingBufferFullParam_sequence, hf_index, ett_gsm_map_er_TracingBufferFullParam);
6126 
6127   return offset;
6128 }
6129 
6130 
6131 static const ber_sequence_t gsm_map_er_NoRoamingNbParam_sequence[] = {
6132   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6133   { NULL, 0, 0, 0, NULL }
6134 };
6135 
6136 static int
6137 dissect_gsm_map_er_NoRoamingNbParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6138   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6139                                    gsm_map_er_NoRoamingNbParam_sequence, hf_index, ett_gsm_map_er_NoRoamingNbParam);
6140 
6141   return offset;
6142 }
6143 
6144 
6145 static const value_string gsm_map_er_AbsentSubscriberReason_vals[] = {
6146   {   0, "imsiDetach" },
6147   {   1, "restrictedArea" },
6148   {   2, "noPageResponse" },
6149   {   3, "purgedMS" },
6150   {   4, "mtRoamingRetry" },
6151   {   5, "busySubscriber" },
6152   { 0, NULL }
6153 };
6154 
6155 
6156 static int
6157 dissect_gsm_map_er_AbsentSubscriberReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6158   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6159                                   NULL);
6160 
6161   return offset;
6162 }
6163 
6164 
6165 static const ber_sequence_t gsm_map_er_AbsentSubscriberParam_sequence[] = {
6166   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6167   { &hf_gsm_map_er_absentSubscriberReason, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberReason },
6168   { NULL, 0, 0, 0, NULL }
6169 };
6170 
6171 static int
6172 dissect_gsm_map_er_AbsentSubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6173   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6174                                    gsm_map_er_AbsentSubscriberParam_sequence, hf_index, ett_gsm_map_er_AbsentSubscriberParam);
6175 
6176   return offset;
6177 }
6178 
6179 
6180 static const ber_sequence_t gsm_map_er_BusySubscriberParam_sequence[] = {
6181   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6182   { &hf_gsm_map_er_ccbs_Possible, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL },
6183   { &hf_gsm_map_er_ccbs_Busy, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_NULL },
6184   { NULL, 0, 0, 0, NULL }
6185 };
6186 
6187 static int
6188 dissect_gsm_map_er_BusySubscriberParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6189   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6190                                    gsm_map_er_BusySubscriberParam_sequence, hf_index, ett_gsm_map_er_BusySubscriberParam);
6191 
6192   return offset;
6193 }
6194 
6195 
6196 static const ber_sequence_t gsm_map_er_NoSubscriberReplyParam_sequence[] = {
6197   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6198   { NULL, 0, 0, 0, NULL }
6199 };
6200 
6201 static int
6202 dissect_gsm_map_er_NoSubscriberReplyParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6203   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6204                                    gsm_map_er_NoSubscriberReplyParam_sequence, hf_index, ett_gsm_map_er_NoSubscriberReplyParam);
6205 
6206   return offset;
6207 }
6208 
6209 
6210 static const ber_sequence_t gsm_map_er_ForwardingViolationParam_sequence[] = {
6211   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6212   { NULL, 0, 0, 0, NULL }
6213 };
6214 
6215 static int
6216 dissect_gsm_map_er_ForwardingViolationParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6217   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6218                                    gsm_map_er_ForwardingViolationParam_sequence, hf_index, ett_gsm_map_er_ForwardingViolationParam);
6219 
6220   return offset;
6221 }
6222 
6223 
6224 static const ber_sequence_t gsm_map_er_ForwardingFailedParam_sequence[] = {
6225   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6226   { NULL, 0, 0, 0, NULL }
6227 };
6228 
6229 static int
6230 dissect_gsm_map_er_ForwardingFailedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6231   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6232                                    gsm_map_er_ForwardingFailedParam_sequence, hf_index, ett_gsm_map_er_ForwardingFailedParam);
6233 
6234   return offset;
6235 }
6236 
6237 
6238 static const ber_sequence_t gsm_map_er_ATI_NotAllowedParam_sequence[] = {
6239   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6240   { NULL, 0, 0, 0, NULL }
6241 };
6242 
6243 static int
6244 dissect_gsm_map_er_ATI_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6245   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6246                                    gsm_map_er_ATI_NotAllowedParam_sequence, hf_index, ett_gsm_map_er_ATI_NotAllowedParam);
6247 
6248   return offset;
6249 }
6250 
6251 
6252 static const ber_sequence_t gsm_map_er_ATSI_NotAllowedParam_sequence[] = {
6253   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6254   { NULL, 0, 0, 0, NULL }
6255 };
6256 
6257 static int
6258 dissect_gsm_map_er_ATSI_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6259   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6260                                    gsm_map_er_ATSI_NotAllowedParam_sequence, hf_index, ett_gsm_map_er_ATSI_NotAllowedParam);
6261 
6262   return offset;
6263 }
6264 
6265 
6266 static const ber_sequence_t gsm_map_er_ATM_NotAllowedParam_sequence[] = {
6267   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6268   { NULL, 0, 0, 0, NULL }
6269 };
6270 
6271 static int
6272 dissect_gsm_map_er_ATM_NotAllowedParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6273   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6274                                    gsm_map_er_ATM_NotAllowedParam_sequence, hf_index, ett_gsm_map_er_ATM_NotAllowedParam);
6275 
6276   return offset;
6277 }
6278 
6279 
6280 static const ber_sequence_t gsm_map_er_IllegalSS_OperationParam_sequence[] = {
6281   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6282   { NULL, 0, 0, 0, NULL }
6283 };
6284 
6285 static int
6286 dissect_gsm_map_er_IllegalSS_OperationParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6287   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6288                                    gsm_map_er_IllegalSS_OperationParam_sequence, hf_index, ett_gsm_map_er_IllegalSS_OperationParam);
6289 
6290   return offset;
6291 }
6292 
6293 
6294 static const ber_sequence_t gsm_map_er_SS_NotAvailableParam_sequence[] = {
6295   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6296   { NULL, 0, 0, 0, NULL }
6297 };
6298 
6299 static int
6300 dissect_gsm_map_er_SS_NotAvailableParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6301   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6302                                    gsm_map_er_SS_NotAvailableParam_sequence, hf_index, ett_gsm_map_er_SS_NotAvailableParam);
6303 
6304   return offset;
6305 }
6306 
6307 
6308 static const ber_sequence_t gsm_map_er_SS_SubscriptionViolationParam_sequence[] = {
6309   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6310   { NULL, 0, 0, 0, NULL }
6311 };
6312 
6313 static int
6314 dissect_gsm_map_er_SS_SubscriptionViolationParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6315   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6316                                    gsm_map_er_SS_SubscriptionViolationParam_sequence, hf_index, ett_gsm_map_er_SS_SubscriptionViolationParam);
6317 
6318   return offset;
6319 }
6320 
6321 
6322 static const ber_sequence_t gsm_map_er_InformationNotAvailableParam_sequence[] = {
6323   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6324   { NULL, 0, 0, 0, NULL }
6325 };
6326 
6327 static int
6328 dissect_gsm_map_er_InformationNotAvailableParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6329   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6330                                    gsm_map_er_InformationNotAvailableParam_sequence, hf_index, ett_gsm_map_er_InformationNotAvailableParam);
6331 
6332   return offset;
6333 }
6334 
6335 
6336 static const ber_sequence_t gsm_map_er_SubBusyForMT_SMS_Param_sequence[] = {
6337   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6338   { &hf_gsm_map_er_gprsConnectionSuspended, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_NULL },
6339   { NULL, 0, 0, 0, NULL }
6340 };
6341 
6342 static int
6343 dissect_gsm_map_er_SubBusyForMT_SMS_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6344   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6345                                    gsm_map_er_SubBusyForMT_SMS_Param_sequence, hf_index, ett_gsm_map_er_SubBusyForMT_SMS_Param);
6346 
6347   return offset;
6348 }
6349 
6350 
6351 static const ber_sequence_t gsm_map_er_MessageWaitListFullParam_sequence[] = {
6352   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6353   { NULL, 0, 0, 0, NULL }
6354 };
6355 
6356 static int
6357 dissect_gsm_map_er_MessageWaitListFullParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6358   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6359                                    gsm_map_er_MessageWaitListFullParam_sequence, hf_index, ett_gsm_map_er_MessageWaitListFullParam);
6360 
6361   return offset;
6362 }
6363 
6364 
6365 static const ber_sequence_t gsm_map_er_ResourceLimitationParam_sequence[] = {
6366   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6367   { NULL, 0, 0, 0, NULL }
6368 };
6369 
6370 static int
6371 dissect_gsm_map_er_ResourceLimitationParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6372   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6373                                    gsm_map_er_ResourceLimitationParam_sequence, hf_index, ett_gsm_map_er_ResourceLimitationParam);
6374 
6375   return offset;
6376 }
6377 
6378 
6379 static const ber_sequence_t gsm_map_er_NoGroupCallNbParam_sequence[] = {
6380   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6381   { NULL, 0, 0, 0, NULL }
6382 };
6383 
6384 static int
6385 dissect_gsm_map_er_NoGroupCallNbParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6386   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6387                                    gsm_map_er_NoGroupCallNbParam_sequence, hf_index, ett_gsm_map_er_NoGroupCallNbParam);
6388 
6389   return offset;
6390 }
6391 
6392 
6393 static const ber_sequence_t gsm_map_er_IncompatibleTerminalParam_sequence[] = {
6394   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6395   { NULL, 0, 0, 0, NULL }
6396 };
6397 
6398 static int
6399 dissect_gsm_map_er_IncompatibleTerminalParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6400   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6401                                    gsm_map_er_IncompatibleTerminalParam_sequence, hf_index, ett_gsm_map_er_IncompatibleTerminalParam);
6402 
6403   return offset;
6404 }
6405 
6406 
6407 static const ber_sequence_t gsm_map_er_ShortTermDenialParam_sequence[] = {
6408   { NULL, 0, 0, 0, NULL }
6409 };
6410 
6411 static int
6412 dissect_gsm_map_er_ShortTermDenialParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6413   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6414                                    gsm_map_er_ShortTermDenialParam_sequence, hf_index, ett_gsm_map_er_ShortTermDenialParam);
6415 
6416   return offset;
6417 }
6418 
6419 
6420 static const ber_sequence_t gsm_map_er_LongTermDenialParam_sequence[] = {
6421   { NULL, 0, 0, 0, NULL }
6422 };
6423 
6424 static int
6425 dissect_gsm_map_er_LongTermDenialParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6426   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6427                                    gsm_map_er_LongTermDenialParam_sequence, hf_index, ett_gsm_map_er_LongTermDenialParam);
6428 
6429   return offset;
6430 }
6431 
6432 
6433 static const ber_sequence_t gsm_map_er_UnauthorizedRequestingNetwork_Param_sequence[] = {
6434   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6435   { NULL, 0, 0, 0, NULL }
6436 };
6437 
6438 static int
6439 dissect_gsm_map_er_UnauthorizedRequestingNetwork_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6440   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6441                                    gsm_map_er_UnauthorizedRequestingNetwork_Param_sequence, hf_index, ett_gsm_map_er_UnauthorizedRequestingNetwork_Param);
6442 
6443   return offset;
6444 }
6445 
6446 
6447 const value_string gsm_map_er_UnauthorizedLCSClient_Diagnostic_vals[] = {
6448   {   0, "noAdditionalInformation" },
6449   {   1, "clientNotInMSPrivacyExceptionList" },
6450   {   2, "callToClientNotSetup" },
6451   {   3, "privacyOverrideNotApplicable" },
6452   {   4, "disallowedByLocalRegulatoryRequirements" },
6453   {   5, "unauthorizedPrivacyClass" },
6454   {   6, "unauthorizedCallSessionUnrelatedExternalClient" },
6455   {   7, "unauthorizedCallSessionRelatedExternalClient" },
6456   { 0, NULL }
6457 };
6458 
6459 
6460 int
6461 dissect_gsm_map_er_UnauthorizedLCSClient_Diagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6462   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6463                                   NULL);
6464 
6465   return offset;
6466 }
6467 
6468 
6469 static const ber_sequence_t gsm_map_er_UnauthorizedLCSClient_Param_sequence[] = {
6470   { &hf_gsm_map_er_unauthorizedLCSClient_Diagnostic, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_UnauthorizedLCSClient_Diagnostic },
6471   { &hf_gsm_map_er_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
6472   { NULL, 0, 0, 0, NULL }
6473 };
6474 
6475 static int
6476 dissect_gsm_map_er_UnauthorizedLCSClient_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6477   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6478                                    gsm_map_er_UnauthorizedLCSClient_Param_sequence, hf_index, ett_gsm_map_er_UnauthorizedLCSClient_Param);
6479 
6480   return offset;
6481 }
6482 
6483 
6484 const value_string gsm_map_er_PositionMethodFailure_Diagnostic_vals[] = {
6485   {   0, "congestion" },
6486   {   1, "insufficientResources" },
6487   {   2, "insufficientMeasurementData" },
6488   {   3, "inconsistentMeasurementData" },
6489   {   4, "locationProcedureNotCompleted" },
6490   {   5, "locationProcedureNotSupportedByTargetMS" },
6491   {   6, "qoSNotAttainable" },
6492   {   7, "positionMethodNotAvailableInNetwork" },
6493   {   8, "positionMethodNotAvailableInLocationArea" },
6494   { 0, NULL }
6495 };
6496 
6497 
6498 int
6499 dissect_gsm_map_er_PositionMethodFailure_Diagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6500   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6501                                   NULL);
6502 
6503   return offset;
6504 }
6505 
6506 
6507 static const ber_sequence_t gsm_map_er_PositionMethodFailure_Param_sequence[] = {
6508   { &hf_gsm_map_er_positionMethodFailure_Diagnostic, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_PositionMethodFailure_Diagnostic },
6509   { &hf_gsm_map_er_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
6510   { NULL, 0, 0, 0, NULL }
6511 };
6512 
6513 static int
6514 dissect_gsm_map_er_PositionMethodFailure_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6515   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6516                                    gsm_map_er_PositionMethodFailure_Param_sequence, hf_index, ett_gsm_map_er_PositionMethodFailure_Param);
6517 
6518   return offset;
6519 }
6520 
6521 
6522 static const ber_sequence_t gsm_map_er_UnknownOrUnreachableLCSClient_Param_sequence[] = {
6523   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6524   { NULL, 0, 0, 0, NULL }
6525 };
6526 
6527 static int
6528 dissect_gsm_map_er_UnknownOrUnreachableLCSClient_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6529   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6530                                    gsm_map_er_UnknownOrUnreachableLCSClient_Param_sequence, hf_index, ett_gsm_map_er_UnknownOrUnreachableLCSClient_Param);
6531 
6532   return offset;
6533 }
6534 
6535 
6536 static const ber_sequence_t gsm_map_er_MM_EventNotSupported_Param_sequence[] = {
6537   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6538   { NULL, 0, 0, 0, NULL }
6539 };
6540 
6541 static int
6542 dissect_gsm_map_er_MM_EventNotSupported_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6543   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6544                                    gsm_map_er_MM_EventNotSupported_Param_sequence, hf_index, ett_gsm_map_er_MM_EventNotSupported_Param);
6545 
6546   return offset;
6547 }
6548 
6549 
6550 static const ber_sequence_t gsm_map_er_TargetCellOutsideGCA_Param_sequence[] = {
6551   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6552   { NULL, 0, 0, 0, NULL }
6553 };
6554 
6555 static int
6556 dissect_gsm_map_er_TargetCellOutsideGCA_Param(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6557   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6558                                    gsm_map_er_TargetCellOutsideGCA_Param_sequence, hf_index, ett_gsm_map_er_TargetCellOutsideGCA_Param);
6559 
6560   return offset;
6561 }
6562 
6563 
6564 static const ber_sequence_t gsm_map_er_OngoingGroupCallParam_sequence[] = {
6565   { &hf_gsm_map_er_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6566   { NULL, 0, 0, 0, NULL }
6567 };
6568 
6569 static int
6570 dissect_gsm_map_er_OngoingGroupCallParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6571   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6572                                    gsm_map_er_OngoingGroupCallParam_sequence, hf_index, ett_gsm_map_er_OngoingGroupCallParam);
6573 
6574   return offset;
6575 }
6576 
6577 
6578 /* --- Module MAP-SM-DataTypes --- --- ---                                    */
6579 
6580 
6581 
6582 static int
6583 dissect_gsm_map_sm_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6584   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
6585 
6586   return offset;
6587 }
6588 
6589 
6590 
6591 static int
6592 dissect_gsm_map_sm_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6593   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
6594 
6595   return offset;
6596 }
6597 
6598 
6599 
6600 static int
6601 dissect_gsm_map_sm_SM_RP_MTI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6602   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6603                                                 NULL);
6604 
6605   return offset;
6606 }
6607 
6608 
6609 
6610 static int
6611 dissect_gsm_map_sm_SM_RP_SMEA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6612 #line 1133 "./asn1/gsm_map/gsm_map.cnf"
6613   tvbuff_t *payload_tvb;
6614   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6615                                        &payload_tvb);
6616 
6617   if (payload_tvb) {
6618     guint32 tvb_offset = 0;
6619     proto_item_set_hidden(actx->created_item);
6620     dis_field_addr(payload_tvb, actx->pinfo, tree, &tvb_offset, "SM-RP-SMEA");
6621   }
6622 
6623 
6624 
6625 
6626   return offset;
6627 }
6628 
6629 
6630 static const value_string gsm_map_sm_SM_DeliveryNotIntended_vals[] = {
6631   {   0, "onlyIMSI-requested" },
6632   {   1, "onlyMCC-MNC-requested" },
6633   { 0, NULL }
6634 };
6635 
6636 
6637 static int
6638 dissect_gsm_map_sm_SM_DeliveryNotIntended(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6639   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6640                                   NULL);
6641 
6642   return offset;
6643 }
6644 
6645 
6646 
6647 static int
6648 dissect_gsm_map_sm_SIP_URI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6649   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6650                                        NULL);
6651 
6652   return offset;
6653 }
6654 
6655 
6656 static const ber_sequence_t gsm_map_sm_CorrelationID_sequence[] = {
6657   { &hf_gsm_map_sm_hlr_id   , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_HLR_Id },
6658   { &hf_gsm_map_sm_sip_uri_A, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SIP_URI },
6659   { &hf_gsm_map_sm_sip_uri_B, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SIP_URI },
6660   { NULL, 0, 0, 0, NULL }
6661 };
6662 
6663 static int
6664 dissect_gsm_map_sm_CorrelationID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6665   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6666                                    gsm_map_sm_CorrelationID_sequence, hf_index, ett_gsm_map_sm_CorrelationID);
6667 
6668   return offset;
6669 }
6670 
6671 
6672 static const ber_sequence_t gsm_map_sm_RoutingInfoForSM_Arg_sequence[] = {
6673   { &hf_gsm_map_sm_msisdn   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
6674   { &hf_gsm_map_sm_sm_RP_PRI, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_BOOLEAN },
6675   { &hf_gsm_map_sm_serviceCentreAddress, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
6676   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
6677   { &hf_gsm_map_sm_gprsSupportIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6678   { &hf_gsm_map_sm_sm_RP_MTI, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_RP_MTI },
6679   { &hf_gsm_map_sm_sm_RP_SMEA, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_RP_SMEA },
6680   { &hf_gsm_map_sm_sm_deliveryNotIntended, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_DeliveryNotIntended },
6681   { &hf_gsm_map_sm_ip_sm_gwGuidanceIndicator, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6682   { &hf_gsm_map_sm_imsi     , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
6683   { &hf_gsm_map_sm_t4_Trigger_Indicator, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6684   { &hf_gsm_map_sm_singleAttemptDelivery, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6685   { &hf_gsm_map_sm_correlationID, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_CorrelationID },
6686   { &hf_gsm_map_sm_smsf_supportIndicator, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6687   { NULL, 0, 0, 0, NULL }
6688 };
6689 
6690 static int
6691 dissect_gsm_map_sm_RoutingInfoForSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6692   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6693                                    gsm_map_sm_RoutingInfoForSM_Arg_sequence, hf_index, ett_gsm_map_sm_RoutingInfoForSM_Arg);
6694 
6695   return offset;
6696 }
6697 
6698 
6699 static const value_string gsm_map_sm_Additional_Number_vals[] = {
6700   {   0, "msc-Number" },
6701   {   1, "sgsn-Number" },
6702   { 0, NULL }
6703 };
6704 
6705 static const ber_choice_t gsm_map_sm_Additional_Number_choice[] = {
6706   {   0, &hf_gsm_map_sm_msc_Number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
6707   {   1, &hf_gsm_map_sm_sgsn_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
6708   { 0, NULL, 0, 0, 0, NULL }
6709 };
6710 
6711 static int
6712 dissect_gsm_map_sm_Additional_Number(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6713   offset = dissect_ber_choice(actx, tree, tvb, offset,
6714                                  gsm_map_sm_Additional_Number_choice, hf_index, ett_gsm_map_sm_Additional_Number,
6715                                  NULL);
6716 
6717   return offset;
6718 }
6719 
6720 
6721 static const ber_sequence_t gsm_map_sm_LocationInfoWithLMSI_sequence[] = {
6722   { &hf_gsm_map_sm_networkNode_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
6723   { &hf_gsm_map_sm_lmsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_LMSI },
6724   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6725   { &hf_gsm_map_sm_gprsNodeIndicator, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6726   { &hf_gsm_map_sm_additional_Number, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_Additional_Number },
6727   { &hf_gsm_map_sm_networkNodeDiameterAddress, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
6728   { &hf_gsm_map_sm_additionalNetworkNodeDiameterAddress, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
6729   { &hf_gsm_map_sm_thirdNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_Additional_Number },
6730   { &hf_gsm_map_sm_thirdNetworkNodeDiameterAddress, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
6731   { &hf_gsm_map_sm_imsNodeIndicator, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6732   { &hf_gsm_map_sm_smsf_3gpp_Number, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
6733   { &hf_gsm_map_sm_smsf_3gpp_DiameterAddress, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
6734   { &hf_gsm_map_sm_smsf_non_3gpp_Number, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
6735   { &hf_gsm_map_sm_smsf_non_3gpp_DiameterAddress, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
6736   { &hf_gsm_map_sm_smsf_3gpp_address_indicator, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6737   { &hf_gsm_map_sm_smsf_non_3gpp_address_indicator, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
6738   { NULL, 0, 0, 0, NULL }
6739 };
6740 
6741 static int
6742 dissect_gsm_map_sm_LocationInfoWithLMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6743   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6744                                    gsm_map_sm_LocationInfoWithLMSI_sequence, hf_index, ett_gsm_map_sm_LocationInfoWithLMSI);
6745 
6746   return offset;
6747 }
6748 
6749 
6750 
6751 static int
6752 dissect_gsm_map_sm_SM_DeliveryTimerValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6753   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6754                                                 NULL);
6755 
6756   return offset;
6757 }
6758 
6759 
6760 static const ber_sequence_t gsm_map_sm_IP_SM_GW_Guidance_sequence[] = {
6761   { &hf_gsm_map_sm_minimumDeliveryTimeValue, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_SM_DeliveryTimerValue },
6762   { &hf_gsm_map_sm_recommendedDeliveryTimeValue, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_SM_DeliveryTimerValue },
6763   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
6764   { NULL, 0, 0, 0, NULL }
6765 };
6766 
6767 static int
6768 dissect_gsm_map_sm_IP_SM_GW_Guidance(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6769   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6770                                    gsm_map_sm_IP_SM_GW_Guidance_sequence, hf_index, ett_gsm_map_sm_IP_SM_GW_Guidance);
6771 
6772   return offset;
6773 }
6774 
6775 
6776 static const ber_sequence_t gsm_map_sm_RoutingInfoForSM_Res_sequence[] = {
6777   { &hf_gsm_map_sm_imsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
6778   { &hf_gsm_map_sm_locationInfoWithLMSI, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_LocationInfoWithLMSI },
6779   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
6780   { &hf_gsm_map_sm_ip_sm_gwGuidance, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_IP_SM_GW_Guidance },
6781   { NULL, 0, 0, 0, NULL }
6782 };
6783 
6784 static int
6785 dissect_gsm_map_sm_RoutingInfoForSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6786   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6787                                    gsm_map_sm_RoutingInfoForSM_Res_sequence, hf_index, ett_gsm_map_sm_RoutingInfoForSM_Res);
6788 
6789   return offset;
6790 }
6791 
6792 
6793 
6794 static int
6795 dissect_gsm_map_sm_T_imsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6796 #line 398 "./asn1/gsm_map/gsm_map.cnf"
6797   actx->private_data = NULL;
6798   actx->pinfo->p2p_dir = P2P_DIR_SENT;
6799   offset = dissect_gsm_map_IMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
6800 
6801   if (actx->private_data) {
6802     gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
6803     gsm_map_pi->sm_rp_da_id = GSM_MAP_SM_RP_DA_IMSI;
6804     gsm_map_pi->sm_rp_da_str = (const gchar*)actx->private_data;
6805     actx->private_data = NULL;
6806   }
6807 
6808 
6809 
6810   return offset;
6811 }
6812 
6813 
6814 
6815 static int
6816 dissect_gsm_map_sm_T_lmsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6817 #line 409 "./asn1/gsm_map/gsm_map.cnf"
6818   actx->private_data = NULL;
6819   actx->pinfo->p2p_dir = P2P_DIR_SENT;
6820   offset = dissect_gsm_map_LMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
6821 
6822   if (actx->private_data) {
6823     gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
6824     gsm_map_pi->sm_rp_da_id = GSM_MAP_SM_RP_DA_LMSI;
6825     gsm_map_pi->sm_rp_da_str = (const gchar*)actx->private_data;
6826     actx->private_data = NULL;
6827   }
6828 
6829 
6830 
6831   return offset;
6832 }
6833 
6834 
6835 
6836 static int
6837 dissect_gsm_map_sm_T_serviceCentreAddressDA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6838 #line 452 "./asn1/gsm_map/gsm_map.cnf"
6839   actx->private_data = NULL;
6840   actx->pinfo->p2p_dir = P2P_DIR_RECV;
6841   offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
6842 
6843   if (actx->private_data) {
6844     gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
6845     gsm_map_pi->sm_rp_da_id = GSM_MAP_SM_RP_DA_SERVICE_CENTER_ADDRESS;
6846     gsm_map_pi->sm_rp_da_str = (const gchar*)actx->private_data;
6847     actx->private_data = NULL;
6848   }
6849 
6850 
6851 
6852   return offset;
6853 }
6854 
6855 
6856 
6857 static int
6858 dissect_gsm_map_sm_T_noSM_RP_DA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6859 #line 496 "./asn1/gsm_map/gsm_map.cnf"
6860   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
6861 
6862   if (!PINFO_FD_VISITED(actx->pinfo)) {
6863     gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, FALSE);
6864     gsm_map_packet_info_t *prev_packet_info = gsm_map_get_matching_tcap_info(actx);
6865     if (prev_packet_info) {
6866       gsm_map_pi->sm_rp_da_id = prev_packet_info->sm_rp_da_id;
6867       gsm_map_pi->sm_rp_da_str = wmem_strdup(wmem_file_scope(), prev_packet_info->sm_rp_da_str);
6868     }
6869   }
6870 
6871 
6872 
6873   return offset;
6874 }
6875 
6876 
6877 const value_string gsm_map_sm_SM_RP_DA_vals[] = {
6878   {   0, "imsi" },
6879   {   1, "lmsi" },
6880   {   4, "serviceCentreAddressDA" },
6881   {   5, "noSM-RP-DA" },
6882   { 0, NULL }
6883 };
6884 
6885 static const ber_choice_t gsm_map_sm_SM_RP_DA_choice[] = {
6886   {   0, &hf_gsm_map_sm_imsi_01  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_T_imsi },
6887   {   1, &hf_gsm_map_sm_lmsi_01  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_T_lmsi },
6888   {   4, &hf_gsm_map_sm_serviceCentreAddressDA, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_T_serviceCentreAddressDA },
6889   {   5, &hf_gsm_map_sm_noSM_RP_DA, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_T_noSM_RP_DA },
6890   { 0, NULL, 0, 0, 0, NULL }
6891 };
6892 
6893 int
6894 dissect_gsm_map_sm_SM_RP_DA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6895   offset = dissect_ber_choice(actx, tree, tvb, offset,
6896                                  gsm_map_sm_SM_RP_DA_choice, hf_index, ett_gsm_map_sm_SM_RP_DA,
6897                                  NULL);
6898 
6899   return offset;
6900 }
6901 
6902 
6903 
6904 static int
6905 dissect_gsm_map_sm_T_msisdn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6906 #line 431 "./asn1/gsm_map/gsm_map.cnf"
6907   actx->pinfo->p2p_dir = P2P_DIR_RECV;
6908   offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
6909 
6910   if (actx->private_data) {
6911     gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
6912     gsm_map_pi->sm_rp_oa_id = GSM_MAP_SM_RP_OA_MSISDN;
6913     gsm_map_pi->sm_rp_oa_str = (const gchar*)actx->private_data;
6914     actx->private_data = NULL;
6915   }
6916 
6917 
6918 
6919   return offset;
6920 }
6921 
6922 
6923 
6924 static int
6925 dissect_gsm_map_sm_T_serviceCentreAddressOA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6926 #line 365 "./asn1/gsm_map/gsm_map.cnf"
6927   actx->private_data = NULL;
6928   actx->pinfo->p2p_dir = P2P_DIR_SENT;
6929   offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
6930 
6931   if (actx->private_data) {
6932     gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
6933     gsm_map_pi->sm_rp_oa_id = GSM_MAP_SM_RP_OA_SERVICE_CENTER_ADDRESS;
6934     gsm_map_pi->sm_rp_oa_str = (const gchar*)actx->private_data;
6935     actx->private_data = NULL;
6936   }
6937 
6938 
6939 
6940   return offset;
6941 }
6942 
6943 
6944 
6945 static int
6946 dissect_gsm_map_sm_T_noSM_RP_OA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6947 #line 474 "./asn1/gsm_map/gsm_map.cnf"
6948   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
6949 
6950   if (!PINFO_FD_VISITED(actx->pinfo)) {
6951     gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, FALSE);
6952     gsm_map_packet_info_t *prev_packet_info = gsm_map_get_matching_tcap_info(actx);
6953     if (prev_packet_info) {
6954       gsm_map_pi->sm_rp_oa_id = prev_packet_info->sm_rp_oa_id;
6955       gsm_map_pi->sm_rp_oa_str = wmem_strdup(wmem_file_scope(), prev_packet_info->sm_rp_oa_str);
6956     }
6957   }
6958 
6959 
6960 
6961   return offset;
6962 }
6963 
6964 
6965 const value_string gsm_map_sm_SM_RP_OA_vals[] = {
6966   {   2, "msisdn" },
6967   {   4, "serviceCentreAddressOA" },
6968   {   5, "noSM-RP-OA" },
6969   { 0, NULL }
6970 };
6971 
6972 static const ber_choice_t gsm_map_sm_SM_RP_OA_choice[] = {
6973   {   2, &hf_gsm_map_sm_msisdn_01, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_T_msisdn },
6974   {   4, &hf_gsm_map_sm_serviceCentreAddressOA, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_T_serviceCentreAddressOA },
6975   {   5, &hf_gsm_map_sm_noSM_RP_OA, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_T_noSM_RP_OA },
6976   { 0, NULL, 0, 0, 0, NULL }
6977 };
6978 
6979 int
6980 dissect_gsm_map_sm_SM_RP_OA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6981   offset = dissect_ber_choice(actx, tree, tvb, offset,
6982                                  gsm_map_sm_SM_RP_OA_choice, hf_index, ett_gsm_map_sm_SM_RP_OA,
6983                                  NULL);
6984 
6985   return offset;
6986 }
6987 
6988 
6989 static const value_string gsm_map_sm_SM_DeliveryOutcome_vals[] = {
6990   {   0, "memoryCapacityExceeded" },
6991   {   1, "absentSubscriber" },
6992   {   2, "successfulTransfer" },
6993   { 0, NULL }
6994 };
6995 
6996 
6997 static int
6998 dissect_gsm_map_sm_SM_DeliveryOutcome(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6999   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7000                                   NULL);
7001 
7002   return offset;
7003 }
7004 
7005 
7006 static const ber_sequence_t gsm_map_sm_MO_ForwardSM_Arg_sequence[] = {
7007   { &hf_gsm_map_sm_sm_RP_DA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_DA },
7008   { &hf_gsm_map_sm_sm_RP_OA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_OA },
7009   { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
7010   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7011   { &hf_gsm_map_sm_imsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
7012   { &hf_gsm_map_sm_correlationID, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_CorrelationID },
7013   { &hf_gsm_map_sm_sm_DeliveryOutcome, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_DeliveryOutcome },
7014   { NULL, 0, 0, 0, NULL }
7015 };
7016 
7017 static int
7018 dissect_gsm_map_sm_MO_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7019 #line 545 "./asn1/gsm_map/gsm_map.cnf"
7020   /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
7021   gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
7022   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7023                                    gsm_map_sm_MO_ForwardSM_Arg_sequence, hf_index, ett_gsm_map_sm_MO_ForwardSM_Arg);
7024 
7025 
7026   if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
7027     return offset;
7028   if (actx->pinfo->p2p_dir == P2P_DIR_UNKNOWN) {
7029     actx->pinfo->p2p_dir = P2P_DIR_RECV;
7030   }
7031   call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
7032 
7033 
7034 
7035   return offset;
7036 }
7037 
7038 
7039 static const ber_sequence_t gsm_map_sm_MO_ForwardSM_Res_sequence[] = {
7040   { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
7041   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7042   { NULL, 0, 0, 0, NULL }
7043 };
7044 
7045 static int
7046 dissect_gsm_map_sm_MO_ForwardSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7047 #line 557 "./asn1/gsm_map/gsm_map.cnf"
7048   /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
7049   gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
7050   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7051                                    gsm_map_sm_MO_ForwardSM_Res_sequence, hf_index, ett_gsm_map_sm_MO_ForwardSM_Res);
7052 
7053 
7054   if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
7055     return offset;
7056   if (actx->pinfo->p2p_dir == P2P_DIR_UNKNOWN) {
7057     actx->pinfo->p2p_dir = P2P_DIR_SENT;
7058   }
7059   call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
7060 
7061 
7062 
7063   return offset;
7064 }
7065 
7066 
7067 static const ber_sequence_t gsm_map_sm_MT_ForwardSM_Arg_sequence[] = {
7068   { &hf_gsm_map_sm_sm_RP_DA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_DA },
7069   { &hf_gsm_map_sm_sm_RP_OA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_OA },
7070   { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
7071   { &hf_gsm_map_sm_moreMessagesToSend, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_NULL },
7072   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7073   { &hf_gsm_map_sm_smDeliveryTimer, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_SM_DeliveryTimerValue },
7074   { &hf_gsm_map_sm_smDeliveryStartTime, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_Time },
7075   { &hf_gsm_map_sm_smsOverIP_OnlyIndicator, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
7076   { &hf_gsm_map_sm_correlationID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_CorrelationID },
7077   { &hf_gsm_map_sm_maximumRetransmissionTime, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Time },
7078   { &hf_gsm_map_sm_smsGmscAddress, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
7079   { &hf_gsm_map_sm_smsGmscDiameterAddress, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
7080   { NULL, 0, 0, 0, NULL }
7081 };
7082 
7083 static int
7084 dissect_gsm_map_sm_MT_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7085 #line 569 "./asn1/gsm_map/gsm_map.cnf"
7086   /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
7087   gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
7088   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7089                                    gsm_map_sm_MT_ForwardSM_Arg_sequence, hf_index, ett_gsm_map_sm_MT_ForwardSM_Arg);
7090 
7091 
7092   if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
7093     return offset;
7094   if (actx->pinfo->p2p_dir == P2P_DIR_UNKNOWN) {
7095     actx->pinfo->p2p_dir = P2P_DIR_SENT;
7096   }
7097   call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
7098 
7099 
7100 
7101   return offset;
7102 }
7103 
7104 
7105 static const ber_sequence_t gsm_map_sm_MT_ForwardSM_Res_sequence[] = {
7106   { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
7107   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7108   { NULL, 0, 0, 0, NULL }
7109 };
7110 
7111 static int
7112 dissect_gsm_map_sm_MT_ForwardSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7113 #line 581 "./asn1/gsm_map/gsm_map.cnf"
7114   /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
7115   gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
7116   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7117                                    gsm_map_sm_MT_ForwardSM_Res_sequence, hf_index, ett_gsm_map_sm_MT_ForwardSM_Res);
7118 
7119 
7120   if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
7121     return offset;
7122   if (actx->pinfo->p2p_dir == P2P_DIR_UNKNOWN) {
7123     actx->pinfo->p2p_dir = P2P_DIR_RECV;
7124   }
7125   call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
7126 
7127 
7128 
7129   return offset;
7130 }
7131 
7132 
7133 static const ber_sequence_t gsm_map_sm_ReportSM_DeliveryStatusArg_sequence[] = {
7134   { &hf_gsm_map_sm_msisdn   , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
7135   { &hf_gsm_map_sm_serviceCentreAddress, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AddressString },
7136   { &hf_gsm_map_sm_sm_DeliveryOutcome, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_SM_DeliveryOutcome },
7137   { &hf_gsm_map_sm_absentSubscriberDiagnosticSM, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
7138   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
7139   { &hf_gsm_map_sm_gprsSupportIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
7140   { &hf_gsm_map_sm_deliveryOutcomeIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
7141   { &hf_gsm_map_sm_additionalSM_DeliveryOutcome, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_DeliveryOutcome },
7142   { &hf_gsm_map_sm_additionalAbsentSubscriberDiagnosticSM, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
7143   { &hf_gsm_map_sm_ip_sm_gw_Indicator, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
7144   { &hf_gsm_map_sm_ip_sm_gw_sm_deliveryOutcome, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_DeliveryOutcome },
7145   { &hf_gsm_map_sm_ip_sm_gw_absentSubscriberDiagnosticSM, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
7146   { &hf_gsm_map_sm_imsi     , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7147   { &hf_gsm_map_sm_singleAttemptDelivery, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
7148   { &hf_gsm_map_sm_correlationID, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_CorrelationID },
7149   { &hf_gsm_map_sm_smsf_3gpp_deliveryOutcomeIndicator, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
7150   { &hf_gsm_map_sm_smsf_3gpp_deliveryOutcome, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_DeliveryOutcome },
7151   { &hf_gsm_map_sm_smsf_3gpp_absentSubscriberDiagSM, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
7152   { &hf_gsm_map_sm_smsf_non_3gpp_deliveryOutcomeIndicator, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
7153   { &hf_gsm_map_sm_smsf_non_3gpp_deliveryOutcome, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SM_DeliveryOutcome },
7154   { &hf_gsm_map_sm_smsf_non_3gpp_absentSubscriberDiagSM, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
7155   { NULL, 0, 0, 0, NULL }
7156 };
7157 
7158 static int
7159 dissect_gsm_map_sm_ReportSM_DeliveryStatusArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7160   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7161                                    gsm_map_sm_ReportSM_DeliveryStatusArg_sequence, hf_index, ett_gsm_map_sm_ReportSM_DeliveryStatusArg);
7162 
7163   return offset;
7164 }
7165 
7166 
7167 static const ber_sequence_t gsm_map_sm_ReportSM_DeliveryStatusRes_sequence[] = {
7168   { &hf_gsm_map_sm_storedMSISDN, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
7169   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7170   { NULL, 0, 0, 0, NULL }
7171 };
7172 
7173 static int
7174 dissect_gsm_map_sm_ReportSM_DeliveryStatusRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7175   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7176                                    gsm_map_sm_ReportSM_DeliveryStatusRes_sequence, hf_index, ett_gsm_map_sm_ReportSM_DeliveryStatusRes);
7177 
7178   return offset;
7179 }
7180 
7181 
7182 static const value_string gsm_map_sm_SmsGmsc_Alert_Event_vals[] = {
7183   {   0, "msAvailableForMtSms" },
7184   {   1, "msUnderNewServingNode" },
7185   { 0, NULL }
7186 };
7187 
7188 
7189 static int
7190 dissect_gsm_map_sm_SmsGmsc_Alert_Event(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7191   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7192                                   NULL);
7193 
7194   return offset;
7195 }
7196 
7197 
7198 static const ber_sequence_t gsm_map_sm_AlertServiceCentreArg_sequence[] = {
7199   { &hf_gsm_map_sm_msisdn   , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
7200   { &hf_gsm_map_sm_serviceCentreAddress, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AddressString },
7201   { &hf_gsm_map_sm_imsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
7202   { &hf_gsm_map_sm_correlationID, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_CorrelationID },
7203   { &hf_gsm_map_sm_maximumUeAvailabilityTime, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Time },
7204   { &hf_gsm_map_sm_smsGmscAlertEvent, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_SmsGmsc_Alert_Event },
7205   { &hf_gsm_map_sm_smsGmscDiameterAddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
7206   { &hf_gsm_map_sm_newSGSNNumber, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
7207   { &hf_gsm_map_sm_newSGSNDiameterAddress, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
7208   { &hf_gsm_map_sm_newMMENumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
7209   { &hf_gsm_map_sm_newMMEDiameterAddress, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
7210   { &hf_gsm_map_sm_newMSCNumber, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
7211   { NULL, 0, 0, 0, NULL }
7212 };
7213 
7214 static int
7215 dissect_gsm_map_sm_AlertServiceCentreArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7216   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7217                                    gsm_map_sm_AlertServiceCentreArg_sequence, hf_index, ett_gsm_map_sm_AlertServiceCentreArg);
7218 
7219   return offset;
7220 }
7221 
7222 
7223 static int * const gsm_map_sm_MW_Status_bits[] = {
7224   &hf_gsm_map_sm_MW_Status_sc_AddressNotIncluded,
7225   &hf_gsm_map_sm_MW_Status_mnrf_Set,
7226   &hf_gsm_map_sm_MW_Status_mcef_Set,
7227   &hf_gsm_map_sm_MW_Status_mnrg_Set,
7228   &hf_gsm_map_sm_MW_Status_mnr5g_Set,
7229   &hf_gsm_map_sm_MW_Status_mnr5gn3g_Set,
7230   NULL
7231 };
7232 
7233 static int
7234 dissect_gsm_map_sm_MW_Status(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7235   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7236                                     gsm_map_sm_MW_Status_bits, 6, hf_index, ett_gsm_map_sm_MW_Status,
7237                                     NULL);
7238 
7239   return offset;
7240 }
7241 
7242 
7243 static const ber_sequence_t gsm_map_sm_InformServiceCentreArg_sequence[] = {
7244   { &hf_gsm_map_sm_storedMSISDN, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
7245   { &hf_gsm_map_sm_mw_Status, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_MW_Status },
7246   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7247   { &hf_gsm_map_sm_absentSubscriberDiagnosticSM, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
7248   { &hf_gsm_map_sm_additionalAbsentSubscriberDiagnosticSM, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
7249   { &hf_gsm_map_sm_smsf3gppAbsentSubscriberDiagnosticSM, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
7250   { &hf_gsm_map_sm_smsfNon3gppAbsentSubscriberDiagnosticSM, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
7251   { NULL, 0, 0, 0, NULL }
7252 };
7253 
7254 static int
7255 dissect_gsm_map_sm_InformServiceCentreArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7256   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7257                                    gsm_map_sm_InformServiceCentreArg_sequence, hf_index, ett_gsm_map_sm_InformServiceCentreArg);
7258 
7259   return offset;
7260 }
7261 
7262 
7263 static const value_string gsm_map_sm_AlertReason_vals[] = {
7264   {   0, "ms-Present" },
7265   {   1, "memoryAvailable" },
7266   { 0, NULL }
7267 };
7268 
7269 
7270 static int
7271 dissect_gsm_map_sm_AlertReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7272   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7273                                   NULL);
7274 
7275   return offset;
7276 }
7277 
7278 
7279 static const ber_sequence_t gsm_map_sm_ReadyForSM_Arg_sequence[] = {
7280   { &hf_gsm_map_sm_imsi     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7281   { &hf_gsm_map_sm_alertReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_AlertReason },
7282   { &hf_gsm_map_sm_alertReasonIndicator, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_NULL },
7283   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7284   { &hf_gsm_map_sm_additionalAlertReasonIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_NULL },
7285   { &hf_gsm_map_sm_maximumUeAvailabilityTime, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_Time },
7286   { NULL, 0, 0, 0, NULL }
7287 };
7288 
7289 static int
7290 dissect_gsm_map_sm_ReadyForSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7291   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7292                                    gsm_map_sm_ReadyForSM_Arg_sequence, hf_index, ett_gsm_map_sm_ReadyForSM_Arg);
7293 
7294   return offset;
7295 }
7296 
7297 
7298 static const ber_sequence_t gsm_map_sm_ReadyForSM_Res_sequence[] = {
7299   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7300   { NULL, 0, 0, 0, NULL }
7301 };
7302 
7303 static int
7304 dissect_gsm_map_sm_ReadyForSM_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7305   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7306                                    gsm_map_sm_ReadyForSM_Res_sequence, hf_index, ett_gsm_map_sm_ReadyForSM_Res);
7307 
7308   return offset;
7309 }
7310 
7311 
7312 static const ber_sequence_t gsm_map_sm_MT_ForwardSM_VGCS_Arg_sequence[] = {
7313   { &hf_gsm_map_sm_asciCallReference, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ASCI_CallReference },
7314   { &hf_gsm_map_sm_sm_RP_OA , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_sm_SM_RP_OA },
7315   { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
7316   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
7317   { NULL, 0, 0, 0, NULL }
7318 };
7319 
7320 static int
7321 dissect_gsm_map_sm_MT_ForwardSM_VGCS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7322 #line 593 "./asn1/gsm_map/gsm_map.cnf"
7323   /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
7324   gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
7325   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7326                                    gsm_map_sm_MT_ForwardSM_VGCS_Arg_sequence, hf_index, ett_gsm_map_sm_MT_ForwardSM_VGCS_Arg);
7327 
7328 
7329   if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
7330     return offset;
7331   if (actx->pinfo->p2p_dir == P2P_DIR_UNKNOWN) {
7332     actx->pinfo->p2p_dir = P2P_DIR_SENT;
7333   }
7334   call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
7335 
7336 
7337 
7338   return offset;
7339 }
7340 
7341 
7342 static const ber_sequence_t gsm_map_sm_DispatcherList_sequence_of[1] = {
7343   { &hf_gsm_map_sm_DispatcherList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
7344 };
7345 
7346 static int
7347 dissect_gsm_map_sm_DispatcherList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7348   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7349                                       gsm_map_sm_DispatcherList_sequence_of, hf_index, ett_gsm_map_sm_DispatcherList);
7350 
7351   return offset;
7352 }
7353 
7354 
7355 static const ber_sequence_t gsm_map_sm_AdditionalDispatcherList_sequence_of[1] = {
7356   { &hf_gsm_map_sm_AdditionalDispatcherList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
7357 };
7358 
7359 static int
7360 dissect_gsm_map_sm_AdditionalDispatcherList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7361   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7362                                       gsm_map_sm_AdditionalDispatcherList_sequence_of, hf_index, ett_gsm_map_sm_AdditionalDispatcherList);
7363 
7364   return offset;
7365 }
7366 
7367 
7368 static const ber_sequence_t gsm_map_sm_MT_ForwardSM_VGCS_Res_sequence[] = {
7369   { &hf_gsm_map_sm_sm_RP_UI , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SignalInfo },
7370   { &hf_gsm_map_sm_dispatcherList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_DispatcherList },
7371   { &hf_gsm_map_sm_ongoingCall, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_sm_NULL },
7372   { &hf_gsm_map_sm_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
7373   { &hf_gsm_map_sm_additionalDispatcherList, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_AdditionalDispatcherList },
7374   { NULL, 0, 0, 0, NULL }
7375 };
7376 
7377 static int
7378 dissect_gsm_map_sm_MT_ForwardSM_VGCS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7379 #line 605 "./asn1/gsm_map/gsm_map.cnf"
7380   /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
7381   gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
7382   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7383                                    gsm_map_sm_MT_ForwardSM_VGCS_Res_sequence, hf_index, ett_gsm_map_sm_MT_ForwardSM_VGCS_Res);
7384 
7385 
7386   if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
7387     return offset;
7388   if (actx->pinfo->p2p_dir == P2P_DIR_UNKNOWN) {
7389     actx->pinfo->p2p_dir = P2P_DIR_RECV;
7390   }
7391   call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
7392 
7393 
7394 
7395   return offset;
7396 }
7397 
7398 
7399 /* --- Module MAP-OM-DataTypes --- --- ---                                    */
7400 
7401 
7402 
7403 static int
7404 dissect_gsm_map_om_TraceReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7405   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7406                                        NULL);
7407 
7408   return offset;
7409 }
7410 
7411 
7412 
7413 static int
7414 dissect_gsm_map_om_TraceType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7415   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7416                                                 NULL);
7417 
7418   return offset;
7419 }
7420 
7421 
7422 
7423 static int
7424 dissect_gsm_map_om_TraceReference2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7425   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7426                                        NULL);
7427 
7428   return offset;
7429 }
7430 
7431 
7432 static const value_string gsm_map_om_TraceDepth_vals[] = {
7433   {   0, "minimum" },
7434   {   1, "medium" },
7435   {   2, "maximum" },
7436   { 0, NULL }
7437 };
7438 
7439 
7440 static int
7441 dissect_gsm_map_om_TraceDepth(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7442   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7443                                   NULL);
7444 
7445   return offset;
7446 }
7447 
7448 
7449 static const value_string gsm_map_om_TraceDepthExtension_vals[] = {
7450   {   0, "minimumWithoutVendorSpecificExtension" },
7451   {   1, "mediumWithoutVendorSpecificExtension" },
7452   {   2, "maximumWithoutVendorSpecificExtension" },
7453   { 0, NULL }
7454 };
7455 
7456 
7457 static int
7458 dissect_gsm_map_om_TraceDepthExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7459   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7460                                   NULL);
7461 
7462   return offset;
7463 }
7464 
7465 
7466 static const ber_sequence_t gsm_map_om_TraceDepthList_sequence[] = {
7467   { &hf_gsm_map_om_msc_s_TraceDepth, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
7468   { &hf_gsm_map_om_mgw_TraceDepth, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
7469   { &hf_gsm_map_om_sgsn_TraceDepth, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
7470   { &hf_gsm_map_om_ggsn_TraceDepth, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
7471   { &hf_gsm_map_om_rnc_TraceDepth, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
7472   { &hf_gsm_map_om_bmsc_TraceDepth, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
7473   { &hf_gsm_map_om_mme_TraceDepth, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
7474   { &hf_gsm_map_om_sgw_TraceDepth, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
7475   { &hf_gsm_map_om_pgw_TraceDepth, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
7476   { &hf_gsm_map_om_eNB_TraceDepth, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
7477   { &hf_gsm_map_om_msc_s_TraceDepthExtension, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
7478   { &hf_gsm_map_om_mgw_TraceDepthExtension, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
7479   { &hf_gsm_map_om_sgsn_TraceDepthExtension, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
7480   { &hf_gsm_map_om_ggsn_TraceDepthExtension, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
7481   { &hf_gsm_map_om_rnc_TraceDepthExtension, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
7482   { &hf_gsm_map_om_bmsc_TraceDepthExtension, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
7483   { &hf_gsm_map_om_mme_TraceDepthExtension, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
7484   { &hf_gsm_map_om_sgw_TraceDepthExtension, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
7485   { &hf_gsm_map_om_pgw_TraceDepthExtension, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
7486   { &hf_gsm_map_om_eNB_TraceDepthExtension, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
7487   { NULL, 0, 0, 0, NULL }
7488 };
7489 
7490 static int
7491 dissect_gsm_map_om_TraceDepthList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7492   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7493                                    gsm_map_om_TraceDepthList_sequence, hf_index, ett_gsm_map_om_TraceDepthList);
7494 
7495   return offset;
7496 }
7497 
7498 
7499 static int * const gsm_map_om_TraceNE_TypeList_bits[] = {
7500   &hf_gsm_map_om_TraceNE_TypeList_msc_s,
7501   &hf_gsm_map_om_TraceNE_TypeList_mgw,
7502   &hf_gsm_map_om_TraceNE_TypeList_sgsn,
7503   &hf_gsm_map_om_TraceNE_TypeList_ggsn,
7504   &hf_gsm_map_om_TraceNE_TypeList_rnc,
7505   &hf_gsm_map_om_TraceNE_TypeList_bm_sc,
7506   &hf_gsm_map_om_TraceNE_TypeList_mme,
7507   &hf_gsm_map_om_TraceNE_TypeList_sgw,
7508   &hf_gsm_map_om_TraceNE_TypeList_pgw,
7509   &hf_gsm_map_om_TraceNE_TypeList_eNB,
7510   NULL
7511 };
7512 
7513 static int
7514 dissect_gsm_map_om_TraceNE_TypeList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7515   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7516                                     gsm_map_om_TraceNE_TypeList_bits, 10, hf_index, ett_gsm_map_om_TraceNE_TypeList,
7517                                     NULL);
7518 
7519   return offset;
7520 }
7521 
7522 
7523 static int * const gsm_map_om_MSC_S_InterfaceList_bits[] = {
7524   &hf_gsm_map_om_MSC_S_InterfaceList_a,
7525   &hf_gsm_map_om_MSC_S_InterfaceList_iu,
7526   &hf_gsm_map_om_MSC_S_InterfaceList_mc,
7527   &hf_gsm_map_om_MSC_S_InterfaceList_map_g,
7528   &hf_gsm_map_om_MSC_S_InterfaceList_map_b,
7529   &hf_gsm_map_om_MSC_S_InterfaceList_map_e,
7530   &hf_gsm_map_om_MSC_S_InterfaceList_map_f,
7531   &hf_gsm_map_om_MSC_S_InterfaceList_cap,
7532   &hf_gsm_map_om_MSC_S_InterfaceList_map_d,
7533   &hf_gsm_map_om_MSC_S_InterfaceList_map_c,
7534   NULL
7535 };
7536 
7537 static int
7538 dissect_gsm_map_om_MSC_S_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7539   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7540                                     gsm_map_om_MSC_S_InterfaceList_bits, 10, hf_index, ett_gsm_map_om_MSC_S_InterfaceList,
7541                                     NULL);
7542 
7543   return offset;
7544 }
7545 
7546 
7547 static int * const gsm_map_om_MGW_InterfaceList_bits[] = {
7548   &hf_gsm_map_om_MGW_InterfaceList_mc,
7549   &hf_gsm_map_om_MGW_InterfaceList_nb_up,
7550   &hf_gsm_map_om_MGW_InterfaceList_iu_up,
7551   NULL
7552 };
7553 
7554 static int
7555 dissect_gsm_map_om_MGW_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7556   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7557                                     gsm_map_om_MGW_InterfaceList_bits, 3, hf_index, ett_gsm_map_om_MGW_InterfaceList,
7558                                     NULL);
7559 
7560   return offset;
7561 }
7562 
7563 
7564 static int * const gsm_map_om_SGSN_InterfaceList_bits[] = {
7565   &hf_gsm_map_om_SGSN_InterfaceList_gb,
7566   &hf_gsm_map_om_SGSN_InterfaceList_iu,
7567   &hf_gsm_map_om_SGSN_InterfaceList_gn,
7568   &hf_gsm_map_om_SGSN_InterfaceList_map_gr,
7569   &hf_gsm_map_om_SGSN_InterfaceList_map_gd,
7570   &hf_gsm_map_om_SGSN_InterfaceList_map_gf,
7571   &hf_gsm_map_om_SGSN_InterfaceList_gs,
7572   &hf_gsm_map_om_SGSN_InterfaceList_ge,
7573   &hf_gsm_map_om_SGSN_InterfaceList_s3,
7574   &hf_gsm_map_om_SGSN_InterfaceList_s4,
7575   &hf_gsm_map_om_SGSN_InterfaceList_s6d,
7576   NULL
7577 };
7578 
7579 static int
7580 dissect_gsm_map_om_SGSN_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7581   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7582                                     gsm_map_om_SGSN_InterfaceList_bits, 11, hf_index, ett_gsm_map_om_SGSN_InterfaceList,
7583                                     NULL);
7584 
7585   return offset;
7586 }
7587 
7588 
7589 static int * const gsm_map_om_GGSN_InterfaceList_bits[] = {
7590   &hf_gsm_map_om_GGSN_InterfaceList_gn,
7591   &hf_gsm_map_om_GGSN_InterfaceList_gi,
7592   &hf_gsm_map_om_GGSN_InterfaceList_gmb,
7593   NULL
7594 };
7595 
7596 static int
7597 dissect_gsm_map_om_GGSN_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7598   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7599                                     gsm_map_om_GGSN_InterfaceList_bits, 3, hf_index, ett_gsm_map_om_GGSN_InterfaceList,
7600                                     NULL);
7601 
7602   return offset;
7603 }
7604 
7605 
7606 static int * const gsm_map_om_RNC_InterfaceList_bits[] = {
7607   &hf_gsm_map_om_RNC_InterfaceList_iu,
7608   &hf_gsm_map_om_RNC_InterfaceList_iur,
7609   &hf_gsm_map_om_RNC_InterfaceList_iub,
7610   &hf_gsm_map_om_RNC_InterfaceList_uu,
7611   NULL
7612 };
7613 
7614 static int
7615 dissect_gsm_map_om_RNC_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7616   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7617                                     gsm_map_om_RNC_InterfaceList_bits, 4, hf_index, ett_gsm_map_om_RNC_InterfaceList,
7618                                     NULL);
7619 
7620   return offset;
7621 }
7622 
7623 
7624 static int * const gsm_map_om_BMSC_InterfaceList_bits[] = {
7625   &hf_gsm_map_om_BMSC_InterfaceList_gmb,
7626   NULL
7627 };
7628 
7629 static int
7630 dissect_gsm_map_om_BMSC_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7631   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7632                                     gsm_map_om_BMSC_InterfaceList_bits, 1, hf_index, ett_gsm_map_om_BMSC_InterfaceList,
7633                                     NULL);
7634 
7635   return offset;
7636 }
7637 
7638 
7639 static int * const gsm_map_om_MME_InterfaceList_bits[] = {
7640   &hf_gsm_map_om_MME_InterfaceList_s1_mme,
7641   &hf_gsm_map_om_MME_InterfaceList_s3,
7642   &hf_gsm_map_om_MME_InterfaceList_s6a,
7643   &hf_gsm_map_om_MME_InterfaceList_s10,
7644   &hf_gsm_map_om_MME_InterfaceList_s11,
7645   NULL
7646 };
7647 
7648 static int
7649 dissect_gsm_map_om_MME_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7650   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7651                                     gsm_map_om_MME_InterfaceList_bits, 5, hf_index, ett_gsm_map_om_MME_InterfaceList,
7652                                     NULL);
7653 
7654   return offset;
7655 }
7656 
7657 
7658 static int * const gsm_map_om_SGW_InterfaceList_bits[] = {
7659   &hf_gsm_map_om_SGW_InterfaceList_s4,
7660   &hf_gsm_map_om_SGW_InterfaceList_s5,
7661   &hf_gsm_map_om_SGW_InterfaceList_s8b,
7662   &hf_gsm_map_om_SGW_InterfaceList_s11,
7663   &hf_gsm_map_om_SGW_InterfaceList_gxc,
7664   NULL
7665 };
7666 
7667 static int
7668 dissect_gsm_map_om_SGW_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7669   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7670                                     gsm_map_om_SGW_InterfaceList_bits, 5, hf_index, ett_gsm_map_om_SGW_InterfaceList,
7671                                     NULL);
7672 
7673   return offset;
7674 }
7675 
7676 
7677 static int * const gsm_map_om_PGW_InterfaceList_bits[] = {
7678   &hf_gsm_map_om_PGW_InterfaceList_s2a,
7679   &hf_gsm_map_om_PGW_InterfaceList_s2b,
7680   &hf_gsm_map_om_PGW_InterfaceList_s2c,
7681   &hf_gsm_map_om_PGW_InterfaceList_s5,
7682   &hf_gsm_map_om_PGW_InterfaceList_s6b,
7683   &hf_gsm_map_om_PGW_InterfaceList_gx,
7684   &hf_gsm_map_om_PGW_InterfaceList_s8b,
7685   &hf_gsm_map_om_PGW_InterfaceList_sgi,
7686   NULL
7687 };
7688 
7689 static int
7690 dissect_gsm_map_om_PGW_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7691   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7692                                     gsm_map_om_PGW_InterfaceList_bits, 8, hf_index, ett_gsm_map_om_PGW_InterfaceList,
7693                                     NULL);
7694 
7695   return offset;
7696 }
7697 
7698 
7699 static int * const gsm_map_om_ENB_InterfaceList_bits[] = {
7700   &hf_gsm_map_om_ENB_InterfaceList_s1_mme,
7701   &hf_gsm_map_om_ENB_InterfaceList_x2,
7702   &hf_gsm_map_om_ENB_InterfaceList_uu,
7703   NULL
7704 };
7705 
7706 static int
7707 dissect_gsm_map_om_ENB_InterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7708   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7709                                     gsm_map_om_ENB_InterfaceList_bits, 3, hf_index, ett_gsm_map_om_ENB_InterfaceList,
7710                                     NULL);
7711 
7712   return offset;
7713 }
7714 
7715 
7716 static const ber_sequence_t gsm_map_om_TraceInterfaceList_sequence[] = {
7717   { &hf_gsm_map_om_msc_s_List, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MSC_S_InterfaceList },
7718   { &hf_gsm_map_om_mgw_List , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MGW_InterfaceList },
7719   { &hf_gsm_map_om_sgsn_List, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_SGSN_InterfaceList },
7720   { &hf_gsm_map_om_ggsn_List, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_GGSN_InterfaceList },
7721   { &hf_gsm_map_om_rnc_List , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_RNC_InterfaceList },
7722   { &hf_gsm_map_om_bmsc_List, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_BMSC_InterfaceList },
7723   { &hf_gsm_map_om_mme_List , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MME_InterfaceList },
7724   { &hf_gsm_map_om_sgw_List , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_SGW_InterfaceList },
7725   { &hf_gsm_map_om_pgw_List , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_PGW_InterfaceList },
7726   { &hf_gsm_map_om_eNB_List , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_ENB_InterfaceList },
7727   { NULL, 0, 0, 0, NULL }
7728 };
7729 
7730 static int
7731 dissect_gsm_map_om_TraceInterfaceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7732   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7733                                    gsm_map_om_TraceInterfaceList_sequence, hf_index, ett_gsm_map_om_TraceInterfaceList);
7734 
7735   return offset;
7736 }
7737 
7738 
7739 static int * const gsm_map_om_MSC_S_EventList_bits[] = {
7740   &hf_gsm_map_om_MSC_S_EventList_mo_mtCall,
7741   &hf_gsm_map_om_MSC_S_EventList_mo_mt_sms,
7742   &hf_gsm_map_om_MSC_S_EventList_lu_imsiAttach_imsiDetach,
7743   &hf_gsm_map_om_MSC_S_EventList_handovers,
7744   &hf_gsm_map_om_MSC_S_EventList_ss,
7745   NULL
7746 };
7747 
7748 static int
7749 dissect_gsm_map_om_MSC_S_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7750   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7751                                     gsm_map_om_MSC_S_EventList_bits, 5, hf_index, ett_gsm_map_om_MSC_S_EventList,
7752                                     NULL);
7753 
7754   return offset;
7755 }
7756 
7757 
7758 static int * const gsm_map_om_MGW_EventList_bits[] = {
7759   &hf_gsm_map_om_MGW_EventList_context,
7760   NULL
7761 };
7762 
7763 static int
7764 dissect_gsm_map_om_MGW_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7765   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7766                                     gsm_map_om_MGW_EventList_bits, 1, hf_index, ett_gsm_map_om_MGW_EventList,
7767                                     NULL);
7768 
7769   return offset;
7770 }
7771 
7772 
7773 static int * const gsm_map_om_SGSN_EventList_bits[] = {
7774   &hf_gsm_map_om_SGSN_EventList_pdpContext,
7775   &hf_gsm_map_om_SGSN_EventList_mo_mt_sms,
7776   &hf_gsm_map_om_SGSN_EventList_rau_gprsAttach_gprsDetach,
7777   &hf_gsm_map_om_SGSN_EventList_mbmsContext,
7778   NULL
7779 };
7780 
7781 static int
7782 dissect_gsm_map_om_SGSN_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7783   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7784                                     gsm_map_om_SGSN_EventList_bits, 4, hf_index, ett_gsm_map_om_SGSN_EventList,
7785                                     NULL);
7786 
7787   return offset;
7788 }
7789 
7790 
7791 static int * const gsm_map_om_GGSN_EventList_bits[] = {
7792   &hf_gsm_map_om_GGSN_EventList_pdpContext,
7793   &hf_gsm_map_om_GGSN_EventList_mbmsContext,
7794   NULL
7795 };
7796 
7797 static int
7798 dissect_gsm_map_om_GGSN_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7799   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7800                                     gsm_map_om_GGSN_EventList_bits, 2, hf_index, ett_gsm_map_om_GGSN_EventList,
7801                                     NULL);
7802 
7803   return offset;
7804 }
7805 
7806 
7807 static int * const gsm_map_om_BMSC_EventList_bits[] = {
7808   &hf_gsm_map_om_BMSC_EventList_mbmsMulticastServiceActivation,
7809   NULL
7810 };
7811 
7812 static int
7813 dissect_gsm_map_om_BMSC_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7814   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7815                                     gsm_map_om_BMSC_EventList_bits, 1, hf_index, ett_gsm_map_om_BMSC_EventList,
7816                                     NULL);
7817 
7818   return offset;
7819 }
7820 
7821 
7822 static int * const gsm_map_om_MME_EventList_bits[] = {
7823   &hf_gsm_map_om_MME_EventList_ue_initiatedPDNconectivityRequest,
7824   &hf_gsm_map_om_MME_EventList_serviceRequestts,
7825   &hf_gsm_map_om_MME_EventList_initialAttachTrackingAreaUpdateDetach,
7826   &hf_gsm_map_om_MME_EventList_ue_initiatedPDNdisconnection,
7827   &hf_gsm_map_om_MME_EventList_bearerActivationModificationDeletion,
7828   &hf_gsm_map_om_MME_EventList_handover,
7829   NULL
7830 };
7831 
7832 static int
7833 dissect_gsm_map_om_MME_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7834   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7835                                     gsm_map_om_MME_EventList_bits, 6, hf_index, ett_gsm_map_om_MME_EventList,
7836                                     NULL);
7837 
7838   return offset;
7839 }
7840 
7841 
7842 static int * const gsm_map_om_SGW_EventList_bits[] = {
7843   &hf_gsm_map_om_SGW_EventList_pdn_connectionCreation,
7844   &hf_gsm_map_om_SGW_EventList_pdn_connectionTermination,
7845   &hf_gsm_map_om_SGW_EventList_bearerActivationModificationDeletion,
7846   NULL
7847 };
7848 
7849 static int
7850 dissect_gsm_map_om_SGW_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7851   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7852                                     gsm_map_om_SGW_EventList_bits, 3, hf_index, ett_gsm_map_om_SGW_EventList,
7853                                     NULL);
7854 
7855   return offset;
7856 }
7857 
7858 
7859 static int * const gsm_map_om_PGW_EventList_bits[] = {
7860   &hf_gsm_map_om_PGW_EventList_pdn_connectionCreation,
7861   &hf_gsm_map_om_PGW_EventList_pdn_connectionTermination,
7862   &hf_gsm_map_om_PGW_EventList_bearerActivationModificationDeletion,
7863   NULL
7864 };
7865 
7866 static int
7867 dissect_gsm_map_om_PGW_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7868   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
7869                                     gsm_map_om_PGW_EventList_bits, 3, hf_index, ett_gsm_map_om_PGW_EventList,
7870                                     NULL);
7871 
7872   return offset;
7873 }
7874 
7875 
7876 static const ber_sequence_t gsm_map_om_TraceEventList_sequence[] = {
7877   { &hf_gsm_map_om_msc_s_List_01, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MSC_S_EventList },
7878   { &hf_gsm_map_om_mgw_List_01, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MGW_EventList },
7879   { &hf_gsm_map_om_sgsn_List_01, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_SGSN_EventList },
7880   { &hf_gsm_map_om_ggsn_List_01, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_GGSN_EventList },
7881   { &hf_gsm_map_om_bmsc_List_01, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_BMSC_EventList },
7882   { &hf_gsm_map_om_mme_List_01, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MME_EventList },
7883   { &hf_gsm_map_om_sgw_List_01, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_SGW_EventList },
7884   { &hf_gsm_map_om_pgw_List_01, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_PGW_EventList },
7885   { NULL, 0, 0, 0, NULL }
7886 };
7887 
7888 static int
7889 dissect_gsm_map_om_TraceEventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7890   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7891                                    gsm_map_om_TraceEventList_sequence, hf_index, ett_gsm_map_om_TraceEventList);
7892 
7893   return offset;
7894 }
7895 
7896 
7897 static const value_string gsm_map_om_JobType_vals[] = {
7898   {   0, "immediate-MDT-only" },
7899   {   1, "logged-MDT-only" },
7900   {   2, "trace-only" },
7901   {   3, "immediate-MDT-and-trace" },
7902   { 0, NULL }
7903 };
7904 
7905 
7906 static int
7907 dissect_gsm_map_om_JobType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7908   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7909                                   NULL);
7910 
7911   return offset;
7912 }
7913 
7914 
7915 static const ber_sequence_t gsm_map_om_CGI_List_sequence_of[1] = {
7916   { &hf_gsm_map_om_CGI_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_GlobalCellId },
7917 };
7918 
7919 static int
7920 dissect_gsm_map_om_CGI_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7921   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7922                                       gsm_map_om_CGI_List_sequence_of, hf_index, ett_gsm_map_om_CGI_List);
7923 
7924   return offset;
7925 }
7926 
7927 
7928 static const ber_sequence_t gsm_map_om_E_UTRAN_CGI_List_sequence_of[1] = {
7929   { &hf_gsm_map_om_E_UTRAN_CGI_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_E_UTRAN_CGI },
7930 };
7931 
7932 static int
7933 dissect_gsm_map_om_E_UTRAN_CGI_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7934   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7935                                       gsm_map_om_E_UTRAN_CGI_List_sequence_of, hf_index, ett_gsm_map_om_E_UTRAN_CGI_List);
7936 
7937   return offset;
7938 }
7939 
7940 
7941 static const ber_sequence_t gsm_map_om_RoutingAreaId_List_sequence_of[1] = {
7942   { &hf_gsm_map_om_RoutingAreaId_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_RAIdentity },
7943 };
7944 
7945 static int
7946 dissect_gsm_map_om_RoutingAreaId_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7947   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7948                                       gsm_map_om_RoutingAreaId_List_sequence_of, hf_index, ett_gsm_map_om_RoutingAreaId_List);
7949 
7950   return offset;
7951 }
7952 
7953 
7954 static const ber_sequence_t gsm_map_om_LocationAreaId_List_sequence_of[1] = {
7955   { &hf_gsm_map_om_LocationAreaId_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LAIFixedLength },
7956 };
7957 
7958 static int
7959 dissect_gsm_map_om_LocationAreaId_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7960   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7961                                       gsm_map_om_LocationAreaId_List_sequence_of, hf_index, ett_gsm_map_om_LocationAreaId_List);
7962 
7963   return offset;
7964 }
7965 
7966 
7967 static const ber_sequence_t gsm_map_om_TrackingAreaId_List_sequence_of[1] = {
7968   { &hf_gsm_map_om_TrackingAreaId_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_TA_Id },
7969 };
7970 
7971 static int
7972 dissect_gsm_map_om_TrackingAreaId_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7973   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7974                                       gsm_map_om_TrackingAreaId_List_sequence_of, hf_index, ett_gsm_map_om_TrackingAreaId_List);
7975 
7976   return offset;
7977 }
7978 
7979 
7980 static const ber_sequence_t gsm_map_om_AreaScope_sequence[] = {
7981   { &hf_gsm_map_om_cgi_List , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_CGI_List },
7982   { &hf_gsm_map_om_e_utran_cgi_List, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_E_UTRAN_CGI_List },
7983   { &hf_gsm_map_om_routingAreaId_List, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_RoutingAreaId_List },
7984   { &hf_gsm_map_om_locationAreaId_List, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_LocationAreaId_List },
7985   { &hf_gsm_map_om_trackingAreaId_List, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TrackingAreaId_List },
7986   { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
7987   { NULL, 0, 0, 0, NULL }
7988 };
7989 
7990 static int
7991 dissect_gsm_map_om_AreaScope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7992   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7993                                    gsm_map_om_AreaScope_sequence, hf_index, ett_gsm_map_om_AreaScope);
7994 
7995   return offset;
7996 }
7997 
7998 
7999 
8000 static int
8001 dissect_gsm_map_om_ListOfMeasurements(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8002   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8003                                        NULL);
8004 
8005   return offset;
8006 }
8007 
8008 
8009 
8010 static int
8011 dissect_gsm_map_om_ReportingTrigger(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8012   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8013                                        NULL);
8014 
8015   return offset;
8016 }
8017 
8018 
8019 static const value_string gsm_map_om_ReportInterval_vals[] = {
8020   {   0, "umts250ms" },
8021   {   1, "umts500ms" },
8022   {   2, "umts1000ms" },
8023   {   3, "umts2000ms" },
8024   {   4, "umts3000ms" },
8025   {   5, "umts4000ms" },
8026   {   6, "umts6000ms" },
8027   {   7, "umts8000ms" },
8028   {   8, "umts12000ms" },
8029   {   9, "umts16000ms" },
8030   {  10, "umts20000ms" },
8031   {  11, "umts24000ms" },
8032   {  12, "umts28000ms" },
8033   {  13, "umts32000ms" },
8034   {  14, "umts64000ms" },
8035   {  15, "lte120ms" },
8036   {  16, "lte240ms" },
8037   {  17, "lte480ms" },
8038   {  18, "lte640ms" },
8039   {  19, "lte1024ms" },
8040   {  20, "lte2048ms" },
8041   {  21, "lte5120ms" },
8042   {  22, "lte10240ms" },
8043   {  23, "lte1min" },
8044   {  24, "lte6min" },
8045   {  25, "lte12min" },
8046   {  26, "lte30min" },
8047   {  27, "lte60min" },
8048   { 0, NULL }
8049 };
8050 
8051 
8052 static int
8053 dissect_gsm_map_om_ReportInterval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8054   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8055                                   NULL);
8056 
8057   return offset;
8058 }
8059 
8060 
8061 static const value_string gsm_map_om_ReportAmount_vals[] = {
8062   {   0, "d1" },
8063   {   1, "d2" },
8064   {   2, "d4" },
8065   {   3, "d8" },
8066   {   4, "d16" },
8067   {   5, "d32" },
8068   {   6, "d64" },
8069   {   7, "infinity" },
8070   { 0, NULL }
8071 };
8072 
8073 
8074 static int
8075 dissect_gsm_map_om_ReportAmount(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8076   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8077                                   NULL);
8078 
8079   return offset;
8080 }
8081 
8082 
8083 
8084 static int
8085 dissect_gsm_map_om_EventThresholdRSRP(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8086   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8087                                                 NULL);
8088 
8089   return offset;
8090 }
8091 
8092 
8093 
8094 static int
8095 dissect_gsm_map_om_EventThresholdRSRQ(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8096   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8097                                                 NULL);
8098 
8099   return offset;
8100 }
8101 
8102 
8103 static const value_string gsm_map_om_LoggingInterval_vals[] = {
8104   {   0, "d1dot28" },
8105   {   1, "d2dot56" },
8106   {   2, "d5dot12" },
8107   {   3, "d10dot24" },
8108   {   4, "d20dot48" },
8109   {   5, "d30dot72" },
8110   {   6, "d40dot96" },
8111   {   7, "d61dot44" },
8112   { 0, NULL }
8113 };
8114 
8115 
8116 static int
8117 dissect_gsm_map_om_LoggingInterval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8118   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8119                                   NULL);
8120 
8121   return offset;
8122 }
8123 
8124 
8125 static const value_string gsm_map_om_LoggingDuration_vals[] = {
8126   {   0, "d600sec" },
8127   {   1, "d1200sec" },
8128   {   2, "d2400sec" },
8129   {   3, "d3600sec" },
8130   {   4, "d5400sec" },
8131   {   5, "d7200sec" },
8132   { 0, NULL }
8133 };
8134 
8135 
8136 static int
8137 dissect_gsm_map_om_LoggingDuration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8138   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8139                                   NULL);
8140 
8141   return offset;
8142 }
8143 
8144 
8145 static const value_string gsm_map_om_PeriodUMTS_vals[] = {
8146   {   0, "d250ms" },
8147   {   1, "d500ms" },
8148   {   2, "d1000ms" },
8149   {   3, "d2000ms" },
8150   {   4, "d3000ms" },
8151   {   5, "d4000ms" },
8152   {   6, "d6000ms" },
8153   {   7, "d8000ms" },
8154   {   8, "d12000ms" },
8155   {   9, "d16000ms" },
8156   {  10, "d20000ms" },
8157   {  11, "d24000ms" },
8158   {  12, "d28000ms" },
8159   {  13, "d32000ms" },
8160   {  14, "d64000ms" },
8161   { 0, NULL }
8162 };
8163 
8164 
8165 static int
8166 dissect_gsm_map_om_PeriodUMTS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8167   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8168                                   NULL);
8169 
8170   return offset;
8171 }
8172 
8173 
8174 static const value_string gsm_map_om_PeriodLTE_vals[] = {
8175   {   0, "d1024ms" },
8176   {   1, "d1280ms" },
8177   {   2, "d2048ms" },
8178   {   3, "d2560ms" },
8179   {   4, "d5120ms" },
8180   {   5, "d10240ms" },
8181   {   6, "d1min" },
8182   { 0, NULL }
8183 };
8184 
8185 
8186 static int
8187 dissect_gsm_map_om_PeriodLTE(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8188   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8189                                   NULL);
8190 
8191   return offset;
8192 }
8193 
8194 
8195 
8196 static int
8197 dissect_gsm_map_om_PositioningMethod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8198   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8199                                        NULL);
8200 
8201   return offset;
8202 }
8203 
8204 
8205 
8206 static int
8207 dissect_gsm_map_om_MeasurementQuantity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8208   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8209                                        NULL);
8210 
8211   return offset;
8212 }
8213 
8214 
8215 
8216 static int
8217 dissect_gsm_map_om_EventThreshold1F(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8218   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8219                                                 NULL);
8220 
8221   return offset;
8222 }
8223 
8224 
8225 
8226 static int
8227 dissect_gsm_map_om_EventThreshold1I(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8228   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8229                                                 NULL);
8230 
8231   return offset;
8232 }
8233 
8234 
8235 static const ber_sequence_t gsm_map_om_MDT_Allowed_PLMNId_List_sequence_of[1] = {
8236   { &hf_gsm_map_om_MDT_Allowed_PLMNId_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_PLMN_Id },
8237 };
8238 
8239 static int
8240 dissect_gsm_map_om_MDT_Allowed_PLMNId_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_) {
8241   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8242                                       gsm_map_om_MDT_Allowed_PLMNId_List_sequence_of, hf_index, ett_gsm_map_om_MDT_Allowed_PLMNId_List);
8243 
8244   return offset;
8245 }
8246 
8247 
8248 static const ber_sequence_t gsm_map_om_MDT_Configuration_sequence[] = {
8249   { &hf_gsm_map_om_jobType  , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_om_JobType },
8250   { &hf_gsm_map_om_areaScope, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_om_AreaScope },
8251   { &hf_gsm_map_om_listOfMeasurements, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_om_ListOfMeasurements },
8252   { &hf_gsm_map_om_reportingTrigger, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_ReportingTrigger },
8253   { &hf_gsm_map_om_reportInterval, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_om_ReportInterval },
8254   { &hf_gsm_map_om_reportAmount, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_ReportAmount },
8255   { &hf_gsm_map_om_eventThresholdRSRP, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_om_EventThresholdRSRP },
8256   { &hf_gsm_map_om_eventThresholdRSRQ, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_EventThresholdRSRQ },
8257   { &hf_gsm_map_om_loggingInterval, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_LoggingInterval },
8258   { &hf_gsm_map_om_loggingDuration, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_LoggingDuration },
8259   { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8260   { &hf_gsm_map_om_measurementPeriodUMTS, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_PeriodUMTS },
8261   { &hf_gsm_map_om_measurementPeriodLTE, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_PeriodLTE },
8262   { &hf_gsm_map_om_collectionPeriodRRM_UMTS, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_PeriodUMTS },
8263   { &hf_gsm_map_om_collectionPeriodRRM_LTE, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_PeriodLTE },
8264   { &hf_gsm_map_om_positioningMethod, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_PositioningMethod },
8265   { &hf_gsm_map_om_measurementQuantity, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MeasurementQuantity },
8266   { &hf_gsm_map_om_eventThreshold1F, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_EventThreshold1F },
8267   { &hf_gsm_map_om_eventThreshold1I, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_EventThreshold1I },
8268   { &hf_gsm_map_om_mdt_Allowed_PLMN_List, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MDT_Allowed_PLMNId_List },
8269   { NULL, 0, 0, 0, NULL }
8270 };
8271 
8272 static int
8273 dissect_gsm_map_om_MDT_Configuration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8274   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8275                                    gsm_map_om_MDT_Configuration_sequence, hf_index, ett_gsm_map_om_MDT_Configuration);
8276 
8277   return offset;
8278 }
8279 
8280 
8281 static const ber_sequence_t gsm_map_om_ActivateTraceModeArg_sequence[] = {
8282   { &hf_gsm_map_om_imsi     , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
8283   { &hf_gsm_map_om_traceReference, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference },
8284   { &hf_gsm_map_om_traceType, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceType },
8285   { &hf_gsm_map_om_omc_Id   , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
8286   { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8287   { &hf_gsm_map_om_traceReference2, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference2 },
8288   { &hf_gsm_map_om_traceDepthList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthList },
8289   { &hf_gsm_map_om_traceNE_TypeList, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceNE_TypeList },
8290   { &hf_gsm_map_om_traceInterfaceList, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceInterfaceList },
8291   { &hf_gsm_map_om_traceEventList, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceEventList },
8292   { &hf_gsm_map_om_traceCollectionEntity, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
8293   { &hf_gsm_map_om_mdt_Configuration, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MDT_Configuration },
8294   { NULL, 0, 0, 0, NULL }
8295 };
8296 
8297 static int
8298 dissect_gsm_map_om_ActivateTraceModeArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8299   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8300                                    gsm_map_om_ActivateTraceModeArg_sequence, hf_index, ett_gsm_map_om_ActivateTraceModeArg);
8301 
8302   return offset;
8303 }
8304 
8305 
8306 
8307 static int
8308 dissect_gsm_map_om_TraceRecordingSessionReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8309   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8310                                        NULL);
8311 
8312   return offset;
8313 }
8314 
8315 
8316 static const ber_sequence_t gsm_map_om_TracePropagationList_sequence[] = {
8317   { &hf_gsm_map_om_traceReference, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference },
8318   { &hf_gsm_map_om_traceType, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceType },
8319   { &hf_gsm_map_om_traceReference2, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference2 },
8320   { &hf_gsm_map_om_traceRecordingSessionReference, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceRecordingSessionReference },
8321   { &hf_gsm_map_om_rnc_TraceDepth, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
8322   { &hf_gsm_map_om_rnc_InterfaceList, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_RNC_InterfaceList },
8323   { &hf_gsm_map_om_msc_s_TraceDepth, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
8324   { &hf_gsm_map_om_msc_s_InterfaceList, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MSC_S_InterfaceList },
8325   { &hf_gsm_map_om_msc_s_EventList, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MSC_S_EventList },
8326   { &hf_gsm_map_om_mgw_TraceDepth, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepth },
8327   { &hf_gsm_map_om_mgw_InterfaceList, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MGW_InterfaceList },
8328   { &hf_gsm_map_om_mgw_EventList, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_MGW_EventList },
8329   { &hf_gsm_map_om_rnc_TraceDepthExtension, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
8330   { &hf_gsm_map_om_msc_s_TraceDepthExtension, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
8331   { &hf_gsm_map_om_mgw_TraceDepthExtension, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceDepthExtension },
8332   { NULL, 0, 0, 0, NULL }
8333 };
8334 
8335 static int
8336 dissect_gsm_map_om_TracePropagationList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8337   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8338                                    gsm_map_om_TracePropagationList_sequence, hf_index, ett_gsm_map_om_TracePropagationList);
8339 
8340   return offset;
8341 }
8342 
8343 
8344 
8345 static int
8346 dissect_gsm_map_om_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8347   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
8348 
8349   return offset;
8350 }
8351 
8352 
8353 static const ber_sequence_t gsm_map_om_ActivateTraceModeRes_sequence[] = {
8354   { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8355   { &hf_gsm_map_om_traceSupportIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_NULL },
8356   { NULL, 0, 0, 0, NULL }
8357 };
8358 
8359 static int
8360 dissect_gsm_map_om_ActivateTraceModeRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8361   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8362                                    gsm_map_om_ActivateTraceModeRes_sequence, hf_index, ett_gsm_map_om_ActivateTraceModeRes);
8363 
8364   return offset;
8365 }
8366 
8367 
8368 static const ber_sequence_t gsm_map_om_DeactivateTraceModeArg_sequence[] = {
8369   { &hf_gsm_map_om_imsi     , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
8370   { &hf_gsm_map_om_traceReference, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference },
8371   { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8372   { &hf_gsm_map_om_traceReference2, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference2 },
8373   { NULL, 0, 0, 0, NULL }
8374 };
8375 
8376 static int
8377 dissect_gsm_map_om_DeactivateTraceModeArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8378   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8379                                    gsm_map_om_DeactivateTraceModeArg_sequence, hf_index, ett_gsm_map_om_DeactivateTraceModeArg);
8380 
8381   return offset;
8382 }
8383 
8384 
8385 static const ber_sequence_t gsm_map_om_DeactivateTraceModeRes_sequence[] = {
8386   { &hf_gsm_map_om_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8387   { NULL, 0, 0, 0, NULL }
8388 };
8389 
8390 static int
8391 dissect_gsm_map_om_DeactivateTraceModeRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8392   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8393                                    gsm_map_om_DeactivateTraceModeRes_sequence, hf_index, ett_gsm_map_om_DeactivateTraceModeRes);
8394 
8395   return offset;
8396 }
8397 
8398 
8399 /* --- Module MAP-MS-DataTypes --- --- ---                                    */
8400 
8401 
8402 static int * const gsm_map_ms_SupportedCamelPhases_bits[] = {
8403   &hf_gsm_map_ms_SupportedCamelPhases_phase1,
8404   &hf_gsm_map_ms_SupportedCamelPhases_phase2,
8405   &hf_gsm_map_ms_SupportedCamelPhases_phase3,
8406   &hf_gsm_map_ms_SupportedCamelPhases_phase4,
8407   NULL
8408 };
8409 
8410 int
8411 dissect_gsm_map_ms_SupportedCamelPhases(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8412   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
8413                                     gsm_map_ms_SupportedCamelPhases_bits, 4, hf_index, ett_gsm_map_ms_SupportedCamelPhases,
8414                                     NULL);
8415 
8416   return offset;
8417 }
8418 
8419 
8420 
8421 static int
8422 dissect_gsm_map_ms_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8423   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
8424 
8425   return offset;
8426 }
8427 
8428 
8429 static const value_string gsm_map_ms_IST_SupportIndicator_vals[] = {
8430   {   0, "basicISTSupported" },
8431   {   1, "istCommandSupported" },
8432   { 0, NULL }
8433 };
8434 
8435 
8436 static int
8437 dissect_gsm_map_ms_IST_SupportIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8438   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8439                                   NULL);
8440 
8441   return offset;
8442 }
8443 
8444 
8445 
8446 static int
8447 dissect_gsm_map_ms_AgeIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8448   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8449                                        NULL);
8450 
8451   return offset;
8452 }
8453 
8454 
8455 static const value_string gsm_map_ms_SuperChargerInfo_vals[] = {
8456   {   0, "sendSubscriberData" },
8457   {   1, "subscriberDataStored" },
8458   { 0, NULL }
8459 };
8460 
8461 static const ber_choice_t gsm_map_ms_SuperChargerInfo_choice[] = {
8462   {   0, &hf_gsm_map_ms_sendSubscriberData, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8463   {   1, &hf_gsm_map_ms_subscriberDataStored, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AgeIndicator },
8464   { 0, NULL, 0, 0, 0, NULL }
8465 };
8466 
8467 static int
8468 dissect_gsm_map_ms_SuperChargerInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8469   offset = dissect_ber_choice(actx, tree, tvb, offset,
8470                                  gsm_map_ms_SuperChargerInfo_choice, hf_index, ett_gsm_map_ms_SuperChargerInfo,
8471                                  NULL);
8472 
8473   return offset;
8474 }
8475 
8476 
8477 static int * const gsm_map_ms_SupportedLCS_CapabilitySets_bits[] = {
8478   &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet1,
8479   &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet2,
8480   &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet3,
8481   &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet4,
8482   &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet5,
8483   NULL
8484 };
8485 
8486 static int
8487 dissect_gsm_map_ms_SupportedLCS_CapabilitySets(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8488   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
8489                                     gsm_map_ms_SupportedLCS_CapabilitySets_bits, 5, hf_index, ett_gsm_map_ms_SupportedLCS_CapabilitySets,
8490                                     NULL);
8491 
8492   return offset;
8493 }
8494 
8495 
8496 static int * const gsm_map_ms_OfferedCamel4CSIs_bits[] = {
8497   &hf_gsm_map_ms_OfferedCamel4CSIs_o_csi,
8498   &hf_gsm_map_ms_OfferedCamel4CSIs_d_csi,
8499   &hf_gsm_map_ms_OfferedCamel4CSIs_vt_csi,
8500   &hf_gsm_map_ms_OfferedCamel4CSIs_t_csi,
8501   &hf_gsm_map_ms_OfferedCamel4CSIs_mt_sms_csi,
8502   &hf_gsm_map_ms_OfferedCamel4CSIs_mg_csi,
8503   &hf_gsm_map_ms_OfferedCamel4CSIs_psi_enhancements,
8504   NULL
8505 };
8506 
8507 static int
8508 dissect_gsm_map_ms_OfferedCamel4CSIs(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8509   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
8510                                     gsm_map_ms_OfferedCamel4CSIs_bits, 7, hf_index, ett_gsm_map_ms_OfferedCamel4CSIs,
8511                                     NULL);
8512 
8513   return offset;
8514 }
8515 
8516 
8517 static int * const gsm_map_ms_SupportedRAT_Types_bits[] = {
8518   &hf_gsm_map_ms_SupportedRAT_Types_utran,
8519   &hf_gsm_map_ms_SupportedRAT_Types_geran,
8520   &hf_gsm_map_ms_SupportedRAT_Types_gan,
8521   &hf_gsm_map_ms_SupportedRAT_Types_i_hspa_evolution,
8522   &hf_gsm_map_ms_SupportedRAT_Types_e_utran,
8523   &hf_gsm_map_ms_SupportedRAT_Types_nb_iot,
8524   NULL
8525 };
8526 
8527 static int
8528 dissect_gsm_map_ms_SupportedRAT_Types(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8529   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
8530                                     gsm_map_ms_SupportedRAT_Types_bits, 6, hf_index, ett_gsm_map_ms_SupportedRAT_Types,
8531                                     NULL);
8532 
8533   return offset;
8534 }
8535 
8536 
8537 static const ber_sequence_t gsm_map_ms_VLR_Capability_sequence[] = {
8538   { &hf_gsm_map_ms_supportedCamelPhases, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
8539   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
8540   { &hf_gsm_map_ms_solsaSupportIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8541   { &hf_gsm_map_ms_istSupportIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_SupportIndicator },
8542   { &hf_gsm_map_ms_superChargerSupportedInServingNetworkEntity, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_SuperChargerInfo },
8543   { &hf_gsm_map_ms_longFTN_Supported, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8544   { &hf_gsm_map_ms_supportedLCS_CapabilitySets, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedLCS_CapabilitySets },
8545   { &hf_gsm_map_ms_offeredCamel4CSIs, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
8546   { &hf_gsm_map_ms_supportedRAT_TypesIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedRAT_Types },
8547   { &hf_gsm_map_ms_longGroupID_Supported, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8548   { &hf_gsm_map_ms_mtRoamingForwardingSupported, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8549   { &hf_gsm_map_ms_msisdn_lessOperation_Supported, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8550   { &hf_gsm_map_ms_reset_ids_Supported, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8551   { NULL, 0, 0, 0, NULL }
8552 };
8553 
8554 static int
8555 dissect_gsm_map_ms_VLR_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8556   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8557                                    gsm_map_ms_VLR_Capability_sequence, hf_index, ett_gsm_map_ms_VLR_Capability);
8558 
8559   return offset;
8560 }
8561 
8562 
8563 static const ber_sequence_t gsm_map_ms_ADD_Info_sequence[] = {
8564   { &hf_gsm_map_ms_imeisv   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
8565   { &hf_gsm_map_ms_skipSubscriberDataUpdate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8566   { NULL, 0, 0, 0, NULL }
8567 };
8568 
8569 static int
8570 dissect_gsm_map_ms_ADD_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8571   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8572                                    gsm_map_ms_ADD_Info_sequence, hf_index, ett_gsm_map_ms_ADD_Info);
8573 
8574   return offset;
8575 }
8576 
8577 
8578 
8579 static int
8580 dissect_gsm_map_ms_LAC(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8581 #line 1185 "./asn1/gsm_map/gsm_map.cnf"
8582   tvbuff_t *parameter_tvb = NULL;
8583   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, -1,
8584                                        &parameter_tvb);
8585 
8586   if (parameter_tvb) {
8587     actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN);
8588   }
8589 
8590 
8591 
8592   return offset;
8593 }
8594 
8595 
8596 static const value_string gsm_map_ms_LocationArea_vals[] = {
8597   {   0, "laiFixedLength" },
8598   {   1, "lac" },
8599   { 0, NULL }
8600 };
8601 
8602 static const ber_choice_t gsm_map_ms_LocationArea_choice[] = {
8603   {   0, &hf_gsm_map_ms_laiFixedLength, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_LAIFixedLength },
8604   {   1, &hf_gsm_map_ms_lac      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LAC },
8605   { 0, NULL, 0, 0, 0, NULL }
8606 };
8607 
8608 static int
8609 dissect_gsm_map_ms_LocationArea(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8610   offset = dissect_ber_choice(actx, tree, tvb, offset,
8611                                  gsm_map_ms_LocationArea_choice, hf_index, ett_gsm_map_ms_LocationArea,
8612                                  NULL);
8613 
8614   return offset;
8615 }
8616 
8617 
8618 static const ber_sequence_t gsm_map_ms_PagingArea_sequence_of[1] = {
8619   { &hf_gsm_map_ms_PagingArea_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_LocationArea },
8620 };
8621 
8622 static int
8623 dissect_gsm_map_ms_PagingArea(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8624   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8625                                       gsm_map_ms_PagingArea_sequence_of, hf_index, ett_gsm_map_ms_PagingArea);
8626 
8627   return offset;
8628 }
8629 
8630 
8631 static const ber_sequence_t gsm_map_ms_EPLMN_List_sequence_of[1] = {
8632   { &hf_gsm_map_ms_EPLMN_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_PLMN_Id },
8633 };
8634 
8635 static int
8636 dissect_gsm_map_ms_EPLMN_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8637   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8638                                       gsm_map_ms_EPLMN_List_sequence_of, hf_index, ett_gsm_map_ms_EPLMN_List);
8639 
8640   return offset;
8641 }
8642 
8643 
8644 static const ber_sequence_t gsm_map_ms_UpdateLocationArg_sequence[] = {
8645   { &hf_gsm_map_ms_imsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
8646   { &hf_gsm_map_ms_msc_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
8647   { &hf_gsm_map_ms_vlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
8648   { &hf_gsm_map_ms_lmsi     , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
8649   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
8650   { &hf_gsm_map_ms_vlr_Capability, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VLR_Capability },
8651   { &hf_gsm_map_ms_informPreviousNetworkEntity, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8652   { &hf_gsm_map_ms_cs_LCS_NotSupportedByUE, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8653   { &hf_gsm_map_ms_v_gmlc_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
8654   { &hf_gsm_map_ms_add_info , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ADD_Info },
8655   { &hf_gsm_map_ms_pagingArea, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PagingArea },
8656   { &hf_gsm_map_ms_skipSubscriberDataUpdate, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8657   { &hf_gsm_map_ms_restorationIndicator, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8658   { &hf_gsm_map_ms_eplmn_List, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EPLMN_List },
8659   { &hf_gsm_map_ms_mme_DiameterAddress, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
8660   { NULL, 0, 0, 0, NULL }
8661 };
8662 
8663 static int
8664 dissect_gsm_map_ms_UpdateLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8665   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8666                                    gsm_map_ms_UpdateLocationArg_sequence, hf_index, ett_gsm_map_ms_UpdateLocationArg);
8667 
8668   return offset;
8669 }
8670 
8671 
8672 static const ber_sequence_t gsm_map_ms_UpdateLocationRes_sequence[] = {
8673   { &hf_gsm_map_ms_hlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
8674   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
8675   { &hf_gsm_map_ms_add_Capability, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
8676   { &hf_gsm_map_ms_pagingArea_Capability, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8677   { NULL, 0, 0, 0, NULL }
8678 };
8679 
8680 static int
8681 dissect_gsm_map_ms_UpdateLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8682   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8683                                    gsm_map_ms_UpdateLocationRes_sequence, hf_index, ett_gsm_map_ms_UpdateLocationRes);
8684 
8685   return offset;
8686 }
8687 
8688 
8689 static const value_string gsm_map_ms_CancellationType_vals[] = {
8690   {   0, "updateProcedure" },
8691   {   1, "subscriptionWithdraw" },
8692   {   2, "initialAttachProcedure" },
8693   { 0, NULL }
8694 };
8695 
8696 
8697 static int
8698 dissect_gsm_map_ms_CancellationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8699   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8700                                   NULL);
8701 
8702   return offset;
8703 }
8704 
8705 
8706 static const value_string gsm_map_ms_TypeOfUpdate_vals[] = {
8707   {   0, "sgsn-change" },
8708   {   1, "mme-change" },
8709   { 0, NULL }
8710 };
8711 
8712 
8713 static int
8714 dissect_gsm_map_ms_TypeOfUpdate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8715   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8716                                   NULL);
8717 
8718   return offset;
8719 }
8720 
8721 
8722 static const ber_sequence_t gsm_map_ms_CancelLocationArg_U_sequence[] = {
8723   { &hf_gsm_map_ms_identity , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Identity },
8724   { &hf_gsm_map_ms_cancellationType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CancellationType },
8725   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
8726   { &hf_gsm_map_ms_typeOfUpdate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TypeOfUpdate },
8727   { &hf_gsm_map_ms_mtrf_SupportedAndAuthorized, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8728   { &hf_gsm_map_ms_mtrf_SupportedAndNotAuthorized, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8729   { &hf_gsm_map_ms_newMSC_Number, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
8730   { &hf_gsm_map_ms_newVLR_Number, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
8731   { &hf_gsm_map_ms_new_lmsi , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
8732   { &hf_gsm_map_ms_reattach_Required, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8733   { NULL, 0, 0, 0, NULL }
8734 };
8735 
8736 static int
8737 dissect_gsm_map_ms_CancelLocationArg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8738   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8739                                    gsm_map_ms_CancelLocationArg_U_sequence, hf_index, ett_gsm_map_ms_CancelLocationArg_U);
8740 
8741   return offset;
8742 }
8743 
8744 
8745 
8746 static int
8747 dissect_gsm_map_ms_CancelLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8748   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8749                                       hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_CancelLocationArg_U);
8750 
8751   return offset;
8752 }
8753 
8754 
8755 static const ber_sequence_t gsm_map_ms_CancelLocationRes_sequence[] = {
8756   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
8757   { NULL, 0, 0, 0, NULL }
8758 };
8759 
8760 static int
8761 dissect_gsm_map_ms_CancelLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8762   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8763                                    gsm_map_ms_CancelLocationRes_sequence, hf_index, ett_gsm_map_ms_CancelLocationRes);
8764 
8765   return offset;
8766 }
8767 
8768 
8769 
8770 int
8771 dissect_gsm_map_ms_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8772 #line 1163 "./asn1/gsm_map/gsm_map.cnf"
8773   tvbuff_t	*parameter_tvb;
8774   proto_tree	*subtree;
8775   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8776                                        &parameter_tvb);
8777 
8778   if (!parameter_tvb)
8779     return offset;
8780 
8781   subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GeographicalInformation);
8782   dissect_geographical_description(parameter_tvb, actx->pinfo, subtree);
8783 
8784 
8785 
8786   return offset;
8787 }
8788 
8789 
8790 
8791 static int
8792 dissect_gsm_map_ms_LocationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8793 #line 1098 "./asn1/gsm_map/gsm_map.cnf"
8794  tvbuff_t	*parameter_tvb;
8795  proto_tree	*subtree;
8796   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8797                                        &parameter_tvb);
8798 
8799   if (!parameter_tvb)
8800       return offset;
8801 
8802   subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_LocationNumber);
8803   dissect_isup_location_number_parameter(parameter_tvb, actx->pinfo, subtree, NULL);
8804 
8805 
8806 
8807   return offset;
8808 }
8809 
8810 
8811 
8812 int
8813 dissect_gsm_map_ms_LSAIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8814   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8815                                        NULL);
8816 
8817   return offset;
8818 }
8819 
8820 
8821 
8822 static int
8823 dissect_gsm_map_ms_GeodeticInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8824 #line 1173 "./asn1/gsm_map/gsm_map.cnf"
8825   tvbuff_t *parameter_tvb;
8826   proto_tree *subtree;
8827   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8828                                        &parameter_tvb);
8829 
8830   if (!parameter_tvb)
8831     return offset;
8832 
8833   subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GeodeticInformation);
8834   dissect_isup_calling_geodetic_location_parameter(parameter_tvb, actx->pinfo, subtree, NULL);
8835 
8836 
8837 
8838   return offset;
8839 }
8840 
8841 
8842 static const ber_sequence_t gsm_map_ms_LocationInformationEPS_sequence[] = {
8843   { &hf_gsm_map_ms_e_utranCellGlobalIdentity, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_E_UTRAN_CGI },
8844   { &hf_gsm_map_ms_trackingAreaIdentity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_TA_Id },
8845   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8846   { &hf_gsm_map_ms_geographicalInformation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeographicalInformation },
8847   { &hf_gsm_map_ms_geodeticInformation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeodeticInformation },
8848   { &hf_gsm_map_ms_currentLocationRetrieved, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8849   { &hf_gsm_map_ms_ageOfLocationInformation, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation },
8850   { &hf_gsm_map_ms_mme_Name , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
8851   { NULL, 0, 0, 0, NULL }
8852 };
8853 
8854 static int
8855 dissect_gsm_map_ms_LocationInformationEPS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8856   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8857                                    gsm_map_ms_LocationInformationEPS_sequence, hf_index, ett_gsm_map_ms_LocationInformationEPS);
8858 
8859   return offset;
8860 }
8861 
8862 
8863 
8864 static int
8865 dissect_gsm_map_ms_CSG_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8866   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
8867                                     NULL, 0, hf_index, -1,
8868                                     NULL);
8869 
8870   return offset;
8871 }
8872 
8873 
8874 
8875 static int
8876 dissect_gsm_map_ms_OCTET_STRING_SIZE_1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8877   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8878                                        NULL);
8879 
8880   return offset;
8881 }
8882 
8883 
8884 static const ber_sequence_t gsm_map_ms_UserCSGInformation_sequence[] = {
8885   { &hf_gsm_map_ms_csg_Id   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CSG_Id },
8886   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8887   { &hf_gsm_map_ms_accessMode, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OCTET_STRING_SIZE_1 },
8888   { &hf_gsm_map_ms_cmi      , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OCTET_STRING_SIZE_1 },
8889   { NULL, 0, 0, 0, NULL }
8890 };
8891 
8892 static int
8893 dissect_gsm_map_ms_UserCSGInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8894   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8895                                    gsm_map_ms_UserCSGInformation_sequence, hf_index, ett_gsm_map_ms_UserCSGInformation);
8896 
8897   return offset;
8898 }
8899 
8900 
8901 static const ber_sequence_t gsm_map_ms_LocationInformation_sequence[] = {
8902   { &hf_gsm_map_ms_ageOfLocationInformation, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_AgeOfLocationInformation },
8903   { &hf_gsm_map_ms_geographicalInformation, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeographicalInformation },
8904   { &hf_gsm_map_ms_vlr_number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
8905   { &hf_gsm_map_ms_locationNumber, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationNumber },
8906   { &hf_gsm_map_ms_cellGlobalIdOrServiceAreaIdOrLAI, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI },
8907   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8908   { &hf_gsm_map_ms_selectedLSA_Id, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAIdentity },
8909   { &hf_gsm_map_ms_msc_Number, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
8910   { &hf_gsm_map_ms_geodeticInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeodeticInformation },
8911   { &hf_gsm_map_ms_currentLocationRetrieved, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8912   { &hf_gsm_map_ms_sai_Present, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8913   { &hf_gsm_map_ms_locationInformationEPS, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformationEPS },
8914   { &hf_gsm_map_ms_userCSGInformation, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UserCSGInformation },
8915   { NULL, 0, 0, 0, NULL }
8916 };
8917 
8918 int
8919 dissect_gsm_map_ms_LocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8920   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8921                                    gsm_map_ms_LocationInformation_sequence, hf_index, ett_gsm_map_ms_LocationInformation);
8922 
8923   return offset;
8924 }
8925 
8926 
8927 static const ber_sequence_t gsm_map_ms_LocationInformationGPRS_sequence[] = {
8928   { &hf_gsm_map_ms_cellGlobalIdOrServiceAreaIdOrLAI, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI },
8929   { &hf_gsm_map_ms_routeingAreaIdentity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_RAIdentity },
8930   { &hf_gsm_map_ms_geographicalInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeographicalInformation },
8931   { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
8932   { &hf_gsm_map_ms_selectedLSAIdentity, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAIdentity },
8933   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
8934   { &hf_gsm_map_ms_sai_Present, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8935   { &hf_gsm_map_ms_geodeticInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeodeticInformation },
8936   { &hf_gsm_map_ms_currentLocationRetrieved, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8937   { &hf_gsm_map_ms_ageOfLocationInformation, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation },
8938   { &hf_gsm_map_ms_userCSGInformation, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UserCSGInformation },
8939   { NULL, 0, 0, 0, NULL }
8940 };
8941 
8942 static int
8943 dissect_gsm_map_ms_LocationInformationGPRS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8944   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8945                                    gsm_map_ms_LocationInformationGPRS_sequence, hf_index, ett_gsm_map_ms_LocationInformationGPRS);
8946 
8947   return offset;
8948 }
8949 
8950 
8951 static const ber_sequence_t gsm_map_ms_PurgeMS_Arg_U_sequence[] = {
8952   { &hf_gsm_map_ms_imsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
8953   { &hf_gsm_map_ms_vlr_Number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
8954   { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
8955   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
8956   { &hf_gsm_map_ms_locationInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformation },
8957   { &hf_gsm_map_ms_locationInformationGPRS, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformationGPRS },
8958   { &hf_gsm_map_ms_locationInformationEPS, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformationEPS },
8959   { NULL, 0, 0, 0, NULL }
8960 };
8961 
8962 static int
8963 dissect_gsm_map_ms_PurgeMS_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8964   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8965                                    gsm_map_ms_PurgeMS_Arg_U_sequence, hf_index, ett_gsm_map_ms_PurgeMS_Arg_U);
8966 
8967   return offset;
8968 }
8969 
8970 
8971 
8972 static int
8973 dissect_gsm_map_ms_PurgeMS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8974   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8975                                       hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PurgeMS_Arg_U);
8976 
8977   return offset;
8978 }
8979 
8980 
8981 static const ber_sequence_t gsm_map_ms_PurgeMS_Res_sequence[] = {
8982   { &hf_gsm_map_ms_freezeTMSI, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8983   { &hf_gsm_map_ms_freezeP_TMSI, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8984   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
8985   { &hf_gsm_map_ms_freezeM_TMSI, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
8986   { NULL, 0, 0, 0, NULL }
8987 };
8988 
8989 static int
8990 dissect_gsm_map_ms_PurgeMS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8991   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8992                                    gsm_map_ms_PurgeMS_Res_sequence, hf_index, ett_gsm_map_ms_PurgeMS_Res);
8993 
8994   return offset;
8995 }
8996 
8997 
8998 
8999 static int
9000 dissect_gsm_map_ms_NumberOfRequestedVectors(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9001   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9002                                                 NULL);
9003 
9004   return offset;
9005 }
9006 
9007 
9008 
9009 static int
9010 dissect_gsm_map_ms_HopCounter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9011   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9012                                                 NULL);
9013 
9014   return offset;
9015 }
9016 
9017 
9018 static const ber_sequence_t gsm_map_ms_SendIdentificationArg_sequence[] = {
9019   { &hf_gsm_map_ms_tmsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_TMSI },
9020   { &hf_gsm_map_ms_numberOfRequestedVectors, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NumberOfRequestedVectors },
9021   { &hf_gsm_map_ms_segmentationProhibited, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
9022   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
9023   { &hf_gsm_map_ms_msc_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
9024   { &hf_gsm_map_ms_previous_LAI, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LAIFixedLength },
9025   { &hf_gsm_map_ms_hopCounter, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_HopCounter },
9026   { &hf_gsm_map_ms_mtRoamingForwardingSupported, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9027   { &hf_gsm_map_ms_newVLR_Number, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
9028   { &hf_gsm_map_ms_new_lmsi , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
9029   { NULL, 0, 0, 0, NULL }
9030 };
9031 
9032 static int
9033 dissect_gsm_map_ms_SendIdentificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9034   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9035                                    gsm_map_ms_SendIdentificationArg_sequence, hf_index, ett_gsm_map_ms_SendIdentificationArg);
9036 
9037   return offset;
9038 }
9039 
9040 
9041 
9042 static int
9043 dissect_gsm_map_ms_RAND(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9044   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9045                                        NULL);
9046 
9047   return offset;
9048 }
9049 
9050 
9051 
9052 static int
9053 dissect_gsm_map_ms_SRES(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9054   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9055                                        NULL);
9056 
9057   return offset;
9058 }
9059 
9060 
9061 
9062 static int
9063 dissect_gsm_map_ms_Kc(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9064   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9065                                        NULL);
9066 
9067   return offset;
9068 }
9069 
9070 
9071 static const ber_sequence_t gsm_map_ms_AuthenticationTriplet_sequence[] = {
9072   { &hf_gsm_map_ms_rand     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAND },
9073   { &hf_gsm_map_ms_sres     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SRES },
9074   { &hf_gsm_map_ms_kc       , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Kc },
9075   { NULL, 0, 0, 0, NULL }
9076 };
9077 
9078 static int
9079 dissect_gsm_map_ms_AuthenticationTriplet(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9080   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9081                                    gsm_map_ms_AuthenticationTriplet_sequence, hf_index, ett_gsm_map_ms_AuthenticationTriplet);
9082 
9083   return offset;
9084 }
9085 
9086 
9087 static const ber_sequence_t gsm_map_ms_TripletList_sequence_of[1] = {
9088   { &hf_gsm_map_ms_TripletList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AuthenticationTriplet },
9089 };
9090 
9091 static int
9092 dissect_gsm_map_ms_TripletList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9093   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9094                                       gsm_map_ms_TripletList_sequence_of, hf_index, ett_gsm_map_ms_TripletList);
9095 
9096   return offset;
9097 }
9098 
9099 
9100 
9101 static int
9102 dissect_gsm_map_ms_XRES(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9103   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9104                                        NULL);
9105 
9106   return offset;
9107 }
9108 
9109 
9110 
9111 static int
9112 dissect_gsm_map_ms_CK(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9113   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9114                                        NULL);
9115 
9116   return offset;
9117 }
9118 
9119 
9120 
9121 static int
9122 dissect_gsm_map_ms_IK(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9123   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9124                                        NULL);
9125 
9126   return offset;
9127 }
9128 
9129 
9130 
9131 static int
9132 dissect_gsm_map_ms_AUTN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9133   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9134                                        NULL);
9135 
9136   return offset;
9137 }
9138 
9139 
9140 static const ber_sequence_t gsm_map_ms_AuthenticationQuintuplet_sequence[] = {
9141   { &hf_gsm_map_ms_rand     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAND },
9142   { &hf_gsm_map_ms_xres     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_XRES },
9143   { &hf_gsm_map_ms_ck       , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CK },
9144   { &hf_gsm_map_ms_ik       , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_IK },
9145   { &hf_gsm_map_ms_autn     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AUTN },
9146   { NULL, 0, 0, 0, NULL }
9147 };
9148 
9149 static int
9150 dissect_gsm_map_ms_AuthenticationQuintuplet(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9151   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9152                                    gsm_map_ms_AuthenticationQuintuplet_sequence, hf_index, ett_gsm_map_ms_AuthenticationQuintuplet);
9153 
9154   return offset;
9155 }
9156 
9157 
9158 static const ber_sequence_t gsm_map_ms_QuintupletList_sequence_of[1] = {
9159   { &hf_gsm_map_ms_QuintupletList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AuthenticationQuintuplet },
9160 };
9161 
9162 static int
9163 dissect_gsm_map_ms_QuintupletList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9164   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9165                                       gsm_map_ms_QuintupletList_sequence_of, hf_index, ett_gsm_map_ms_QuintupletList);
9166 
9167   return offset;
9168 }
9169 
9170 
9171 static const value_string gsm_map_ms_AuthenticationSetList_vals[] = {
9172   {   0, "tripletList" },
9173   {   1, "quintupletList" },
9174   { 0, NULL }
9175 };
9176 
9177 static const ber_choice_t gsm_map_ms_AuthenticationSetList_choice[] = {
9178   {   0, &hf_gsm_map_ms_tripletList, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TripletList },
9179   {   1, &hf_gsm_map_ms_quintupletList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_QuintupletList },
9180   { 0, NULL, 0, 0, 0, NULL }
9181 };
9182 
9183 static int
9184 dissect_gsm_map_ms_AuthenticationSetList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9185   offset = dissect_ber_choice(actx, tree, tvb, offset,
9186                                  gsm_map_ms_AuthenticationSetList_choice, hf_index, ett_gsm_map_ms_AuthenticationSetList,
9187                                  NULL);
9188 
9189   return offset;
9190 }
9191 
9192 
9193 
9194 static int
9195 dissect_gsm_map_ms_Cksn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9196   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9197                                        NULL);
9198 
9199   return offset;
9200 }
9201 
9202 
9203 static const ber_sequence_t gsm_map_ms_GSM_SecurityContextData_sequence[] = {
9204   { &hf_gsm_map_ms_kc       , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Kc },
9205   { &hf_gsm_map_ms_cksn     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Cksn },
9206   { NULL, 0, 0, 0, NULL }
9207 };
9208 
9209 static int
9210 dissect_gsm_map_ms_GSM_SecurityContextData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9211   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9212                                    gsm_map_ms_GSM_SecurityContextData_sequence, hf_index, ett_gsm_map_ms_GSM_SecurityContextData);
9213 
9214   return offset;
9215 }
9216 
9217 
9218 
9219 static int
9220 dissect_gsm_map_ms_KSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9221   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9222                                        NULL);
9223 
9224   return offset;
9225 }
9226 
9227 
9228 static const ber_sequence_t gsm_map_ms_UMTS_SecurityContextData_sequence[] = {
9229   { &hf_gsm_map_ms_ck       , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CK },
9230   { &hf_gsm_map_ms_ik       , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_IK },
9231   { &hf_gsm_map_ms_ksi      , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_KSI },
9232   { NULL, 0, 0, 0, NULL }
9233 };
9234 
9235 static int
9236 dissect_gsm_map_ms_UMTS_SecurityContextData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9237   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9238                                    gsm_map_ms_UMTS_SecurityContextData_sequence, hf_index, ett_gsm_map_ms_UMTS_SecurityContextData);
9239 
9240   return offset;
9241 }
9242 
9243 
9244 static const value_string gsm_map_ms_CurrentSecurityContext_vals[] = {
9245   {   0, "gsm-SecurityContextData" },
9246   {   1, "umts-SecurityContextData" },
9247   { 0, NULL }
9248 };
9249 
9250 static const ber_choice_t gsm_map_ms_CurrentSecurityContext_choice[] = {
9251   {   0, &hf_gsm_map_ms_gsm_SecurityContextData, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GSM_SecurityContextData },
9252   {   1, &hf_gsm_map_ms_umts_SecurityContextData, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UMTS_SecurityContextData },
9253   { 0, NULL, 0, 0, 0, NULL }
9254 };
9255 
9256 static int
9257 dissect_gsm_map_ms_CurrentSecurityContext(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9258   offset = dissect_ber_choice(actx, tree, tvb, offset,
9259                                  gsm_map_ms_CurrentSecurityContext_choice, hf_index, ett_gsm_map_ms_CurrentSecurityContext,
9260                                  NULL);
9261 
9262   return offset;
9263 }
9264 
9265 
9266 static const ber_sequence_t gsm_map_ms_SendIdentificationRes_U_sequence[] = {
9267   { &hf_gsm_map_ms_imsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
9268   { &hf_gsm_map_ms_authenticationSetList, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_AuthenticationSetList },
9269   { &hf_gsm_map_ms_currentSecurityContext, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_CurrentSecurityContext },
9270   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9271   { &hf_gsm_map_ms_lastUsedLtePLMN_Id, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PLMN_Id },
9272   { &hf_gsm_map_ms_mtCallPendingFlag, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9273   { NULL, 0, 0, 0, NULL }
9274 };
9275 
9276 static int
9277 dissect_gsm_map_ms_SendIdentificationRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9278   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9279                                    gsm_map_ms_SendIdentificationRes_U_sequence, hf_index, ett_gsm_map_ms_SendIdentificationRes_U);
9280 
9281   return offset;
9282 }
9283 
9284 
9285 
9286 static int
9287 dissect_gsm_map_ms_SendIdentificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9288   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9289                                       hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_SendIdentificationRes_U);
9290 
9291   return offset;
9292 }
9293 
9294 
9295 
9296 static int
9297 dissect_gsm_map_ms_AUTS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9298   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9299                                        NULL);
9300 
9301   return offset;
9302 }
9303 
9304 
9305 static const value_string gsm_map_ms_FailureCause_vals[] = {
9306   {   0, "wrongUserResponse" },
9307   {   1, "wrongNetworkSignature" },
9308   { 0, NULL }
9309 };
9310 
9311 
9312 static int
9313 dissect_gsm_map_ms_FailureCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9314   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9315                                   NULL);
9316 
9317   return offset;
9318 }
9319 
9320 
9321 
9322 static int
9323 dissect_gsm_map_ms_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9324   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
9325 
9326   return offset;
9327 }
9328 
9329 
9330 static const value_string gsm_map_ms_AccessType_vals[] = {
9331   {   0, "call" },
9332   {   1, "emergencyCall" },
9333   {   2, "locationUpdating" },
9334   {   3, "supplementaryService" },
9335   {   4, "shortMessage" },
9336   {   5, "gprsAttach" },
9337   {   6, "routingAreaUpdating" },
9338   {   7, "serviceRequest" },
9339   {   8, "pdpContextActivation" },
9340   {   9, "pdpContextDeactivation" },
9341   {  10, "gprsDetach" },
9342   { 0, NULL }
9343 };
9344 
9345 
9346 static int
9347 dissect_gsm_map_ms_AccessType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9348   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9349                                   NULL);
9350 
9351   return offset;
9352 }
9353 
9354 
9355 static const ber_sequence_t gsm_map_ms_AuthenticationFailureReportArg_sequence[] = {
9356   { &hf_gsm_map_ms_imsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
9357   { &hf_gsm_map_ms_failureCause, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_FailureCause },
9358   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
9359   { &hf_gsm_map_ms_re_attempt, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_BOOLEAN },
9360   { &hf_gsm_map_ms_accessType, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AccessType },
9361   { &hf_gsm_map_ms_rand     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAND },
9362   { &hf_gsm_map_ms_vlr_Number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
9363   { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
9364   { NULL, 0, 0, 0, NULL }
9365 };
9366 
9367 static int
9368 dissect_gsm_map_ms_AuthenticationFailureReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9369   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9370                                    gsm_map_ms_AuthenticationFailureReportArg_sequence, hf_index, ett_gsm_map_ms_AuthenticationFailureReportArg);
9371 
9372   return offset;
9373 }
9374 
9375 
9376 static const ber_sequence_t gsm_map_ms_AuthenticationFailureReportRes_sequence[] = {
9377   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
9378   { NULL, 0, 0, 0, NULL }
9379 };
9380 
9381 static int
9382 dissect_gsm_map_ms_AuthenticationFailureReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9383   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9384                                    gsm_map_ms_AuthenticationFailureReportRes_sequence, hf_index, ett_gsm_map_ms_AuthenticationFailureReportRes);
9385 
9386   return offset;
9387 }
9388 
9389 
9390 static int * const gsm_map_ms_SupportedFeatures_bits[] = {
9391   &hf_gsm_map_ms_SupportedFeatures_odb_all_apn,
9392   &hf_gsm_map_ms_SupportedFeatures_odb_HPLMN_APN,
9393   &hf_gsm_map_ms_SupportedFeatures_odb_VPLMN_APN,
9394   &hf_gsm_map_ms_SupportedFeatures_odb_all_og,
9395   &hf_gsm_map_ms_SupportedFeatures_odb_all_international_og,
9396   &hf_gsm_map_ms_SupportedFeatures_odb_all_int_og_not_to_HPLMN_country,
9397   &hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og,
9398   &hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og_not_to_HPLMN_country,
9399   &hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og_and_internat_og_not_to_HPLMN_country,
9400   &hf_gsm_map_ms_SupportedFeatures_regSub,
9401   &hf_gsm_map_ms_SupportedFeatures_trace,
9402   &hf_gsm_map_ms_SupportedFeatures_lcs_all_PrivExcep,
9403   &hf_gsm_map_ms_SupportedFeatures_lcs_universal,
9404   &hf_gsm_map_ms_SupportedFeatures_lcs_CallSessionRelated,
9405   &hf_gsm_map_ms_SupportedFeatures_lcs_CallSessionUnrelated,
9406   &hf_gsm_map_ms_SupportedFeatures_lcs_PLMN_operator,
9407   &hf_gsm_map_ms_SupportedFeatures_lcs_ServiceType,
9408   &hf_gsm_map_ms_SupportedFeatures_lcs_all_MOLR_SS,
9409   &hf_gsm_map_ms_SupportedFeatures_lcs_basicSelfLocation,
9410   &hf_gsm_map_ms_SupportedFeatures_lcs_autonomousSelfLocation,
9411   &hf_gsm_map_ms_SupportedFeatures_lcs_transferToThirdParty,
9412   &hf_gsm_map_ms_SupportedFeatures_sm_mo_pp,
9413   &hf_gsm_map_ms_SupportedFeatures_barring_OutgoingCalls,
9414   &hf_gsm_map_ms_SupportedFeatures_baoc,
9415   &hf_gsm_map_ms_SupportedFeatures_boic,
9416   &hf_gsm_map_ms_SupportedFeatures_boicExHC,
9417   &hf_gsm_map_ms_SupportedFeatures_localTimeZoneRetrieval,
9418   &hf_gsm_map_ms_SupportedFeatures_additionalMsisdn,
9419   &hf_gsm_map_ms_SupportedFeatures_smsInMME,
9420   &hf_gsm_map_ms_SupportedFeatures_smsInSGSN,
9421   &hf_gsm_map_ms_SupportedFeatures_ue_Reachability_Notification,
9422   &hf_gsm_map_ms_SupportedFeatures_state_Location_Information_Retrieval,
9423   &hf_gsm_map_ms_SupportedFeatures_partialPurge,
9424   &hf_gsm_map_ms_SupportedFeatures_gddInSGSN,
9425   &hf_gsm_map_ms_SupportedFeatures_sgsnCAMELCapability,
9426   &hf_gsm_map_ms_SupportedFeatures_pcscf_Restoration,
9427   &hf_gsm_map_ms_SupportedFeatures_dedicatedCoreNetworks,
9428   &hf_gsm_map_ms_SupportedFeatures_non_IP_PDN_Type_APNs,
9429   &hf_gsm_map_ms_SupportedFeatures_non_IP_PDP_Type_APNs,
9430   &hf_gsm_map_ms_SupportedFeatures_nrAsSecondaryRAT,
9431   NULL
9432 };
9433 
9434 static int
9435 dissect_gsm_map_ms_SupportedFeatures(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9436   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
9437                                     gsm_map_ms_SupportedFeatures_bits, 40, hf_index, ett_gsm_map_ms_SupportedFeatures,
9438                                     NULL);
9439 
9440   return offset;
9441 }
9442 
9443 
9444 static int * const gsm_map_ms_Ext_SupportedFeatures_bits[] = {
9445   &hf_gsm_map_ms_Ext_SupportedFeatures_unlicensedSpectrumAsSecondaryRAT,
9446   NULL
9447 };
9448 
9449 static int
9450 dissect_gsm_map_ms_Ext_SupportedFeatures(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9451   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
9452                                     gsm_map_ms_Ext_SupportedFeatures_bits, 1, hf_index, ett_gsm_map_ms_Ext_SupportedFeatures,
9453                                     NULL);
9454 
9455   return offset;
9456 }
9457 
9458 
9459 static const ber_sequence_t gsm_map_ms_SGSN_Capability_sequence[] = {
9460   { &hf_gsm_map_ms_solsaSupportIndicator, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
9461   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9462   { &hf_gsm_map_ms_superChargerSupportedInServingNetworkEntity, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_SuperChargerInfo },
9463   { &hf_gsm_map_ms_gprsEnhancementsSupportIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9464   { &hf_gsm_map_ms_supportedCamelPhases, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
9465   { &hf_gsm_map_ms_supportedLCS_CapabilitySets, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedLCS_CapabilitySets },
9466   { &hf_gsm_map_ms_offeredCamel4CSIs, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
9467   { &hf_gsm_map_ms_smsCallBarringSupportIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9468   { &hf_gsm_map_ms_supportedRAT_TypesIndicator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedRAT_Types },
9469   { &hf_gsm_map_ms_supportedFeatures, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedFeatures },
9470   { &hf_gsm_map_ms_t_adsDataRetrieval, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9471   { &hf_gsm_map_ms_homogeneousSupportOfIMSVoiceOverPSSessions, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BOOLEAN },
9472   { &hf_gsm_map_ms_cancellationTypeInitialAttach, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9473   { &hf_gsm_map_ms_msisdn_lessOperation_Supported, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9474   { &hf_gsm_map_ms_updateofHomogeneousSupportOfIMSVoiceOverPSSessions, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9475   { &hf_gsm_map_ms_reset_ids_Supported, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9476   { &hf_gsm_map_ms_ext_SupportedFeatures, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_SupportedFeatures },
9477   { NULL, 0, 0, 0, NULL }
9478 };
9479 
9480 static int
9481 dissect_gsm_map_ms_SGSN_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9482   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9483                                    gsm_map_ms_SGSN_Capability_sequence, hf_index, ett_gsm_map_ms_SGSN_Capability);
9484 
9485   return offset;
9486 }
9487 
9488 
9489 
9490 static int
9491 dissect_gsm_map_ms_APN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9492 #line 1084 "./asn1/gsm_map/gsm_map.cnf"
9493     tvbuff_t	*parameter_tvb;
9494     proto_tree	*subtree;
9495     const guint8		*apn_str = NULL;
9496 
9497   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9498                                        &parameter_tvb);
9499 
9500 	if (!parameter_tvb)
9501                 return offset;
9502 
9503 	subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_apn_str);
9504 	proto_tree_add_item_ret_string(subtree, hf_gsm_apn_str, parameter_tvb, 0, -1, ENC_APN_STR | ENC_NA, actx->pinfo->pool, &apn_str);
9505 	proto_item_append_text(actx->created_item, " - %s", apn_str);
9506 
9507 
9508 
9509 
9510   return offset;
9511 }
9512 
9513 
9514 
9515 static int
9516 dissect_gsm_map_ms_PDP_Address(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9517   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9518                                        NULL);
9519 
9520   return offset;
9521 }
9522 
9523 
9524 
9525 static int
9526 dissect_gsm_map_ms_FQDN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9527   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9528                                        NULL);
9529 
9530   return offset;
9531 }
9532 
9533 
9534 static const ber_sequence_t gsm_map_ms_PDN_GW_Identity_sequence[] = {
9535   { &hf_gsm_map_ms_pdn_gw_ipv4_Address, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
9536   { &hf_gsm_map_ms_pdn_gw_ipv6_Address, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
9537   { &hf_gsm_map_ms_pdn_gw_name, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_FQDN },
9538   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9539   { NULL, 0, 0, 0, NULL }
9540 };
9541 
9542 static int
9543 dissect_gsm_map_ms_PDN_GW_Identity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9544   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9545                                    gsm_map_ms_PDN_GW_Identity_sequence, hf_index, ett_gsm_map_ms_PDN_GW_Identity);
9546 
9547   return offset;
9548 }
9549 
9550 
9551 
9552 static int
9553 dissect_gsm_map_ms_ContextId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9554   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9555                                                 NULL);
9556 
9557   return offset;
9558 }
9559 
9560 
9561 static const ber_sequence_t gsm_map_ms_PDN_GW_Update_sequence[] = {
9562   { &hf_gsm_map_ms_apn      , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN },
9563   { &hf_gsm_map_ms_pdn_gw_Identity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDN_GW_Identity },
9564   { &hf_gsm_map_ms_contextId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ContextId },
9565   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9566   { NULL, 0, 0, 0, NULL }
9567 };
9568 
9569 static int
9570 dissect_gsm_map_ms_PDN_GW_Update(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9571   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9572                                    gsm_map_ms_PDN_GW_Update_sequence, hf_index, ett_gsm_map_ms_PDN_GW_Update);
9573 
9574   return offset;
9575 }
9576 
9577 
9578 static int * const gsm_map_ms_ISR_Information_bits[] = {
9579   &hf_gsm_map_ms_ISR_Information_updateLocation,
9580   &hf_gsm_map_ms_ISR_Information_cancelSGSN,
9581   &hf_gsm_map_ms_ISR_Information_initialAttachIndicator,
9582   NULL
9583 };
9584 
9585 static int
9586 dissect_gsm_map_ms_ISR_Information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9587   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
9588                                     gsm_map_ms_ISR_Information_bits, 3, hf_index, ett_gsm_map_ms_ISR_Information,
9589                                     NULL);
9590 
9591   return offset;
9592 }
9593 
9594 
9595 static const value_string gsm_map_ms_EPS_Info_vals[] = {
9596   {   0, "pdn-gw-update" },
9597   {   1, "isr-Information" },
9598   { 0, NULL }
9599 };
9600 
9601 static const ber_choice_t gsm_map_ms_EPS_Info_choice[] = {
9602   {   0, &hf_gsm_map_ms_pdn_gw_update, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDN_GW_Update },
9603   {   1, &hf_gsm_map_ms_isr_Information, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ISR_Information },
9604   { 0, NULL, 0, 0, 0, NULL }
9605 };
9606 
9607 static int
9608 dissect_gsm_map_ms_EPS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9609   offset = dissect_ber_choice(actx, tree, tvb, offset,
9610                                  gsm_map_ms_EPS_Info_choice, hf_index, ett_gsm_map_ms_EPS_Info,
9611                                  NULL);
9612 
9613   return offset;
9614 }
9615 
9616 
9617 static const value_string gsm_map_ms_Used_RAT_Type_vals[] = {
9618   {   0, "utran" },
9619   {   1, "geran" },
9620   {   2, "gan" },
9621   {   3, "i-hspa-evolution" },
9622   {   4, "e-utran" },
9623   {   5, "nb-iot" },
9624   { 0, NULL }
9625 };
9626 
9627 
9628 static int
9629 dissect_gsm_map_ms_Used_RAT_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9630   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9631                                   NULL);
9632 
9633   return offset;
9634 }
9635 
9636 
9637 static const value_string gsm_map_ms_UE_SRVCC_Capability_vals[] = {
9638   {   0, "ue-srvcc-not-supported" },
9639   {   1, "ue-srvcc-supported" },
9640   { 0, NULL }
9641 };
9642 
9643 
9644 static int
9645 dissect_gsm_map_ms_UE_SRVCC_Capability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9646   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9647                                   NULL);
9648 
9649   return offset;
9650 }
9651 
9652 
9653 static const value_string gsm_map_ms_SMSRegisterRequest_vals[] = {
9654   {   0, "sms-registration-required" },
9655   {   1, "sms-registration-not-preferred" },
9656   {   2, "no-preference" },
9657   { 0, NULL }
9658 };
9659 
9660 
9661 static int
9662 dissect_gsm_map_ms_SMSRegisterRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9663   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9664                                   NULL);
9665 
9666   return offset;
9667 }
9668 
9669 
9670 static const ber_sequence_t gsm_map_ms_AdjacentPLMN_List_sequence_of[1] = {
9671   { &hf_gsm_map_ms_AdjacentPLMN_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_PLMN_Id },
9672 };
9673 
9674 static int
9675 dissect_gsm_map_ms_AdjacentPLMN_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_) {
9676   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9677                                       gsm_map_ms_AdjacentPLMN_List_sequence_of, hf_index, ett_gsm_map_ms_AdjacentPLMN_List);
9678 
9679   return offset;
9680 }
9681 
9682 
9683 static const ber_sequence_t gsm_map_ms_UpdateGprsLocationArg_sequence[] = {
9684   { &hf_gsm_map_ms_imsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
9685   { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
9686   { &hf_gsm_map_ms_sgsn_Address, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_GSN_Address },
9687   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
9688   { &hf_gsm_map_ms_sgsn_Capability, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SGSN_Capability },
9689   { &hf_gsm_map_ms_informPreviousNetworkEntity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9690   { &hf_gsm_map_ms_ps_LCS_NotSupportedByUE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9691   { &hf_gsm_map_ms_v_gmlc_Address, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
9692   { &hf_gsm_map_ms_add_info , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ADD_Info },
9693   { &hf_gsm_map_ms_eps_info , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_EPS_Info },
9694   { &hf_gsm_map_ms_servingNodeTypeIndicator, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9695   { &hf_gsm_map_ms_skipSubscriberDataUpdate, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9696   { &hf_gsm_map_ms_usedRAT_Type, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Used_RAT_Type },
9697   { &hf_gsm_map_ms_gprsSubscriptionDataNotNeeded, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9698   { &hf_gsm_map_ms_nodeTypeIndicator, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9699   { &hf_gsm_map_ms_areaRestricted, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9700   { &hf_gsm_map_ms_ue_reachableIndicator, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9701   { &hf_gsm_map_ms_epsSubscriptionDataNotNeeded, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9702   { &hf_gsm_map_ms_ue_srvcc_Capability, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UE_SRVCC_Capability },
9703   { &hf_gsm_map_ms_eplmn_List, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EPLMN_List },
9704   { &hf_gsm_map_ms_mmeNumberforMTSMS, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
9705   { &hf_gsm_map_ms_smsRegisterRequest, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMSRegisterRequest },
9706   { &hf_gsm_map_ms_sms_Only , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9707   { &hf_gsm_map_ms_removalofMMERegistrationforSMS, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9708   { &hf_gsm_map_ms_sgsn_Name, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
9709   { &hf_gsm_map_ms_sgsn_Realm, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
9710   { &hf_gsm_map_ms_lgd_supportIndicator, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9711   { &hf_gsm_map_ms_adjacentPLMN_List, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdjacentPLMN_List },
9712   { NULL, 0, 0, 0, NULL }
9713 };
9714 
9715 static int
9716 dissect_gsm_map_ms_UpdateGprsLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9717   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9718                                    gsm_map_ms_UpdateGprsLocationArg_sequence, hf_index, ett_gsm_map_ms_UpdateGprsLocationArg);
9719 
9720   return offset;
9721 }
9722 
9723 
9724 static const ber_sequence_t gsm_map_ms_UpdateGprsLocationRes_sequence[] = {
9725   { &hf_gsm_map_ms_hlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
9726   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
9727   { &hf_gsm_map_ms_add_Capability, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
9728   { &hf_gsm_map_ms_sgsn_mmeSeparationSupported, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9729   { &hf_gsm_map_ms_mmeRegisteredforSMS, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
9730   { NULL, 0, 0, 0, NULL }
9731 };
9732 
9733 static int
9734 dissect_gsm_map_ms_UpdateGprsLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9735   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9736                                    gsm_map_ms_UpdateGprsLocationRes_sequence, hf_index, ett_gsm_map_ms_UpdateGprsLocationRes);
9737 
9738   return offset;
9739 }
9740 
9741 
9742 
9743 static int
9744 dissect_gsm_map_ms_IntegrityProtectionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9745 #line 863 "./asn1/gsm_map/gsm_map.cnf"
9746     tvbuff_t        *parameter_tvb;
9747 	asn1_ctx_t		asn1_ctx;
9748 
9749   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9750                                        &parameter_tvb);
9751 
9752 
9753 	if (!parameter_tvb)
9754                 return offset;
9755 
9756 	asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo);
9757 	dissect_ranap_IntegrityProtectionInformation(parameter_tvb, 0, &asn1_ctx, tree, hf_gsm_map_IntegrityProtectionInformation);
9758 
9759 
9760 
9761   return offset;
9762 }
9763 
9764 
9765 
9766 static int
9767 dissect_gsm_map_ms_EncryptionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9768 #line 875 "./asn1/gsm_map/gsm_map.cnf"
9769     tvbuff_t        *parameter_tvb;
9770 	asn1_ctx_t		asn1_ctx;
9771 
9772   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9773                                        &parameter_tvb);
9774 
9775 
9776 	if (!parameter_tvb)
9777                 return offset;
9778 
9779 	asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo);
9780 	dissect_ranap_EncryptionInformation(parameter_tvb, 0, &asn1_ctx, tree, hf_gsm_map_EncryptionInformation);
9781 
9782 
9783 
9784   return offset;
9785 }
9786 
9787 
9788 static const value_string gsm_map_ms_KeyStatus_vals[] = {
9789   {   0, "old" },
9790   {   1, "new" },
9791   { 0, NULL }
9792 };
9793 
9794 
9795 static int
9796 dissect_gsm_map_ms_KeyStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9797   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9798                                   NULL);
9799 
9800   return offset;
9801 }
9802 
9803 
9804 
9805 static int
9806 dissect_gsm_map_ms_AllowedGSM_Algorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9807   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9808                                        NULL);
9809 
9810   return offset;
9811 }
9812 
9813 
9814 
9815 static int
9816 dissect_gsm_map_ms_PermittedIntegrityProtectionAlgorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9817   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9818                                        NULL);
9819 
9820   return offset;
9821 }
9822 
9823 
9824 
9825 static int
9826 dissect_gsm_map_ms_PermittedEncryptionAlgorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9827   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9828                                        NULL);
9829 
9830   return offset;
9831 }
9832 
9833 
9834 static const ber_sequence_t gsm_map_ms_AllowedUMTS_Algorithms_sequence[] = {
9835   { &hf_gsm_map_ms_integrityProtectionAlgorithms, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PermittedIntegrityProtectionAlgorithms },
9836   { &hf_gsm_map_ms_encryptionAlgorithms, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PermittedEncryptionAlgorithms },
9837   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9838   { NULL, 0, 0, 0, NULL }
9839 };
9840 
9841 static int
9842 dissect_gsm_map_ms_AllowedUMTS_Algorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9843   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9844                                    gsm_map_ms_AllowedUMTS_Algorithms_sequence, hf_index, ett_gsm_map_ms_AllowedUMTS_Algorithms);
9845 
9846   return offset;
9847 }
9848 
9849 
9850 
9851 static int
9852 dissect_gsm_map_ms_RadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9853 #line 839 "./asn1/gsm_map/gsm_map.cnf"
9854     tvbuff_t        *parameter_tvb;
9855 	proto_tree *subtree;
9856 
9857   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9858                                        &parameter_tvb);
9859 
9860 
9861 	if (!parameter_tvb)
9862                 return offset;
9863 
9864     subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_RadioResourceInformation);
9865 	be_chan_type(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length_remaining(tvb,0), NULL, 0);
9866 
9867 
9868 
9869   return offset;
9870 }
9871 
9872 
9873 
9874 static int
9875 dissect_gsm_map_ms_RAB_Id(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9876   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9877                                                 NULL);
9878 
9879   return offset;
9880 }
9881 
9882 
9883 static const ber_sequence_t gsm_map_ms_RadioResource_sequence[] = {
9884   { &hf_gsm_map_ms_radioResourceInformation, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RadioResourceInformation },
9885   { &hf_gsm_map_ms_rab_Id   , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAB_Id },
9886   { NULL, 0, 0, 0, NULL }
9887 };
9888 
9889 static int
9890 dissect_gsm_map_ms_RadioResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9891   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9892                                    gsm_map_ms_RadioResource_sequence, hf_index, ett_gsm_map_ms_RadioResource);
9893 
9894   return offset;
9895 }
9896 
9897 
9898 static const ber_sequence_t gsm_map_ms_RadioResourceList_sequence_of[1] = {
9899   { &hf_gsm_map_ms_RadioResourceList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RadioResource },
9900 };
9901 
9902 static int
9903 dissect_gsm_map_ms_RadioResourceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9904   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9905                                       gsm_map_ms_RadioResourceList_sequence_of, hf_index, ett_gsm_map_ms_RadioResourceList);
9906 
9907   return offset;
9908 }
9909 
9910 
9911 
9912 static int
9913 dissect_gsm_map_ms_BSSMAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9914   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9915                                        NULL);
9916 
9917   return offset;
9918 }
9919 
9920 
9921 
9922 static int
9923 dissect_gsm_map_ms_RANAP_ServiceHandover(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9924 #line 851 "./asn1/gsm_map/gsm_map.cnf"
9925     tvbuff_t        *parameter_tvb;
9926 	asn1_ctx_t		asn1_ctx;
9927 
9928   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9929                                        &parameter_tvb);
9930 
9931 
9932 	if (!parameter_tvb)
9933                 return offset;
9934 
9935 	asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, actx->pinfo);
9936 	dissect_ranap_Service_Handover(parameter_tvb, 0, &asn1_ctx, tree, hf_gsm_map_ranap_service_Handover);
9937 
9938 
9939 
9940   return offset;
9941 }
9942 
9943 
9944 static const ber_sequence_t gsm_map_ms_BSSMAP_ServiceHandoverInfo_sequence[] = {
9945   { &hf_gsm_map_ms_bssmap_ServiceHandover, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandover },
9946   { &hf_gsm_map_ms_rab_Id   , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAB_Id },
9947   { NULL, 0, 0, 0, NULL }
9948 };
9949 
9950 static int
9951 dissect_gsm_map_ms_BSSMAP_ServiceHandoverInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9952   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9953                                    gsm_map_ms_BSSMAP_ServiceHandoverInfo_sequence, hf_index, ett_gsm_map_ms_BSSMAP_ServiceHandoverInfo);
9954 
9955   return offset;
9956 }
9957 
9958 
9959 static const ber_sequence_t gsm_map_ms_BSSMAP_ServiceHandoverList_sequence_of[1] = {
9960   { &hf_gsm_map_ms_BSSMAP_ServiceHandoverList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandoverInfo },
9961 };
9962 
9963 static int
9964 dissect_gsm_map_ms_BSSMAP_ServiceHandoverList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9965   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
9966                                       gsm_map_ms_BSSMAP_ServiceHandoverList_sequence_of, hf_index, ett_gsm_map_ms_BSSMAP_ServiceHandoverList);
9967 
9968   return offset;
9969 }
9970 
9971 
9972 
9973 static int
9974 dissect_gsm_map_ms_Codec(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9975   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9976                                        NULL);
9977 
9978   return offset;
9979 }
9980 
9981 
9982 static const ber_sequence_t gsm_map_ms_CodecList_sequence[] = {
9983   { &hf_gsm_map_ms_codec1_01, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
9984   { &hf_gsm_map_ms_codec2_01, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
9985   { &hf_gsm_map_ms_codec3_01, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
9986   { &hf_gsm_map_ms_codec4_01, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
9987   { &hf_gsm_map_ms_codec5_01, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
9988   { &hf_gsm_map_ms_codec6_01, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
9989   { &hf_gsm_map_ms_codec7_01, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
9990   { &hf_gsm_map_ms_codec8_01, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
9991   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
9992   { NULL, 0, 0, 0, NULL }
9993 };
9994 
9995 static int
9996 dissect_gsm_map_ms_CodecList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9997   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
9998                                    gsm_map_ms_CodecList_sequence, hf_index, ett_gsm_map_ms_CodecList);
9999 
10000   return offset;
10001 }
10002 
10003 
10004 static const ber_sequence_t gsm_map_ms_SupportedCodecsList_sequence[] = {
10005   { &hf_gsm_map_ms_utranCodecList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CodecList },
10006   { &hf_gsm_map_ms_geranCodecList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CodecList },
10007   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10008   { NULL, 0, 0, 0, NULL }
10009 };
10010 
10011 static int
10012 dissect_gsm_map_ms_SupportedCodecsList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10013   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10014                                    gsm_map_ms_SupportedCodecsList_sequence, hf_index, ett_gsm_map_ms_SupportedCodecsList);
10015 
10016   return offset;
10017 }
10018 
10019 
10020 
10021 static int
10022 dissect_gsm_map_ms_AoIPCodec(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10023   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10024                                        NULL);
10025 
10026   return offset;
10027 }
10028 
10029 
10030 static const ber_sequence_t gsm_map_ms_AoIPCodecsList_sequence[] = {
10031   { &hf_gsm_map_ms_codec1   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
10032   { &hf_gsm_map_ms_codec2   , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
10033   { &hf_gsm_map_ms_codec3   , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
10034   { &hf_gsm_map_ms_codec4   , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
10035   { &hf_gsm_map_ms_codec5   , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
10036   { &hf_gsm_map_ms_codec6   , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
10037   { &hf_gsm_map_ms_codec7   , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
10038   { &hf_gsm_map_ms_codec8   , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
10039   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10040   { NULL, 0, 0, 0, NULL }
10041 };
10042 
10043 static int
10044 dissect_gsm_map_ms_AoIPCodecsList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10045   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10046                                    gsm_map_ms_AoIPCodecsList_sequence, hf_index, ett_gsm_map_ms_AoIPCodecsList);
10047 
10048   return offset;
10049 }
10050 
10051 
10052 
10053 static int
10054 dissect_gsm_map_ms_UESBI_IuA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10055   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
10056                                     NULL, 0, hf_index, -1,
10057                                     NULL);
10058 
10059   return offset;
10060 }
10061 
10062 
10063 
10064 static int
10065 dissect_gsm_map_ms_UESBI_IuB(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10066   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
10067                                     NULL, 0, hf_index, -1,
10068                                     NULL);
10069 
10070   return offset;
10071 }
10072 
10073 
10074 static const ber_sequence_t gsm_map_ms_UESBI_Iu_sequence[] = {
10075   { &hf_gsm_map_ms_uesbi_IuA, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UESBI_IuA },
10076   { &hf_gsm_map_ms_uesbi_IuB, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UESBI_IuB },
10077   { NULL, 0, 0, 0, NULL }
10078 };
10079 
10080 static int
10081 dissect_gsm_map_ms_UESBI_Iu(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10082   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10083                                    gsm_map_ms_UESBI_Iu_sequence, hf_index, ett_gsm_map_ms_UESBI_Iu);
10084 
10085   return offset;
10086 }
10087 
10088 
10089 static const ber_sequence_t gsm_map_ms_ForwardAccessSignalling_Arg_U_sequence[] = {
10090   { &hf_gsm_map_ms_an_APDU  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkSignalInfo },
10091   { &hf_gsm_map_ms_integrityProtectionInfo, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IntegrityProtectionInformation },
10092   { &hf_gsm_map_ms_encryptionInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EncryptionInformation },
10093   { &hf_gsm_map_ms_keyStatus, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_KeyStatus },
10094   { &hf_gsm_map_ms_allowedGSM_Algorithms, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AllowedGSM_Algorithms },
10095   { &hf_gsm_map_ms_allowedUMTS_Algorithms, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AllowedUMTS_Algorithms },
10096   { &hf_gsm_map_ms_radioResourceInformation, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceInformation },
10097   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10098   { &hf_gsm_map_ms_radioResourceList, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceList },
10099   { &hf_gsm_map_ms_bssmap_ServiceHandover, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandover },
10100   { &hf_gsm_map_ms_ranap_ServiceHandover, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RANAP_ServiceHandover },
10101   { &hf_gsm_map_ms_bssmap_ServiceHandoverList, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandoverList },
10102   { &hf_gsm_map_ms_currentlyUsedCodec, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
10103   { &hf_gsm_map_ms_iuSupportedCodecsList, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCodecsList },
10104   { &hf_gsm_map_ms_rab_ConfigurationIndicator, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10105   { &hf_gsm_map_ms_iuSelectedCodec, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
10106   { &hf_gsm_map_ms_alternativeChannelType, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceInformation },
10107   { &hf_gsm_map_ms_tracePropagationList, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TracePropagationList },
10108   { &hf_gsm_map_ms_aoipSupportedCodecsListAnchor, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodecsList },
10109   { &hf_gsm_map_ms_aoipSelectedCodecTarget, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
10110   { &hf_gsm_map_ms_uesbi_Iu , BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UESBI_Iu },
10111   { &hf_gsm_map_ms_imeisv   , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
10112   { NULL, 0, 0, 0, NULL }
10113 };
10114 
10115 static int
10116 dissect_gsm_map_ms_ForwardAccessSignalling_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10117   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10118                                    gsm_map_ms_ForwardAccessSignalling_Arg_U_sequence, hf_index, ett_gsm_map_ms_ForwardAccessSignalling_Arg_U);
10119 
10120   return offset;
10121 }
10122 
10123 
10124 
10125 static int
10126 dissect_gsm_map_ms_ForwardAccessSignalling_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10127   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10128                                       hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_ForwardAccessSignalling_Arg_U);
10129 
10130   return offset;
10131 }
10132 
10133 
10134 
10135 static int
10136 dissect_gsm_map_ms_RNCId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10137   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10138                                        NULL);
10139 
10140   return offset;
10141 }
10142 
10143 
10144 
10145 static int
10146 dissect_gsm_map_ms_GERAN_Classmark(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10147   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10148                                        NULL);
10149 
10150   return offset;
10151 }
10152 
10153 
10154 
10155 static int
10156 dissect_gsm_map_ms_ZoneCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10157   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10158                                        NULL);
10159 
10160   return offset;
10161 }
10162 
10163 
10164 static const ber_sequence_t gsm_map_ms_ZoneCodeList_sequence_of[1] = {
10165   { &hf_gsm_map_ms_ZoneCodeList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ZoneCode },
10166 };
10167 
10168 static int
10169 dissect_gsm_map_ms_ZoneCodeList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10170   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10171                                       gsm_map_ms_ZoneCodeList_sequence_of, hf_index, ett_gsm_map_ms_ZoneCodeList);
10172 
10173   return offset;
10174 }
10175 
10176 
10177 
10178 static int
10179 dissect_gsm_map_ms_LCLS_GlobalCallReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10180   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10181                                        NULL);
10182 
10183   return offset;
10184 }
10185 
10186 
10187 static int * const gsm_map_ms_LCLS_Negotiation_bits[] = {
10188   &hf_gsm_map_ms_LCLS_Negotiation_permission_indicator_not_allowed_bit,
10189   &hf_gsm_map_ms_LCLS_Negotiation_permission_indicator_spare_bit,
10190   NULL
10191 };
10192 
10193 static int
10194 dissect_gsm_map_ms_LCLS_Negotiation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10195   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
10196                                     gsm_map_ms_LCLS_Negotiation_bits, 2, hf_index, ett_gsm_map_ms_LCLS_Negotiation,
10197                                     NULL);
10198 
10199   return offset;
10200 }
10201 
10202 
10203 static int * const gsm_map_ms_LCLS_ConfigurationPreference_bits[] = {
10204   &hf_gsm_map_ms_LCLS_ConfigurationPreference_forward_data_sending_indicator,
10205   &hf_gsm_map_ms_LCLS_ConfigurationPreference_backward_data_sending_indicator,
10206   &hf_gsm_map_ms_LCLS_ConfigurationPreference_forward_data_reception_indicator,
10207   &hf_gsm_map_ms_LCLS_ConfigurationPreference_backward_data_reception_indicator,
10208   NULL
10209 };
10210 
10211 static int
10212 dissect_gsm_map_ms_LCLS_ConfigurationPreference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10213   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
10214                                     gsm_map_ms_LCLS_ConfigurationPreference_bits, 4, hf_index, ett_gsm_map_ms_LCLS_ConfigurationPreference,
10215                                     NULL);
10216 
10217   return offset;
10218 }
10219 
10220 
10221 static const ber_sequence_t gsm_map_ms_LIPA_AllowedAPNList_sequence_of[1] = {
10222   { &hf_gsm_map_ms_LIPA_AllowedAPNList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_APN },
10223 };
10224 
10225 static int
10226 dissect_gsm_map_ms_LIPA_AllowedAPNList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10227   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10228                                       gsm_map_ms_LIPA_AllowedAPNList_sequence_of, hf_index, ett_gsm_map_ms_LIPA_AllowedAPNList);
10229 
10230   return offset;
10231 }
10232 
10233 
10234 static const ber_sequence_t gsm_map_ms_CSG_SubscriptionData_sequence[] = {
10235   { &hf_gsm_map_ms_csg_Id   , BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CSG_Id },
10236   { &hf_gsm_map_ms_expirationDate, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_Time },
10237   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
10238   { &hf_gsm_map_ms_lipa_AllowedAPNList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LIPA_AllowedAPNList },
10239   { &hf_gsm_map_ms_plmn_Id  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PLMN_Id },
10240   { NULL, 0, 0, 0, NULL }
10241 };
10242 
10243 static int
10244 dissect_gsm_map_ms_CSG_SubscriptionData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10245   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10246                                    gsm_map_ms_CSG_SubscriptionData_sequence, hf_index, ett_gsm_map_ms_CSG_SubscriptionData);
10247 
10248   return offset;
10249 }
10250 
10251 
10252 static const ber_sequence_t gsm_map_ms_CSG_SubscriptionDataList_sequence_of[1] = {
10253   { &hf_gsm_map_ms_CSG_SubscriptionDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CSG_SubscriptionData },
10254 };
10255 
10256 static int
10257 dissect_gsm_map_ms_CSG_SubscriptionDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10258   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10259                                       gsm_map_ms_CSG_SubscriptionDataList_sequence_of, hf_index, ett_gsm_map_ms_CSG_SubscriptionDataList);
10260 
10261   return offset;
10262 }
10263 
10264 
10265 static const ber_sequence_t gsm_map_ms_PrepareHO_Arg_U_sequence[] = {
10266   { &hf_gsm_map_ms_targetCellId, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GlobalCellId },
10267   { &hf_gsm_map_ms_ho_NumberNotRequired, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
10268   { &hf_gsm_map_ms_targetRNCId, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RNCId },
10269   { &hf_gsm_map_ms_an_APDU  , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo },
10270   { &hf_gsm_map_ms_multipleBearerRequested, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10271   { &hf_gsm_map_ms_imsi     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
10272   { &hf_gsm_map_ms_integrityProtectionInfo, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IntegrityProtectionInformation },
10273   { &hf_gsm_map_ms_encryptionInfo, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EncryptionInformation },
10274   { &hf_gsm_map_ms_radioResourceInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceInformation },
10275   { &hf_gsm_map_ms_allowedGSM_Algorithms, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AllowedGSM_Algorithms },
10276   { &hf_gsm_map_ms_allowedUMTS_Algorithms, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AllowedUMTS_Algorithms },
10277   { &hf_gsm_map_ms_radioResourceList, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceList },
10278   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10279   { &hf_gsm_map_ms_rab_Id   , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RAB_Id },
10280   { &hf_gsm_map_ms_bssmap_ServiceHandover, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandover },
10281   { &hf_gsm_map_ms_ranap_ServiceHandover, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RANAP_ServiceHandover },
10282   { &hf_gsm_map_ms_bssmap_ServiceHandoverList, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BSSMAP_ServiceHandoverList },
10283   { &hf_gsm_map_ms_asciCallReference, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ASCI_CallReference },
10284   { &hf_gsm_map_ms_geran_classmark, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GERAN_Classmark },
10285   { &hf_gsm_map_ms_iuCurrentlyUsedCodec, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
10286   { &hf_gsm_map_ms_iuSupportedCodecsList, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCodecsList },
10287   { &hf_gsm_map_ms_rab_ConfigurationIndicator, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10288   { &hf_gsm_map_ms_uesbi_Iu , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UESBI_Iu },
10289   { &hf_gsm_map_ms_imeisv   , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
10290   { &hf_gsm_map_ms_alternativeChannelType, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RadioResourceInformation },
10291   { &hf_gsm_map_ms_tracePropagationList, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TracePropagationList },
10292   { &hf_gsm_map_ms_aoipSupportedCodecsListAnchor, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodecsList },
10293   { &hf_gsm_map_ms_regionalSubscriptionData, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ZoneCodeList },
10294   { &hf_gsm_map_ms_lclsGlobalCallReference, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCLS_GlobalCallReference },
10295   { &hf_gsm_map_ms_lcls_Negotiation, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCLS_Negotiation },
10296   { &hf_gsm_map_ms_lcls_Configuration_Preference, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCLS_ConfigurationPreference },
10297   { &hf_gsm_map_ms_csg_SubscriptionDataList, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CSG_SubscriptionDataList },
10298   { NULL, 0, 0, 0, NULL }
10299 };
10300 
10301 static int
10302 dissect_gsm_map_ms_PrepareHO_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10303   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10304                                    gsm_map_ms_PrepareHO_Arg_U_sequence, hf_index, ett_gsm_map_ms_PrepareHO_Arg_U);
10305 
10306   return offset;
10307 }
10308 
10309 
10310 
10311 static int
10312 dissect_gsm_map_ms_PrepareHO_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10313   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10314                                       hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PrepareHO_Arg_U);
10315 
10316   return offset;
10317 }
10318 
10319 
10320 static const ber_sequence_t gsm_map_ms_RelocationNumber_sequence[] = {
10321   { &hf_gsm_map_ms_handoverNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
10322   { &hf_gsm_map_ms_rab_Id   , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAB_Id },
10323   { NULL, 0, 0, 0, NULL }
10324 };
10325 
10326 static int
10327 dissect_gsm_map_ms_RelocationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10328   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10329                                    gsm_map_ms_RelocationNumber_sequence, hf_index, ett_gsm_map_ms_RelocationNumber);
10330 
10331   return offset;
10332 }
10333 
10334 
10335 static const ber_sequence_t gsm_map_ms_RelocationNumberList_sequence_of[1] = {
10336   { &hf_gsm_map_ms_RelocationNumberList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RelocationNumber },
10337 };
10338 
10339 static int
10340 dissect_gsm_map_ms_RelocationNumberList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10341   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10342                                       gsm_map_ms_RelocationNumberList_sequence_of, hf_index, ett_gsm_map_ms_RelocationNumberList);
10343 
10344   return offset;
10345 }
10346 
10347 
10348 
10349 static int
10350 dissect_gsm_map_ms_MulticallBearerInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10351   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10352                                                 NULL);
10353 
10354   return offset;
10355 }
10356 
10357 
10358 
10359 static int
10360 dissect_gsm_map_ms_ChosenIntegrityProtectionAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10361   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10362                                        NULL);
10363 
10364   return offset;
10365 }
10366 
10367 
10368 
10369 static int
10370 dissect_gsm_map_ms_ChosenEncryptionAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10371   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10372                                        NULL);
10373 
10374   return offset;
10375 }
10376 
10377 
10378 static const ber_sequence_t gsm_map_ms_SelectedUMTS_Algorithms_sequence[] = {
10379   { &hf_gsm_map_ms_integrityProtectionAlgorithm, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenIntegrityProtectionAlgorithm },
10380   { &hf_gsm_map_ms_encryptionAlgorithm, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenEncryptionAlgorithm },
10381   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10382   { NULL, 0, 0, 0, NULL }
10383 };
10384 
10385 static int
10386 dissect_gsm_map_ms_SelectedUMTS_Algorithms(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10387   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10388                                    gsm_map_ms_SelectedUMTS_Algorithms_sequence, hf_index, ett_gsm_map_ms_SelectedUMTS_Algorithms);
10389 
10390   return offset;
10391 }
10392 
10393 
10394 
10395 static int
10396 dissect_gsm_map_ms_ChosenChannelInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10397   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10398                                        NULL);
10399 
10400   return offset;
10401 }
10402 
10403 
10404 
10405 static int
10406 dissect_gsm_map_ms_ChosenSpeechVersion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10407   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10408                                        NULL);
10409 
10410   return offset;
10411 }
10412 
10413 
10414 static const ber_sequence_t gsm_map_ms_ChosenRadioResourceInformation_sequence[] = {
10415   { &hf_gsm_map_ms_chosenChannelInfo, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenChannelInfo },
10416   { &hf_gsm_map_ms_chosenSpeechVersion, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenSpeechVersion },
10417   { NULL, 0, 0, 0, NULL }
10418 };
10419 
10420 static int
10421 dissect_gsm_map_ms_ChosenRadioResourceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10422   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10423                                    gsm_map_ms_ChosenRadioResourceInformation_sequence, hf_index, ett_gsm_map_ms_ChosenRadioResourceInformation);
10424 
10425   return offset;
10426 }
10427 
10428 
10429 static const ber_sequence_t gsm_map_ms_PrepareHO_Res_U_sequence[] = {
10430   { &hf_gsm_map_ms_handoverNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
10431   { &hf_gsm_map_ms_relocationNumberList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RelocationNumberList },
10432   { &hf_gsm_map_ms_an_APDU  , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo },
10433   { &hf_gsm_map_ms_multicallBearerInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MulticallBearerInfo },
10434   { &hf_gsm_map_ms_multipleBearerNotSupported, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
10435   { &hf_gsm_map_ms_selectedUMTS_Algorithms, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SelectedUMTS_Algorithms },
10436   { &hf_gsm_map_ms_chosenRadioResourceInformation, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenRadioResourceInformation },
10437   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10438   { &hf_gsm_map_ms_iuSelectedCodec, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
10439   { &hf_gsm_map_ms_iuAvailableCodecsList, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CodecList },
10440   { &hf_gsm_map_ms_aoipSelectedCodecTarget, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
10441   { &hf_gsm_map_ms_aoipAvailableCodecsListMap, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodecsList },
10442   { NULL, 0, 0, 0, NULL }
10443 };
10444 
10445 static int
10446 dissect_gsm_map_ms_PrepareHO_Res_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10447   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10448                                    gsm_map_ms_PrepareHO_Res_U_sequence, hf_index, ett_gsm_map_ms_PrepareHO_Res_U);
10449 
10450   return offset;
10451 }
10452 
10453 
10454 
10455 static int
10456 dissect_gsm_map_ms_PrepareHO_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10457   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10458                                       hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PrepareHO_Res_U);
10459 
10460   return offset;
10461 }
10462 
10463 
10464 static const ber_sequence_t gsm_map_ms_PrepareSubsequentHO_Arg_U_sequence[] = {
10465   { &hf_gsm_map_ms_targetCellId, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GlobalCellId },
10466   { &hf_gsm_map_ms_targetMSC_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
10467   { &hf_gsm_map_ms_targetRNCId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RNCId },
10468   { &hf_gsm_map_ms_an_APDU  , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo },
10469   { &hf_gsm_map_ms_selectedRab_Id, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RAB_Id },
10470   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10471   { &hf_gsm_map_ms_geran_classmark, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GERAN_Classmark },
10472   { &hf_gsm_map_ms_rab_ConfigurationIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10473   { NULL, 0, 0, 0, NULL }
10474 };
10475 
10476 static int
10477 dissect_gsm_map_ms_PrepareSubsequentHO_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10478   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10479                                    gsm_map_ms_PrepareSubsequentHO_Arg_U_sequence, hf_index, ett_gsm_map_ms_PrepareSubsequentHO_Arg_U);
10480 
10481   return offset;
10482 }
10483 
10484 
10485 
10486 static int
10487 dissect_gsm_map_ms_PrepareSubsequentHO_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10488   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10489                                       hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PrepareSubsequentHO_Arg_U);
10490 
10491   return offset;
10492 }
10493 
10494 
10495 static const ber_sequence_t gsm_map_ms_PrepareSubsequentHO_Res_U_sequence[] = {
10496   { &hf_gsm_map_ms_an_APDU  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkSignalInfo },
10497   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10498   { NULL, 0, 0, 0, NULL }
10499 };
10500 
10501 static int
10502 dissect_gsm_map_ms_PrepareSubsequentHO_Res_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10503   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10504                                    gsm_map_ms_PrepareSubsequentHO_Res_U_sequence, hf_index, ett_gsm_map_ms_PrepareSubsequentHO_Res_U);
10505 
10506   return offset;
10507 }
10508 
10509 
10510 
10511 static int
10512 dissect_gsm_map_ms_PrepareSubsequentHO_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10513   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10514                                       hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_PrepareSubsequentHO_Res_U);
10515 
10516   return offset;
10517 }
10518 
10519 
10520 
10521 static int
10522 dissect_gsm_map_ms_SelectedGSM_Algorithm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10523   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10524                                        NULL);
10525 
10526   return offset;
10527 }
10528 
10529 
10530 static const ber_sequence_t gsm_map_ms_ProcessAccessSignalling_Arg_U_sequence[] = {
10531   { &hf_gsm_map_ms_an_APDU  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkSignalInfo },
10532   { &hf_gsm_map_ms_selectedUMTS_Algorithms, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SelectedUMTS_Algorithms },
10533   { &hf_gsm_map_ms_selectedGSM_Algorithm, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SelectedGSM_Algorithm },
10534   { &hf_gsm_map_ms_chosenRadioResourceInformation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChosenRadioResourceInformation },
10535   { &hf_gsm_map_ms_selectedRab_Id, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RAB_Id },
10536   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10537   { &hf_gsm_map_ms_iUSelectedCodec, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Codec },
10538   { &hf_gsm_map_ms_iuAvailableCodecsList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CodecList },
10539   { &hf_gsm_map_ms_aoipSelectedCodecTarget, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodec },
10540   { &hf_gsm_map_ms_aoipAvailableCodecsListMap, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AoIPCodecsList },
10541   { NULL, 0, 0, 0, NULL }
10542 };
10543 
10544 static int
10545 dissect_gsm_map_ms_ProcessAccessSignalling_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10546   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10547                                    gsm_map_ms_ProcessAccessSignalling_Arg_U_sequence, hf_index, ett_gsm_map_ms_ProcessAccessSignalling_Arg_U);
10548 
10549   return offset;
10550 }
10551 
10552 
10553 
10554 static int
10555 dissect_gsm_map_ms_ProcessAccessSignalling_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10556   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10557                                       hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_ProcessAccessSignalling_Arg_U);
10558 
10559   return offset;
10560 }
10561 
10562 
10563 static const ber_sequence_t gsm_map_ms_SendEndSignal_Arg_U_sequence[] = {
10564   { &hf_gsm_map_ms_an_APDU  , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_AccessNetworkSignalInfo },
10565   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10566   { NULL, 0, 0, 0, NULL }
10567 };
10568 
10569 static int
10570 dissect_gsm_map_ms_SendEndSignal_Arg_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10571   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10572                                    gsm_map_ms_SendEndSignal_Arg_U_sequence, hf_index, ett_gsm_map_ms_SendEndSignal_Arg_U);
10573 
10574   return offset;
10575 }
10576 
10577 
10578 
10579 static int
10580 dissect_gsm_map_ms_SendEndSignal_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10581   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10582                                       hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_SendEndSignal_Arg_U);
10583 
10584   return offset;
10585 }
10586 
10587 
10588 static const ber_sequence_t gsm_map_ms_SendEndSignal_Res_sequence[] = {
10589   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10590   { NULL, 0, 0, 0, NULL }
10591 };
10592 
10593 static int
10594 dissect_gsm_map_ms_SendEndSignal_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10595   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10596                                    gsm_map_ms_SendEndSignal_Res_sequence, hf_index, ett_gsm_map_ms_SendEndSignal_Res);
10597 
10598   return offset;
10599 }
10600 
10601 
10602 static const ber_sequence_t gsm_map_ms_Re_synchronisationInfo_sequence[] = {
10603   { &hf_gsm_map_ms_rand     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAND },
10604   { &hf_gsm_map_ms_auts     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AUTS },
10605   { NULL, 0, 0, 0, NULL }
10606 };
10607 
10608 static int
10609 dissect_gsm_map_ms_Re_synchronisationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10610   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10611                                    gsm_map_ms_Re_synchronisationInfo_sequence, hf_index, ett_gsm_map_ms_Re_synchronisationInfo);
10612 
10613   return offset;
10614 }
10615 
10616 
10617 static const value_string gsm_map_ms_RequestingNodeType_vals[] = {
10618   {   0, "vlr" },
10619   {   1, "sgsn" },
10620   {   2, "s-cscf" },
10621   {   3, "bsf" },
10622   {   4, "gan-aaa-server" },
10623   {   5, "wlan-aaa-server" },
10624   {  16, "mme" },
10625   {  17, "mme-sgsn" },
10626   { 0, NULL }
10627 };
10628 
10629 
10630 static int
10631 dissect_gsm_map_ms_RequestingNodeType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10632   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10633                                   NULL);
10634 
10635   return offset;
10636 }
10637 
10638 
10639 static const ber_sequence_t gsm_map_ms_SendAuthenticationInfoArg_sequence[] = {
10640   { &hf_gsm_map_ms_imsi     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
10641   { &hf_gsm_map_ms_numberOfRequestedVectors, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NumberOfRequestedVectors },
10642   { &hf_gsm_map_ms_segmentationProhibited, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
10643   { &hf_gsm_map_ms_immediateResponsePreferred, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10644   { &hf_gsm_map_ms_re_synchronisationInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Re_synchronisationInfo },
10645   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10646   { &hf_gsm_map_ms_requestingNodeType, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestingNodeType },
10647   { &hf_gsm_map_ms_requestingPLMN_Id, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PLMN_Id },
10648   { &hf_gsm_map_ms_numberOfRequestedAdditional_Vectors, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NumberOfRequestedVectors },
10649   { &hf_gsm_map_ms_additionalVectorsAreForEPS, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10650   { &hf_gsm_map_ms_ueUsageTypeRequestIndication, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
10651   { NULL, 0, 0, 0, NULL }
10652 };
10653 
10654 static int
10655 dissect_gsm_map_ms_SendAuthenticationInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10656   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10657                                    gsm_map_ms_SendAuthenticationInfoArg_sequence, hf_index, ett_gsm_map_ms_SendAuthenticationInfoArg);
10658 
10659   return offset;
10660 }
10661 
10662 
10663 
10664 static int
10665 dissect_gsm_map_ms_KASME(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10666   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10667                                        NULL);
10668 
10669   return offset;
10670 }
10671 
10672 
10673 static const ber_sequence_t gsm_map_ms_EPC_AV_sequence[] = {
10674   { &hf_gsm_map_ms_rand     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RAND },
10675   { &hf_gsm_map_ms_xres     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_XRES },
10676   { &hf_gsm_map_ms_autn     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AUTN },
10677   { &hf_gsm_map_ms_kasme    , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_KASME },
10678   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
10679   { NULL, 0, 0, 0, NULL }
10680 };
10681 
10682 static int
10683 dissect_gsm_map_ms_EPC_AV(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10684   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10685                                    gsm_map_ms_EPC_AV_sequence, hf_index, ett_gsm_map_ms_EPC_AV);
10686 
10687   return offset;
10688 }
10689 
10690 
10691 static const ber_sequence_t gsm_map_ms_EPS_AuthenticationSetList_sequence_of[1] = {
10692   { &hf_gsm_map_ms_EPS_AuthenticationSetList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_EPC_AV },
10693 };
10694 
10695 static int
10696 dissect_gsm_map_ms_EPS_AuthenticationSetList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10697   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10698                                       gsm_map_ms_EPS_AuthenticationSetList_sequence_of, hf_index, ett_gsm_map_ms_EPS_AuthenticationSetList);
10699 
10700   return offset;
10701 }
10702 
10703 
10704 
10705 static int
10706 dissect_gsm_map_ms_UE_UsageType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10707   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10708                                        NULL);
10709 
10710   return offset;
10711 }
10712 
10713 
10714 static const ber_sequence_t gsm_map_ms_SendAuthenticationInfoRes_U_sequence[] = {
10715   { &hf_gsm_map_ms_authenticationSetList, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_AuthenticationSetList },
10716   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
10717   { &hf_gsm_map_ms_eps_AuthenticationSetList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EPS_AuthenticationSetList },
10718   { &hf_gsm_map_ms_ueUsageType, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UE_UsageType },
10719   { NULL, 0, 0, 0, NULL }
10720 };
10721 
10722 static int
10723 dissect_gsm_map_ms_SendAuthenticationInfoRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10724   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10725                                    gsm_map_ms_SendAuthenticationInfoRes_U_sequence, hf_index, ett_gsm_map_ms_SendAuthenticationInfoRes_U);
10726 
10727   return offset;
10728 }
10729 
10730 
10731 
10732 static int
10733 dissect_gsm_map_ms_SendAuthenticationInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10734   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10735                                       hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ms_SendAuthenticationInfoRes_U);
10736 
10737   return offset;
10738 }
10739 
10740 
10741 static int * const gsm_map_ms_RequestedEquipmentInfo_bits[] = {
10742   &hf_gsm_map_ms_RequestedEquipmentInfo_equipmentStatus,
10743   &hf_gsm_map_ms_RequestedEquipmentInfo_bmuef,
10744   NULL
10745 };
10746 
10747 static int
10748 dissect_gsm_map_ms_RequestedEquipmentInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10749   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
10750                                     gsm_map_ms_RequestedEquipmentInfo_bits, 2, hf_index, ett_gsm_map_ms_RequestedEquipmentInfo,
10751                                     NULL);
10752 
10753   return offset;
10754 }
10755 
10756 
10757 static const ber_sequence_t gsm_map_ms_CheckIMEI_Arg_sequence[] = {
10758   { &hf_gsm_map_ms_imei     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMEI },
10759   { &hf_gsm_map_ms_requestedEquipmentInfo, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RequestedEquipmentInfo },
10760   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
10761   { NULL, 0, 0, 0, NULL }
10762 };
10763 
10764 static int
10765 dissect_gsm_map_ms_CheckIMEI_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10766   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10767                                    gsm_map_ms_CheckIMEI_Arg_sequence, hf_index, ett_gsm_map_ms_CheckIMEI_Arg);
10768 
10769   return offset;
10770 }
10771 
10772 
10773 static const value_string gsm_map_ms_EquipmentStatus_vals[] = {
10774   {   0, "permittedListed" },
10775   {   1, "prohibitedListed" },
10776   {   2, "trackingListed" },
10777   { 0, NULL }
10778 };
10779 
10780 
10781 static int
10782 dissect_gsm_map_ms_EquipmentStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10783   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10784                                   NULL);
10785 
10786   return offset;
10787 }
10788 
10789 
10790 static const ber_sequence_t gsm_map_ms_CheckIMEI_Res_sequence[] = {
10791   { &hf_gsm_map_ms_equipmentStatus, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_EquipmentStatus },
10792   { &hf_gsm_map_ms_bmuef    , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_UESBI_Iu },
10793   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10794   { NULL, 0, 0, 0, NULL }
10795 };
10796 
10797 static int
10798 dissect_gsm_map_ms_CheckIMEI_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10799   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10800                                    gsm_map_ms_CheckIMEI_Res_sequence, hf_index, ett_gsm_map_ms_CheckIMEI_Res);
10801 
10802   return offset;
10803 }
10804 
10805 
10806 
10807 static int
10808 dissect_gsm_map_ms_Category(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10809   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10810                                        NULL);
10811 
10812   return offset;
10813 }
10814 
10815 
10816 static const value_string gsm_map_ms_SubscriberStatus_vals[] = {
10817   {   0, "serviceGranted" },
10818   {   1, "operatorDeterminedBarring" },
10819   { 0, NULL }
10820 };
10821 
10822 
10823 static int
10824 dissect_gsm_map_ms_SubscriberStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10825   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10826                                   NULL);
10827 
10828   return offset;
10829 }
10830 
10831 
10832 static const ber_sequence_t gsm_map_ms_BearerServiceList_sequence_of[1] = {
10833   { &hf_gsm_map_ms_BearerServiceList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BearerServiceCode },
10834 };
10835 
10836 static int
10837 dissect_gsm_map_ms_BearerServiceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10838   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10839                                       gsm_map_ms_BearerServiceList_sequence_of, hf_index, ett_gsm_map_ms_BearerServiceList);
10840 
10841   return offset;
10842 }
10843 
10844 
10845 static const ber_sequence_t gsm_map_ms_TeleserviceList_sequence_of[1] = {
10846   { &hf_gsm_map_ms_TeleserviceList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_TeleserviceCode },
10847 };
10848 
10849 static int
10850 dissect_gsm_map_ms_TeleserviceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10851   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10852                                       gsm_map_ms_TeleserviceList_sequence_of, hf_index, ett_gsm_map_ms_TeleserviceList);
10853 
10854   return offset;
10855 }
10856 
10857 
10858 
10859 int
10860 dissect_gsm_map_ms_Ext_ForwOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10861   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10862                                        NULL);
10863 
10864   return offset;
10865 }
10866 
10867 
10868 
10869 static int
10870 dissect_gsm_map_ms_T_forwardingOptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10871   offset = dissect_gsm_map_ms_Ext_ForwOptions(implicit_tag, tvb, offset, actx, tree, hf_index);
10872 
10873 #line 710 "./asn1/gsm_map/gsm_map.cnf"
10874 
10875 	proto_tree_add_item(tree, hf_gsm_map_notification_to_forwarding_party, tvb, 0,1,ENC_BIG_ENDIAN);
10876 	proto_tree_add_item(tree, hf_gsm_map_redirecting_presentation, tvb, 0,1,ENC_BIG_ENDIAN);
10877 	proto_tree_add_item(tree, hf_gsm_map_notification_to_calling_party, tvb, 0,1,ENC_BIG_ENDIAN);
10878 	proto_tree_add_item(tree, hf_gsm_map_forwarding_reason, tvb, 0,1,ENC_BIG_ENDIAN);
10879 
10880 
10881 
10882   return offset;
10883 }
10884 
10885 
10886 
10887 int
10888 dissect_gsm_map_ms_Ext_NoRepCondTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10889   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10890                                                 NULL);
10891 
10892   return offset;
10893 }
10894 
10895 
10896 static const ber_sequence_t gsm_map_ms_Ext_ForwFeature_sequence[] = {
10897   { &hf_gsm_map_ms_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode },
10898   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
10899   { &hf_gsm_map_ms_forwardedToNumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
10900   { &hf_gsm_map_ms_forwardedToSubaddress, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
10901   { &hf_gsm_map_ms_forwardingOptions, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_forwardingOptions },
10902   { &hf_gsm_map_ms_noReplyConditionTime, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_NoRepCondTime },
10903   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10904   { &hf_gsm_map_ms_longForwardedToNumber, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_FTN_AddressString },
10905   { NULL, 0, 0, 0, NULL }
10906 };
10907 
10908 static int
10909 dissect_gsm_map_ms_Ext_ForwFeature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10910   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10911                                    gsm_map_ms_Ext_ForwFeature_sequence, hf_index, ett_gsm_map_ms_Ext_ForwFeature);
10912 
10913   return offset;
10914 }
10915 
10916 
10917 static const ber_sequence_t gsm_map_ms_Ext_ForwFeatureList_sequence_of[1] = {
10918   { &hf_gsm_map_ms_Ext_ForwFeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_ForwFeature },
10919 };
10920 
10921 static int
10922 dissect_gsm_map_ms_Ext_ForwFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10923   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10924                                       gsm_map_ms_Ext_ForwFeatureList_sequence_of, hf_index, ett_gsm_map_ms_Ext_ForwFeatureList);
10925 
10926   return offset;
10927 }
10928 
10929 
10930 static const ber_sequence_t gsm_map_ms_Ext_ForwInfo_sequence[] = {
10931   { &hf_gsm_map_ms_ss_Code  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
10932   { &hf_gsm_map_ms_forwardingFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_ForwFeatureList },
10933   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
10934   { NULL, 0, 0, 0, NULL }
10935 };
10936 
10937 static int
10938 dissect_gsm_map_ms_Ext_ForwInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10939   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10940                                    gsm_map_ms_Ext_ForwInfo_sequence, hf_index, ett_gsm_map_ms_Ext_ForwInfo);
10941 
10942   return offset;
10943 }
10944 
10945 
10946 static const ber_sequence_t gsm_map_ms_Ext_CallBarringFeature_sequence[] = {
10947   { &hf_gsm_map_ms_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode },
10948   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
10949   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
10950   { NULL, 0, 0, 0, NULL }
10951 };
10952 
10953 static int
10954 dissect_gsm_map_ms_Ext_CallBarringFeature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10955   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10956                                    gsm_map_ms_Ext_CallBarringFeature_sequence, hf_index, ett_gsm_map_ms_Ext_CallBarringFeature);
10957 
10958   return offset;
10959 }
10960 
10961 
10962 static const ber_sequence_t gsm_map_ms_Ext_CallBarFeatureList_sequence_of[1] = {
10963   { &hf_gsm_map_ms_Ext_CallBarFeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_CallBarringFeature },
10964 };
10965 
10966 static int
10967 dissect_gsm_map_ms_Ext_CallBarFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10968   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
10969                                       gsm_map_ms_Ext_CallBarFeatureList_sequence_of, hf_index, ett_gsm_map_ms_Ext_CallBarFeatureList);
10970 
10971   return offset;
10972 }
10973 
10974 
10975 static const ber_sequence_t gsm_map_ms_Ext_CallBarInfo_sequence[] = {
10976   { &hf_gsm_map_ms_ss_Code  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
10977   { &hf_gsm_map_ms_callBarringFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_CallBarFeatureList },
10978   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
10979   { NULL, 0, 0, 0, NULL }
10980 };
10981 
10982 static int
10983 dissect_gsm_map_ms_Ext_CallBarInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10984   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
10985                                    gsm_map_ms_Ext_CallBarInfo_sequence, hf_index, ett_gsm_map_ms_Ext_CallBarInfo);
10986 
10987   return offset;
10988 }
10989 
10990 
10991 
10992 int
10993 dissect_gsm_map_ms_CUG_Index(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10994   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10995                                                 NULL);
10996 
10997   return offset;
10998 }
10999 
11000 
11001 
11002 int
11003 dissect_gsm_map_ms_CUG_Interlock(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11004   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11005                                        NULL);
11006 
11007   return offset;
11008 }
11009 
11010 
11011 static const value_string gsm_map_ms_IntraCUG_Options_vals[] = {
11012   {   0, "noCUG-Restrictions" },
11013   {   1, "cugIC-CallBarred" },
11014   {   2, "cugOG-CallBarred" },
11015   { 0, NULL }
11016 };
11017 
11018 
11019 static int
11020 dissect_gsm_map_ms_IntraCUG_Options(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11021   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11022                                   NULL);
11023 
11024   return offset;
11025 }
11026 
11027 
11028 static const ber_sequence_t gsm_map_ms_Ext_BasicServiceGroupList_sequence_of[1] = {
11029   { &hf_gsm_map_ms_Ext_BasicServiceGroupList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode },
11030 };
11031 
11032 static int
11033 dissect_gsm_map_ms_Ext_BasicServiceGroupList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11034   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11035                                       gsm_map_ms_Ext_BasicServiceGroupList_sequence_of, hf_index, ett_gsm_map_ms_Ext_BasicServiceGroupList);
11036 
11037   return offset;
11038 }
11039 
11040 
11041 static const ber_sequence_t gsm_map_ms_CUG_Subscription_sequence[] = {
11042   { &hf_gsm_map_ms_cug_Index, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Index },
11043   { &hf_gsm_map_ms_cug_Interlock, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Interlock },
11044   { &hf_gsm_map_ms_intraCUG_Options, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_IntraCUG_Options },
11045   { &hf_gsm_map_ms_basicServiceGroupList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_BasicServiceGroupList },
11046   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11047   { NULL, 0, 0, 0, NULL }
11048 };
11049 
11050 static int
11051 dissect_gsm_map_ms_CUG_Subscription(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11052   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11053                                    gsm_map_ms_CUG_Subscription_sequence, hf_index, ett_gsm_map_ms_CUG_Subscription);
11054 
11055   return offset;
11056 }
11057 
11058 
11059 static const ber_sequence_t gsm_map_ms_CUG_SubscriptionList_sequence_of[1] = {
11060   { &hf_gsm_map_ms_CUG_SubscriptionList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Subscription },
11061 };
11062 
11063 static int
11064 dissect_gsm_map_ms_CUG_SubscriptionList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11065   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11066                                       gsm_map_ms_CUG_SubscriptionList_sequence_of, hf_index, ett_gsm_map_ms_CUG_SubscriptionList);
11067 
11068   return offset;
11069 }
11070 
11071 
11072 
11073 static int
11074 dissect_gsm_map_ms_InterCUG_Restrictions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11075   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11076                                        NULL);
11077 
11078   return offset;
11079 }
11080 
11081 
11082 static const ber_sequence_t gsm_map_ms_CUG_Feature_sequence[] = {
11083   { &hf_gsm_map_ms_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode },
11084   { &hf_gsm_map_ms_preferentialCUG_Indicator, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Index },
11085   { &hf_gsm_map_ms_interCUG_Restrictions, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_InterCUG_Restrictions },
11086   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
11087   { NULL, 0, 0, 0, NULL }
11088 };
11089 
11090 static int
11091 dissect_gsm_map_ms_CUG_Feature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11092   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11093                                    gsm_map_ms_CUG_Feature_sequence, hf_index, ett_gsm_map_ms_CUG_Feature);
11094 
11095   return offset;
11096 }
11097 
11098 
11099 static const ber_sequence_t gsm_map_ms_CUG_FeatureList_sequence_of[1] = {
11100   { &hf_gsm_map_ms_CUG_FeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Feature },
11101 };
11102 
11103 static int
11104 dissect_gsm_map_ms_CUG_FeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11105   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11106                                       gsm_map_ms_CUG_FeatureList_sequence_of, hf_index, ett_gsm_map_ms_CUG_FeatureList);
11107 
11108   return offset;
11109 }
11110 
11111 
11112 static const ber_sequence_t gsm_map_ms_CUG_Info_sequence[] = {
11113   { &hf_gsm_map_ms_cug_SubscriptionList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_SubscriptionList },
11114   { &hf_gsm_map_ms_cug_FeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_FeatureList },
11115   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11116   { NULL, 0, 0, 0, NULL }
11117 };
11118 
11119 int
11120 dissect_gsm_map_ms_CUG_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11121   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11122                                    gsm_map_ms_CUG_Info_sequence, hf_index, ett_gsm_map_ms_CUG_Info);
11123 
11124   return offset;
11125 }
11126 
11127 
11128 static const ber_sequence_t gsm_map_ms_Ext_SS_Data_sequence[] = {
11129   { &hf_gsm_map_ms_ss_Code  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
11130   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
11131   { &hf_gsm_map_ms_ss_SubscriptionOption, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_SS_SubscriptionOption },
11132   { &hf_gsm_map_ms_basicServiceGroupList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_BasicServiceGroupList },
11133   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11134   { NULL, 0, 0, 0, NULL }
11135 };
11136 
11137 static int
11138 dissect_gsm_map_ms_Ext_SS_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11139   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11140                                    gsm_map_ms_Ext_SS_Data_sequence, hf_index, ett_gsm_map_ms_Ext_SS_Data);
11141 
11142   return offset;
11143 }
11144 
11145 
11146 static const value_string gsm_map_ms_Ext_SS_Info_vals[] = {
11147   {   0, "forwardingInfo" },
11148   {   1, "callBarringInfo" },
11149   {   2, "cug-Info" },
11150   {   3, "ss-Data" },
11151   {   4, "emlpp-Info" },
11152   { 0, NULL }
11153 };
11154 
11155 static const ber_choice_t gsm_map_ms_Ext_SS_Info_choice[] = {
11156   {   0, &hf_gsm_map_ms_forwardingInfo, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ForwInfo },
11157   {   1, &hf_gsm_map_ms_callBarringInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_CallBarInfo },
11158   {   2, &hf_gsm_map_ms_cug_Info , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CUG_Info },
11159   {   3, &hf_gsm_map_ms_ss_Data  , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_SS_Data },
11160   {   4, &hf_gsm_map_ms_emlpp_Info, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Info },
11161   { 0, NULL, 0, 0, 0, NULL }
11162 };
11163 
11164 static int
11165 dissect_gsm_map_ms_Ext_SS_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11166   offset = dissect_ber_choice(actx, tree, tvb, offset,
11167                                  gsm_map_ms_Ext_SS_Info_choice, hf_index, ett_gsm_map_ms_Ext_SS_Info,
11168                                  NULL);
11169 
11170   return offset;
11171 }
11172 
11173 
11174 static const ber_sequence_t gsm_map_ms_Ext_SS_InfoList_sequence_of[1] = {
11175   { &hf_gsm_map_ms_Ext_SS_InfoList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_Ext_SS_Info },
11176 };
11177 
11178 static int
11179 dissect_gsm_map_ms_Ext_SS_InfoList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11180   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11181                                       gsm_map_ms_Ext_SS_InfoList_sequence_of, hf_index, ett_gsm_map_ms_Ext_SS_InfoList);
11182 
11183   return offset;
11184 }
11185 
11186 
11187 static int * const gsm_map_ms_ODB_GeneralData_bits[] = {
11188   &hf_gsm_map_ms_ODB_GeneralData_allOG_CallsBarred,
11189   &hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsBarred,
11190   &hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred,
11191   &hf_gsm_map_ms_ODB_GeneralData_premiumRateInformationOGCallsBarred,
11192   &hf_gsm_map_ms_ODB_GeneralData_premiumRateEntertainementOGCallsBarred,
11193   &hf_gsm_map_ms_ODB_GeneralData_ss_AccessBarred,
11194   &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsBarred,
11195   &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred,
11196   &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred,
11197   &hf_gsm_map_ms_ODB_GeneralData_allECT_Barred,
11198   &hf_gsm_map_ms_ODB_GeneralData_chargeableECT_Barred,
11199   &hf_gsm_map_ms_ODB_GeneralData_internationalECT_Barred,
11200   &hf_gsm_map_ms_ODB_GeneralData_interzonalECT_Barred,
11201   &hf_gsm_map_ms_ODB_GeneralData_doublyChargeableECT_Barred,
11202   &hf_gsm_map_ms_ODB_GeneralData_multipleECT_Barred,
11203   &hf_gsm_map_ms_ODB_GeneralData_allPacketOrientedServicesBarred,
11204   &hf_gsm_map_ms_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred,
11205   &hf_gsm_map_ms_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred,
11206   &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred,
11207   &hf_gsm_map_ms_ODB_GeneralData_allIC_CallsBarred,
11208   &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred,
11209   &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred,
11210   &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_Barred,
11211   &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_CountryBarred,
11212   &hf_gsm_map_ms_ODB_GeneralData_registrationAllCF_Barred,
11213   &hf_gsm_map_ms_ODB_GeneralData_registrationCFNotToHPLMN_Barred,
11214   &hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCF_Barred,
11215   &hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred,
11216   &hf_gsm_map_ms_ODB_GeneralData_registrationInternationalCF_Barred,
11217   NULL
11218 };
11219 
11220 static int
11221 dissect_gsm_map_ms_ODB_GeneralData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11222   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
11223                                     gsm_map_ms_ODB_GeneralData_bits, 29, hf_index, ett_gsm_map_ms_ODB_GeneralData,
11224                                     NULL);
11225 
11226   return offset;
11227 }
11228 
11229 
11230 static int * const gsm_map_ms_ODB_HPLMN_Data_bits[] = {
11231   &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType1,
11232   &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType2,
11233   &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType3,
11234   &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType4,
11235   NULL
11236 };
11237 
11238 static int
11239 dissect_gsm_map_ms_ODB_HPLMN_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11240   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
11241                                     gsm_map_ms_ODB_HPLMN_Data_bits, 4, hf_index, ett_gsm_map_ms_ODB_HPLMN_Data,
11242                                     NULL);
11243 
11244   return offset;
11245 }
11246 
11247 
11248 static const ber_sequence_t gsm_map_ms_ODB_Data_sequence[] = {
11249   { &hf_gsm_map_ms_odb_GeneralData, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ODB_GeneralData },
11250   { &hf_gsm_map_ms_odb_HPLMN_Data, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ODB_HPLMN_Data },
11251   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
11252   { NULL, 0, 0, 0, NULL }
11253 };
11254 
11255 static int
11256 dissect_gsm_map_ms_ODB_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11257   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11258                                    gsm_map_ms_ODB_Data_sequence, hf_index, ett_gsm_map_ms_ODB_Data);
11259 
11260   return offset;
11261 }
11262 
11263 
11264 
11265 static int
11266 dissect_gsm_map_ms_GroupId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11267   offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
11268 
11269   return offset;
11270 }
11271 
11272 
11273 
11274 static int
11275 dissect_gsm_map_ms_Long_GroupId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11276   offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
11277 
11278   return offset;
11279 }
11280 
11281 
11282 static const ber_sequence_t gsm_map_ms_VoiceBroadcastData_sequence[] = {
11283   { &hf_gsm_map_ms_groupid  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_GroupId },
11284   { &hf_gsm_map_ms_broadcastInitEntitlement, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
11285   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
11286   { &hf_gsm_map_ms_longGroupId, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Long_GroupId },
11287   { NULL, 0, 0, 0, NULL }
11288 };
11289 
11290 static int
11291 dissect_gsm_map_ms_VoiceBroadcastData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11292   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11293                                    gsm_map_ms_VoiceBroadcastData_sequence, hf_index, ett_gsm_map_ms_VoiceBroadcastData);
11294 
11295   return offset;
11296 }
11297 
11298 
11299 static const ber_sequence_t gsm_map_ms_VBSDataList_sequence_of[1] = {
11300   { &hf_gsm_map_ms_VBSDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_VoiceBroadcastData },
11301 };
11302 
11303 static int
11304 dissect_gsm_map_ms_VBSDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11305   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11306                                       gsm_map_ms_VBSDataList_sequence_of, hf_index, ett_gsm_map_ms_VBSDataList);
11307 
11308   return offset;
11309 }
11310 
11311 
11312 static int * const gsm_map_ms_AdditionalSubscriptions_bits[] = {
11313   &hf_gsm_map_ms_AdditionalSubscriptions_privilegedUplinkRequest,
11314   &hf_gsm_map_ms_AdditionalSubscriptions_emergencyUplinkRequest,
11315   &hf_gsm_map_ms_AdditionalSubscriptions_emergencyReset,
11316   NULL
11317 };
11318 
11319 static int
11320 dissect_gsm_map_ms_AdditionalSubscriptions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11321   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
11322                                     gsm_map_ms_AdditionalSubscriptions_bits, 3, hf_index, ett_gsm_map_ms_AdditionalSubscriptions,
11323                                     NULL);
11324 
11325   return offset;
11326 }
11327 
11328 
11329 
11330 static int
11331 dissect_gsm_map_ms_AdditionalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11332   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
11333                                     NULL, 0, hf_index, -1,
11334                                     NULL);
11335 
11336   return offset;
11337 }
11338 
11339 
11340 static const ber_sequence_t gsm_map_ms_VoiceGroupCallData_sequence[] = {
11341   { &hf_gsm_map_ms_groupId  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_GroupId },
11342   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
11343   { &hf_gsm_map_ms_additionalSubscriptions, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AdditionalSubscriptions },
11344   { &hf_gsm_map_ms_additionalInfo, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo },
11345   { &hf_gsm_map_ms_longGroupId, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Long_GroupId },
11346   { NULL, 0, 0, 0, NULL }
11347 };
11348 
11349 static int
11350 dissect_gsm_map_ms_VoiceGroupCallData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11351   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11352                                    gsm_map_ms_VoiceGroupCallData_sequence, hf_index, ett_gsm_map_ms_VoiceGroupCallData);
11353 
11354   return offset;
11355 }
11356 
11357 
11358 static const ber_sequence_t gsm_map_ms_VGCSDataList_sequence_of[1] = {
11359   { &hf_gsm_map_ms_VGCSDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_VoiceGroupCallData },
11360 };
11361 
11362 static int
11363 dissect_gsm_map_ms_VGCSDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11364   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11365                                       gsm_map_ms_VGCSDataList_sequence_of, hf_index, ett_gsm_map_ms_VGCSDataList);
11366 
11367   return offset;
11368 }
11369 
11370 
11371 static const value_string gsm_map_ms_O_BcsmTriggerDetectionPoint_vals[] = {
11372   {   2, "collectedInfo" },
11373   {   4, "routeSelectFailure" },
11374   { 0, NULL }
11375 };
11376 
11377 
11378 static int
11379 dissect_gsm_map_ms_O_BcsmTriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11380   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11381                                   NULL);
11382 
11383   return offset;
11384 }
11385 
11386 
11387 
11388 int
11389 dissect_gsm_map_ms_ServiceKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11390   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11391                                                 NULL);
11392 
11393   return offset;
11394 }
11395 
11396 
11397 static const value_string gsm_map_ms_DefaultCallHandling_vals[] = {
11398   {   0, "continueCall" },
11399   {   1, "releaseCall" },
11400   { 0, NULL }
11401 };
11402 
11403 
11404 static int
11405 dissect_gsm_map_ms_DefaultCallHandling(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11406   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11407                                   NULL);
11408 
11409   return offset;
11410 }
11411 
11412 
11413 static const ber_sequence_t gsm_map_ms_O_BcsmCamelTDPData_sequence[] = {
11414   { &hf_gsm_map_ms_o_BcsmTriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmTriggerDetectionPoint },
11415   { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey },
11416   { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
11417   { &hf_gsm_map_ms_defaultCallHandling, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DefaultCallHandling },
11418   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11419   { NULL, 0, 0, 0, NULL }
11420 };
11421 
11422 static int
11423 dissect_gsm_map_ms_O_BcsmCamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11424   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11425                                    gsm_map_ms_O_BcsmCamelTDPData_sequence, hf_index, ett_gsm_map_ms_O_BcsmCamelTDPData);
11426 
11427   return offset;
11428 }
11429 
11430 
11431 static const ber_sequence_t gsm_map_ms_O_BcsmCamelTDPDataList_sequence_of[1] = {
11432   { &hf_gsm_map_ms_O_BcsmCamelTDPDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmCamelTDPData },
11433 };
11434 
11435 static int
11436 dissect_gsm_map_ms_O_BcsmCamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11437   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11438                                       gsm_map_ms_O_BcsmCamelTDPDataList_sequence_of, hf_index, ett_gsm_map_ms_O_BcsmCamelTDPDataList);
11439 
11440   return offset;
11441 }
11442 
11443 
11444 
11445 static int
11446 dissect_gsm_map_ms_CamelCapabilityHandling(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11447   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11448                                                 NULL);
11449 
11450   return offset;
11451 }
11452 
11453 
11454 static const ber_sequence_t gsm_map_ms_O_CSI_sequence[] = {
11455   { &hf_gsm_map_ms_o_BcsmCamelTDPDataList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmCamelTDPDataList },
11456   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
11457   { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling },
11458   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11459   { &hf_gsm_map_ms_csiActive, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11460   { NULL, 0, 0, 0, NULL }
11461 };
11462 
11463 int
11464 dissect_gsm_map_ms_O_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11465   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11466                                    gsm_map_ms_O_CSI_sequence, hf_index, ett_gsm_map_ms_O_CSI);
11467 
11468   return offset;
11469 }
11470 
11471 
11472 static const ber_sequence_t gsm_map_ms_SS_EventList_sequence_of[1] = {
11473   { &hf_gsm_map_ms_SS_EventList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
11474 };
11475 
11476 static int
11477 dissect_gsm_map_ms_SS_EventList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11478   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11479                                       gsm_map_ms_SS_EventList_sequence_of, hf_index, ett_gsm_map_ms_SS_EventList);
11480 
11481   return offset;
11482 }
11483 
11484 
11485 static const ber_sequence_t gsm_map_ms_SS_CamelData_sequence[] = {
11486   { &hf_gsm_map_ms_ss_EventList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SS_EventList },
11487   { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
11488   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11489   { NULL, 0, 0, 0, NULL }
11490 };
11491 
11492 static int
11493 dissect_gsm_map_ms_SS_CamelData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11494   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11495                                    gsm_map_ms_SS_CamelData_sequence, hf_index, ett_gsm_map_ms_SS_CamelData);
11496 
11497   return offset;
11498 }
11499 
11500 
11501 static const ber_sequence_t gsm_map_ms_SS_CSI_sequence[] = {
11502   { &hf_gsm_map_ms_ss_CamelData, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SS_CamelData },
11503   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
11504   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11505   { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11506   { NULL, 0, 0, 0, NULL }
11507 };
11508 
11509 static int
11510 dissect_gsm_map_ms_SS_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11511   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11512                                    gsm_map_ms_SS_CSI_sequence, hf_index, ett_gsm_map_ms_SS_CSI);
11513 
11514   return offset;
11515 }
11516 
11517 
11518 static const value_string gsm_map_ms_MatchType_vals[] = {
11519   {   0, "inhibiting" },
11520   {   1, "enabling" },
11521   { 0, NULL }
11522 };
11523 
11524 
11525 static int
11526 dissect_gsm_map_ms_MatchType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11527   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11528                                   NULL);
11529 
11530   return offset;
11531 }
11532 
11533 
11534 static const ber_sequence_t gsm_map_ms_DestinationNumberList_sequence_of[1] = {
11535   { &hf_gsm_map_ms_DestinationNumberList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
11536 };
11537 
11538 static int
11539 dissect_gsm_map_ms_DestinationNumberList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11540   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11541                                       gsm_map_ms_DestinationNumberList_sequence_of, hf_index, ett_gsm_map_ms_DestinationNumberList);
11542 
11543   return offset;
11544 }
11545 
11546 
11547 
11548 static int
11549 dissect_gsm_map_ms_INTEGER_1_maxNumOfISDN_AddressDigits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11550   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11551                                                 NULL);
11552 
11553   return offset;
11554 }
11555 
11556 
11557 static const ber_sequence_t gsm_map_ms_DestinationNumberLengthList_sequence_of[1] = {
11558   { &hf_gsm_map_ms_DestinationNumberLengthList_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_INTEGER_1_maxNumOfISDN_AddressDigits },
11559 };
11560 
11561 static int
11562 dissect_gsm_map_ms_DestinationNumberLengthList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11563   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11564                                       gsm_map_ms_DestinationNumberLengthList_sequence_of, hf_index, ett_gsm_map_ms_DestinationNumberLengthList);
11565 
11566   return offset;
11567 }
11568 
11569 
11570 static const ber_sequence_t gsm_map_ms_DestinationNumberCriteria_sequence[] = {
11571   { &hf_gsm_map_ms_matchType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MatchType },
11572   { &hf_gsm_map_ms_destinationNumberList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DestinationNumberList },
11573   { &hf_gsm_map_ms_destinationNumberLengthList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DestinationNumberLengthList },
11574   { NULL, 0, 0, 0, NULL }
11575 };
11576 
11577 static int
11578 dissect_gsm_map_ms_DestinationNumberCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11579   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11580                                    gsm_map_ms_DestinationNumberCriteria_sequence, hf_index, ett_gsm_map_ms_DestinationNumberCriteria);
11581 
11582   return offset;
11583 }
11584 
11585 
11586 static const ber_sequence_t gsm_map_ms_BasicServiceCriteria_sequence_of[1] = {
11587   { &hf_gsm_map_ms_BasicServiceCriteria_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode },
11588 };
11589 
11590 static int
11591 dissect_gsm_map_ms_BasicServiceCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11592   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11593                                       gsm_map_ms_BasicServiceCriteria_sequence_of, hf_index, ett_gsm_map_ms_BasicServiceCriteria);
11594 
11595   return offset;
11596 }
11597 
11598 
11599 static const value_string gsm_map_ms_CallTypeCriteria_vals[] = {
11600   {   0, "forwarded" },
11601   {   1, "notForwarded" },
11602   { 0, NULL }
11603 };
11604 
11605 
11606 static int
11607 dissect_gsm_map_ms_CallTypeCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11608   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11609                                   NULL);
11610 
11611   return offset;
11612 }
11613 
11614 
11615 
11616 static int
11617 dissect_gsm_map_ms_CauseValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11618   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11619                                        NULL);
11620 
11621   return offset;
11622 }
11623 
11624 
11625 static const ber_sequence_t gsm_map_ms_O_CauseValueCriteria_sequence_of[1] = {
11626   { &hf_gsm_map_ms_O_CauseValueCriteria_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CauseValue },
11627 };
11628 
11629 static int
11630 dissect_gsm_map_ms_O_CauseValueCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11631   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11632                                       gsm_map_ms_O_CauseValueCriteria_sequence_of, hf_index, ett_gsm_map_ms_O_CauseValueCriteria);
11633 
11634   return offset;
11635 }
11636 
11637 
11638 static const ber_sequence_t gsm_map_ms_O_BcsmCamelTDP_Criteria_sequence[] = {
11639   { &hf_gsm_map_ms_o_BcsmTriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmTriggerDetectionPoint },
11640   { &hf_gsm_map_ms_destinationNumberCriteria, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DestinationNumberCriteria },
11641   { &hf_gsm_map_ms_basicServiceCriteria, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BasicServiceCriteria },
11642   { &hf_gsm_map_ms_callTypeCriteria, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallTypeCriteria },
11643   { &hf_gsm_map_ms_o_CauseValueCriteria, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CauseValueCriteria },
11644   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11645   { NULL, 0, 0, 0, NULL }
11646 };
11647 
11648 static int
11649 dissect_gsm_map_ms_O_BcsmCamelTDP_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11650   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11651                                    gsm_map_ms_O_BcsmCamelTDP_Criteria_sequence, hf_index, ett_gsm_map_ms_O_BcsmCamelTDP_Criteria);
11652 
11653   return offset;
11654 }
11655 
11656 
11657 static const ber_sequence_t gsm_map_ms_O_BcsmCamelTDPCriteriaList_sequence_of[1] = {
11658   { &hf_gsm_map_ms_O_BcsmCamelTDPCriteriaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_O_BcsmCamelTDP_Criteria },
11659 };
11660 
11661 int
11662 dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11663   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11664                                       gsm_map_ms_O_BcsmCamelTDPCriteriaList_sequence_of, hf_index, ett_gsm_map_ms_O_BcsmCamelTDPCriteriaList);
11665 
11666   return offset;
11667 }
11668 
11669 
11670 
11671 static int
11672 dissect_gsm_map_ms_MM_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11673   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11674                                        NULL);
11675 
11676   return offset;
11677 }
11678 
11679 
11680 static const ber_sequence_t gsm_map_ms_MobilityTriggers_sequence_of[1] = {
11681   { &hf_gsm_map_ms_MobilityTriggers_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MM_Code },
11682 };
11683 
11684 static int
11685 dissect_gsm_map_ms_MobilityTriggers(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11686   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11687                                       gsm_map_ms_MobilityTriggers_sequence_of, hf_index, ett_gsm_map_ms_MobilityTriggers);
11688 
11689   return offset;
11690 }
11691 
11692 
11693 static const ber_sequence_t gsm_map_ms_M_CSI_sequence[] = {
11694   { &hf_gsm_map_ms_mobilityTriggers, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MobilityTriggers },
11695   { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey },
11696   { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
11697   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11698   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11699   { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11700   { NULL, 0, 0, 0, NULL }
11701 };
11702 
11703 static int
11704 dissect_gsm_map_ms_M_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11705   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11706                                    gsm_map_ms_M_CSI_sequence, hf_index, ett_gsm_map_ms_M_CSI);
11707 
11708   return offset;
11709 }
11710 
11711 
11712 static const value_string gsm_map_ms_SMS_TriggerDetectionPoint_vals[] = {
11713   {   1, "sms-CollectedInfo" },
11714   {   2, "sms-DeliveryRequest" },
11715   { 0, NULL }
11716 };
11717 
11718 
11719 static int
11720 dissect_gsm_map_ms_SMS_TriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11721   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11722                                   NULL);
11723 
11724   return offset;
11725 }
11726 
11727 
11728 const value_string gsm_map_ms_DefaultSMS_Handling_vals[] = {
11729   {   0, "continueTransaction" },
11730   {   1, "releaseTransaction" },
11731   { 0, NULL }
11732 };
11733 
11734 
11735 int
11736 dissect_gsm_map_ms_DefaultSMS_Handling(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11737   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11738                                   NULL);
11739 
11740   return offset;
11741 }
11742 
11743 
11744 static const ber_sequence_t gsm_map_ms_SMS_CAMEL_TDP_Data_sequence[] = {
11745   { &hf_gsm_map_ms_sms_TriggerDetectionPoint, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_TriggerDetectionPoint },
11746   { &hf_gsm_map_ms_serviceKey, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ServiceKey },
11747   { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
11748   { &hf_gsm_map_ms_defaultSMS_Handling, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DefaultSMS_Handling },
11749   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11750   { NULL, 0, 0, 0, NULL }
11751 };
11752 
11753 static int
11754 dissect_gsm_map_ms_SMS_CAMEL_TDP_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11755   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11756                                    gsm_map_ms_SMS_CAMEL_TDP_Data_sequence, hf_index, ett_gsm_map_ms_SMS_CAMEL_TDP_Data);
11757 
11758   return offset;
11759 }
11760 
11761 
11762 static const ber_sequence_t gsm_map_ms_SMS_CAMEL_TDP_DataList_sequence_of[1] = {
11763   { &hf_gsm_map_ms_SMS_CAMEL_TDP_DataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SMS_CAMEL_TDP_Data },
11764 };
11765 
11766 static int
11767 dissect_gsm_map_ms_SMS_CAMEL_TDP_DataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11768   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11769                                       gsm_map_ms_SMS_CAMEL_TDP_DataList_sequence_of, hf_index, ett_gsm_map_ms_SMS_CAMEL_TDP_DataList);
11770 
11771   return offset;
11772 }
11773 
11774 
11775 static const ber_sequence_t gsm_map_ms_SMS_CSI_sequence[] = {
11776   { &hf_gsm_map_ms_sms_CAMEL_TDP_DataList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CAMEL_TDP_DataList },
11777   { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling },
11778   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11779   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11780   { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11781   { NULL, 0, 0, 0, NULL }
11782 };
11783 
11784 static int
11785 dissect_gsm_map_ms_SMS_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11786   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11787                                    gsm_map_ms_SMS_CSI_sequence, hf_index, ett_gsm_map_ms_SMS_CSI);
11788 
11789   return offset;
11790 }
11791 
11792 
11793 static const value_string gsm_map_ms_T_BcsmTriggerDetectionPoint_vals[] = {
11794   {  12, "termAttemptAuthorized" },
11795   {  13, "tBusy" },
11796   {  14, "tNoAnswer" },
11797   { 0, NULL }
11798 };
11799 
11800 
11801 static int
11802 dissect_gsm_map_ms_T_BcsmTriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11803   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11804                                   NULL);
11805 
11806   return offset;
11807 }
11808 
11809 
11810 static const ber_sequence_t gsm_map_ms_T_BcsmCamelTDPData_sequence[] = {
11811   { &hf_gsm_map_ms_t_BcsmTriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BcsmTriggerDetectionPoint },
11812   { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey },
11813   { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
11814   { &hf_gsm_map_ms_defaultCallHandling, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DefaultCallHandling },
11815   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11816   { NULL, 0, 0, 0, NULL }
11817 };
11818 
11819 static int
11820 dissect_gsm_map_ms_T_BcsmCamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11821   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11822                                    gsm_map_ms_T_BcsmCamelTDPData_sequence, hf_index, ett_gsm_map_ms_T_BcsmCamelTDPData);
11823 
11824   return offset;
11825 }
11826 
11827 
11828 static const ber_sequence_t gsm_map_ms_T_BcsmCamelTDPDataList_sequence_of[1] = {
11829   { &hf_gsm_map_ms_T_BcsmCamelTDPDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BcsmCamelTDPData },
11830 };
11831 
11832 static int
11833 dissect_gsm_map_ms_T_BcsmCamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11834   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11835                                       gsm_map_ms_T_BcsmCamelTDPDataList_sequence_of, hf_index, ett_gsm_map_ms_T_BcsmCamelTDPDataList);
11836 
11837   return offset;
11838 }
11839 
11840 
11841 static const ber_sequence_t gsm_map_ms_T_CSI_sequence[] = {
11842   { &hf_gsm_map_ms_t_BcsmCamelTDPDataList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BcsmCamelTDPDataList },
11843   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
11844   { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling },
11845   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11846   { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11847   { NULL, 0, 0, 0, NULL }
11848 };
11849 
11850 static int
11851 dissect_gsm_map_ms_T_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11852   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11853                                    gsm_map_ms_T_CSI_sequence, hf_index, ett_gsm_map_ms_T_CSI);
11854 
11855   return offset;
11856 }
11857 
11858 
11859 static const ber_sequence_t gsm_map_ms_T_CauseValueCriteria_sequence_of[1] = {
11860   { &hf_gsm_map_ms_T_CauseValueCriteria_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CauseValue },
11861 };
11862 
11863 static int
11864 dissect_gsm_map_ms_T_CauseValueCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11865   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11866                                       gsm_map_ms_T_CauseValueCriteria_sequence_of, hf_index, ett_gsm_map_ms_T_CauseValueCriteria);
11867 
11868   return offset;
11869 }
11870 
11871 
11872 static const ber_sequence_t gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria_sequence[] = {
11873   { &hf_gsm_map_ms_t_BCSM_TriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BcsmTriggerDetectionPoint },
11874   { &hf_gsm_map_ms_basicServiceCriteria, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BasicServiceCriteria },
11875   { &hf_gsm_map_ms_t_CauseValueCriteria, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CauseValueCriteria },
11876   { NULL, 0, 0, 0, NULL }
11877 };
11878 
11879 static int
11880 dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11881   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11882                                    gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria_sequence, hf_index, ett_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria);
11883 
11884   return offset;
11885 }
11886 
11887 
11888 static const ber_sequence_t gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_sequence_of[1] = {
11889   { &hf_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria },
11890 };
11891 
11892 static int
11893 dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11894   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11895                                       gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList);
11896 
11897   return offset;
11898 }
11899 
11900 
11901 static const ber_sequence_t gsm_map_ms_DP_AnalysedInfoCriterium_sequence[] = {
11902   { &hf_gsm_map_ms_dialledNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
11903   { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey },
11904   { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
11905   { &hf_gsm_map_ms_defaultCallHandling, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_DefaultCallHandling },
11906   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
11907   { NULL, 0, 0, 0, NULL }
11908 };
11909 
11910 static int
11911 dissect_gsm_map_ms_DP_AnalysedInfoCriterium(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11912   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11913                                    gsm_map_ms_DP_AnalysedInfoCriterium_sequence, hf_index, ett_gsm_map_ms_DP_AnalysedInfoCriterium);
11914 
11915   return offset;
11916 }
11917 
11918 
11919 static const ber_sequence_t gsm_map_ms_DP_AnalysedInfoCriteriaList_sequence_of[1] = {
11920   { &hf_gsm_map_ms_DP_AnalysedInfoCriteriaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_DP_AnalysedInfoCriterium },
11921 };
11922 
11923 static int
11924 dissect_gsm_map_ms_DP_AnalysedInfoCriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11925   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11926                                       gsm_map_ms_DP_AnalysedInfoCriteriaList_sequence_of, hf_index, ett_gsm_map_ms_DP_AnalysedInfoCriteriaList);
11927 
11928   return offset;
11929 }
11930 
11931 
11932 static const ber_sequence_t gsm_map_ms_D_CSI_sequence[] = {
11933   { &hf_gsm_map_ms_dp_AnalysedInfoCriteriaList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DP_AnalysedInfoCriteriaList },
11934   { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling },
11935   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
11936   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11937   { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
11938   { NULL, 0, 0, 0, NULL }
11939 };
11940 
11941 int
11942 dissect_gsm_map_ms_D_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11943   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11944                                    gsm_map_ms_D_CSI_sequence, hf_index, ett_gsm_map_ms_D_CSI);
11945 
11946   return offset;
11947 }
11948 
11949 
11950 static const value_string gsm_map_ms_MT_SMS_TPDU_Type_vals[] = {
11951   {   0, "sms-DELIVER" },
11952   {   1, "sms-SUBMIT-REPORT" },
11953   {   2, "sms-STATUS-REPORT" },
11954   { 0, NULL }
11955 };
11956 
11957 
11958 static int
11959 dissect_gsm_map_ms_MT_SMS_TPDU_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11960   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11961                                   NULL);
11962 
11963   return offset;
11964 }
11965 
11966 
11967 static const ber_sequence_t gsm_map_ms_TPDU_TypeCriterion_sequence_of[1] = {
11968   { &hf_gsm_map_ms_TPDU_TypeCriterion_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MT_SMS_TPDU_Type },
11969 };
11970 
11971 static int
11972 dissect_gsm_map_ms_TPDU_TypeCriterion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11973   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11974                                       gsm_map_ms_TPDU_TypeCriterion_sequence_of, hf_index, ett_gsm_map_ms_TPDU_TypeCriterion);
11975 
11976   return offset;
11977 }
11978 
11979 
11980 static const ber_sequence_t gsm_map_ms_MT_smsCAMELTDP_Criteria_sequence[] = {
11981   { &hf_gsm_map_ms_sms_TriggerDetectionPoint, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SMS_TriggerDetectionPoint },
11982   { &hf_gsm_map_ms_tpdu_TypeCriterion, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TPDU_TypeCriterion },
11983   { NULL, 0, 0, 0, NULL }
11984 };
11985 
11986 static int
11987 dissect_gsm_map_ms_MT_smsCAMELTDP_Criteria(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11988   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11989                                    gsm_map_ms_MT_smsCAMELTDP_Criteria_sequence, hf_index, ett_gsm_map_ms_MT_smsCAMELTDP_Criteria);
11990 
11991   return offset;
11992 }
11993 
11994 
11995 static const ber_sequence_t gsm_map_ms_MT_smsCAMELTDP_CriteriaList_sequence_of[1] = {
11996   { &hf_gsm_map_ms_MT_smsCAMELTDP_CriteriaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MT_smsCAMELTDP_Criteria },
11997 };
11998 
11999 static int
12000 dissect_gsm_map_ms_MT_smsCAMELTDP_CriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12001   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12002                                       gsm_map_ms_MT_smsCAMELTDP_CriteriaList_sequence_of, hf_index, ett_gsm_map_ms_MT_smsCAMELTDP_CriteriaList);
12003 
12004   return offset;
12005 }
12006 
12007 
12008 static const ber_sequence_t gsm_map_ms_VlrCamelSubscriptionInfo_sequence[] = {
12009   { &hf_gsm_map_ms_o_CSI    , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI },
12010   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12011   { &hf_gsm_map_ms_ss_CSI   , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SS_CSI },
12012   { &hf_gsm_map_ms_o_BcsmCamelTDP_CriteriaList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList },
12013   { &hf_gsm_map_ms_tif_CSI  , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12014   { &hf_gsm_map_ms_m_CSI    , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_M_CSI },
12015   { &hf_gsm_map_ms_mo_sms_CSI, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI },
12016   { &hf_gsm_map_ms_vt_CSI   , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI },
12017   { &hf_gsm_map_ms_t_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList },
12018   { &hf_gsm_map_ms_d_CSI    , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI },
12019   { &hf_gsm_map_ms_mt_sms_CSI, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI },
12020   { &hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MT_smsCAMELTDP_CriteriaList },
12021   { NULL, 0, 0, 0, NULL }
12022 };
12023 
12024 static int
12025 dissect_gsm_map_ms_VlrCamelSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12026   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12027                                    gsm_map_ms_VlrCamelSubscriptionInfo_sequence, hf_index, ett_gsm_map_ms_VlrCamelSubscriptionInfo);
12028 
12029   return offset;
12030 }
12031 
12032 
12033 
12034 static int
12035 dissect_gsm_map_ms_PDP_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12036 #line 718 "./asn1/gsm_map/gsm_map.cnf"
12037 	guint8 pdp_type_org;
12038 	tvbuff_t	*parameter_tvb;
12039 
12040 
12041   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12042                                        &parameter_tvb);
12043 
12044 
12045   if (!parameter_tvb)
12046     return offset;
12047   proto_tree_add_item(tree, hf_gsm_map_pdp_type_org, parameter_tvb, 0,1,ENC_BIG_ENDIAN);
12048   pdp_type_org = tvb_get_guint8(parameter_tvb,1);
12049   switch (pdp_type_org){
12050     case 0: /* ETSI */
12051       proto_tree_add_item(tree, hf_gsm_map_etsi_pdp_type_number, parameter_tvb, 0,1,ENC_BIG_ENDIAN);
12052       break;
12053     case 1: /* IETF */
12054       proto_tree_add_item(tree, hf_gsm_map_ietf_pdp_type_number, parameter_tvb, 0,1,ENC_BIG_ENDIAN);
12055       break;
12056     default:
12057       break;
12058   }
12059 
12060 
12061 
12062   return offset;
12063 }
12064 
12065 
12066 
12067 int
12068 dissect_gsm_map_ms_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12069 #line 740 "./asn1/gsm_map/gsm_map.cnf"
12070 
12071 
12072 	tvbuff_t	*parameter_tvb;
12073 
12074   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12075                                        &parameter_tvb);
12076 
12077 
12078 	 if (!parameter_tvb)
12079 		return offset;
12080 	de_sm_qos(parameter_tvb, tree, actx->pinfo, 0, 3, NULL,0);
12081 
12082 
12083 
12084   return offset;
12085 }
12086 
12087 
12088 
12089 int
12090 dissect_gsm_map_ms_Ext_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12091 #line 751 "./asn1/gsm_map/gsm_map.cnf"
12092 
12093 	tvbuff_t	*parameter_tvb;
12094 
12095   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12096                                        &parameter_tvb);
12097 
12098 
12099 	if (!parameter_tvb)
12100 		return offset;
12101 	dissect_gsm_map_ext_qos_subscribed(tvb, actx->pinfo, tree, actx);
12102 
12103 
12104 
12105   return offset;
12106 }
12107 
12108 
12109 
12110 static int
12111 dissect_gsm_map_ms_ChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12112   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12113                                        NULL);
12114 
12115   return offset;
12116 }
12117 
12118 
12119 
12120 int
12121 dissect_gsm_map_ms_Ext2_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12122 #line 761 "./asn1/gsm_map/gsm_map.cnf"
12123 
12124 	tvbuff_t	*parameter_tvb;
12125 
12126   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12127                                        &parameter_tvb);
12128 
12129 
12130 	if (!parameter_tvb)
12131 		return offset;
12132 	dissect_gsm_map_ext2_qos_subscribed(tvb, actx->pinfo, tree, actx);
12133 
12134 
12135 
12136   return offset;
12137 }
12138 
12139 
12140 
12141 int
12142 dissect_gsm_map_ms_Ext3_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12143 #line 771 "./asn1/gsm_map/gsm_map.cnf"
12144 
12145 	tvbuff_t	*parameter_tvb;
12146 
12147   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12148                                        &parameter_tvb);
12149 
12150 
12151 	if (!parameter_tvb)
12152 		return offset;
12153 	dissect_gsm_map_ext3_qos_subscribed(tvb, actx->pinfo, tree, actx);
12154 
12155 
12156 
12157   return offset;
12158 }
12159 
12160 
12161 
12162 static int
12163 dissect_gsm_map_ms_Ext4_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12164 #line 781 "./asn1/gsm_map/gsm_map.cnf"
12165 
12166 	tvbuff_t	*parameter_tvb;
12167 
12168   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12169                                        &parameter_tvb);
12170 
12171 
12172 	if (!parameter_tvb)
12173 		return offset;
12174 	dissect_gsm_map_ext4_qos_subscribed(tvb, actx->pinfo, tree, actx);
12175 
12176 
12177 
12178   return offset;
12179 }
12180 
12181 
12182 
12183 static int
12184 dissect_gsm_map_ms_APN_OI_Replacement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12185   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12186                                        NULL);
12187 
12188   return offset;
12189 }
12190 
12191 
12192 
12193 static int
12194 dissect_gsm_map_ms_Ext_PDP_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12195   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12196                                        NULL);
12197 
12198   return offset;
12199 }
12200 
12201 
12202 
12203 static int
12204 dissect_gsm_map_ms_Bandwidth(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12205   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12206                                                 NULL);
12207 
12208   return offset;
12209 }
12210 
12211 
12212 
12213 static int
12214 dissect_gsm_map_ms_BandwidthExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12215   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12216                                                 NULL);
12217 
12218   return offset;
12219 }
12220 
12221 
12222 static const ber_sequence_t gsm_map_ms_AMBR_sequence[] = {
12223   { &hf_gsm_map_ms_max_RequestedBandwidth_UL, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Bandwidth },
12224   { &hf_gsm_map_ms_max_RequestedBandwidth_DL, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Bandwidth },
12225   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12226   { &hf_gsm_map_ms_extended_Max_RequestedBandwidth_UL, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BandwidthExt },
12227   { &hf_gsm_map_ms_extended_Max_RequestedBandwidth_DL, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BandwidthExt },
12228   { NULL, 0, 0, 0, NULL }
12229 };
12230 
12231 static int
12232 dissect_gsm_map_ms_AMBR(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12233   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12234                                    gsm_map_ms_AMBR_sequence, hf_index, ett_gsm_map_ms_AMBR);
12235 
12236   return offset;
12237 }
12238 
12239 
12240 static const value_string gsm_map_ms_SIPTO_Permission_vals[] = {
12241   {   0, "siptoAboveRanAllowed" },
12242   {   1, "siptoAboveRanNotAllowed" },
12243   { 0, NULL }
12244 };
12245 
12246 
12247 static int
12248 dissect_gsm_map_ms_SIPTO_Permission(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12249   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12250                                   NULL);
12251 
12252   return offset;
12253 }
12254 
12255 
12256 static const value_string gsm_map_ms_LIPA_Permission_vals[] = {
12257   {   0, "lipaProhibited" },
12258   {   1, "lipaOnly" },
12259   {   2, "lipaConditional" },
12260   { 0, NULL }
12261 };
12262 
12263 
12264 static int
12265 dissect_gsm_map_ms_LIPA_Permission(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12266   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12267                                   NULL);
12268 
12269   return offset;
12270 }
12271 
12272 
12273 
12274 static int
12275 dissect_gsm_map_ms_Restoration_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12276   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12277                                        NULL);
12278 
12279   return offset;
12280 }
12281 
12282 
12283 static const value_string gsm_map_ms_SIPTO_Local_Network_Permission_vals[] = {
12284   {   0, "siptoAtLocalNetworkAllowed" },
12285   {   1, "siptoAtLocalNetworkNotAllowed" },
12286   { 0, NULL }
12287 };
12288 
12289 
12290 static int
12291 dissect_gsm_map_ms_SIPTO_Local_Network_Permission(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12292   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12293                                   NULL);
12294 
12295   return offset;
12296 }
12297 
12298 
12299 static const value_string gsm_map_ms_NIDD_Mechanism_vals[] = {
12300   {   0, "sGi-based-data-delivery" },
12301   {   1, "sCEF-based-data-delivery" },
12302   { 0, NULL }
12303 };
12304 
12305 
12306 static int
12307 dissect_gsm_map_ms_NIDD_Mechanism(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12308   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12309                                   NULL);
12310 
12311   return offset;
12312 }
12313 
12314 
12315 static const ber_sequence_t gsm_map_ms_PDP_Context_sequence[] = {
12316   { &hf_gsm_map_ms_pdp_ContextId, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ContextId },
12317   { &hf_gsm_map_ms_pdp_Type , BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Type },
12318   { &hf_gsm_map_ms_pdp_Address, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
12319   { &hf_gsm_map_ms_qos_Subscribed, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_QoS_Subscribed },
12320   { &hf_gsm_map_ms_vplmnAddressAllowed, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12321   { &hf_gsm_map_ms_apn      , BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN },
12322   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12323   { &hf_gsm_map_ms_ext_QoS_Subscribed, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_QoS_Subscribed },
12324   { &hf_gsm_map_ms_pdp_ChargingCharacteristics, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChargingCharacteristics },
12325   { &hf_gsm_map_ms_ext2_QoS_Subscribed, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext2_QoS_Subscribed },
12326   { &hf_gsm_map_ms_ext3_QoS_Subscribed, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext3_QoS_Subscribed },
12327   { &hf_gsm_map_ms_ext4_QoS_Subscribed, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext4_QoS_Subscribed },
12328   { &hf_gsm_map_ms_apn_oi_Replacement, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN_OI_Replacement },
12329   { &hf_gsm_map_ms_ext_pdp_Type, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_PDP_Type },
12330   { &hf_gsm_map_ms_ext_pdp_Address, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
12331   { &hf_gsm_map_ms_ambr     , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AMBR },
12332   { &hf_gsm_map_ms_sipto_Permission, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SIPTO_Permission },
12333   { &hf_gsm_map_ms_lipa_Permission, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LIPA_Permission },
12334   { &hf_gsm_map_ms_restoration_Priority, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Restoration_Priority },
12335   { &hf_gsm_map_ms_sipto_local_network_Permission, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SIPTO_Local_Network_Permission },
12336   { &hf_gsm_map_ms_nIDD_Mechanism, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NIDD_Mechanism },
12337   { &hf_gsm_map_ms_sCEF_ID  , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_FQDN },
12338   { NULL, 0, 0, 0, NULL }
12339 };
12340 
12341 static int
12342 dissect_gsm_map_ms_PDP_Context(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12343   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12344                                    gsm_map_ms_PDP_Context_sequence, hf_index, ett_gsm_map_ms_PDP_Context);
12345 
12346   return offset;
12347 }
12348 
12349 
12350 static const ber_sequence_t gsm_map_ms_GPRSDataList_sequence_of[1] = {
12351   { &hf_gsm_map_ms_GPRSDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_PDP_Context },
12352 };
12353 
12354 static int
12355 dissect_gsm_map_ms_GPRSDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12356   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12357                                       gsm_map_ms_GPRSDataList_sequence_of, hf_index, ett_gsm_map_ms_GPRSDataList);
12358 
12359   return offset;
12360 }
12361 
12362 
12363 static const ber_sequence_t gsm_map_ms_GPRSSubscriptionData_sequence[] = {
12364   { &hf_gsm_map_ms_completeDataListIncluded, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
12365   { &hf_gsm_map_ms_gprsDataList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRSDataList },
12366   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12367   { &hf_gsm_map_ms_apn_oi_Replacement, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN_OI_Replacement },
12368   { NULL, 0, 0, 0, NULL }
12369 };
12370 
12371 static int
12372 dissect_gsm_map_ms_GPRSSubscriptionData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12373   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12374                                    gsm_map_ms_GPRSSubscriptionData_sequence, hf_index, ett_gsm_map_ms_GPRSSubscriptionData);
12375 
12376   return offset;
12377 }
12378 
12379 
12380 static const value_string gsm_map_ms_NetworkAccessMode_vals[] = {
12381   {   0, "packetAndCircuit" },
12382   {   1, "onlyCircuit" },
12383   {   2, "onlyPacket" },
12384   { 0, NULL }
12385 };
12386 
12387 
12388 static int
12389 dissect_gsm_map_ms_NetworkAccessMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12390   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12391                                   NULL);
12392 
12393   return offset;
12394 }
12395 
12396 
12397 static const value_string gsm_map_ms_LSAOnlyAccessIndicator_vals[] = {
12398   {   0, "accessOutsideLSAsAllowed" },
12399   {   1, "accessOutsideLSAsRestricted" },
12400   { 0, NULL }
12401 };
12402 
12403 
12404 static int
12405 dissect_gsm_map_ms_LSAOnlyAccessIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12406   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12407                                   NULL);
12408 
12409   return offset;
12410 }
12411 
12412 
12413 
12414 static int
12415 dissect_gsm_map_ms_LSAAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12416   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12417                                        NULL);
12418 
12419   return offset;
12420 }
12421 
12422 
12423 static const ber_sequence_t gsm_map_ms_LSAData_sequence[] = {
12424   { &hf_gsm_map_ms_lsaIdentity, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAIdentity },
12425   { &hf_gsm_map_ms_lsaAttributes, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAAttributes },
12426   { &hf_gsm_map_ms_lsaActiveModeIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12427   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12428   { NULL, 0, 0, 0, NULL }
12429 };
12430 
12431 static int
12432 dissect_gsm_map_ms_LSAData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12433   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12434                                    gsm_map_ms_LSAData_sequence, hf_index, ett_gsm_map_ms_LSAData);
12435 
12436   return offset;
12437 }
12438 
12439 
12440 static const ber_sequence_t gsm_map_ms_LSADataList_sequence_of[1] = {
12441   { &hf_gsm_map_ms_LSADataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_LSAData },
12442 };
12443 
12444 static int
12445 dissect_gsm_map_ms_LSADataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12446   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12447                                       gsm_map_ms_LSADataList_sequence_of, hf_index, ett_gsm_map_ms_LSADataList);
12448 
12449   return offset;
12450 }
12451 
12452 
12453 static const ber_sequence_t gsm_map_ms_LSAInformation_sequence[] = {
12454   { &hf_gsm_map_ms_completeDataListIncluded, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
12455   { &hf_gsm_map_ms_lsaOnlyAccessIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAOnlyAccessIndicator },
12456   { &hf_gsm_map_ms_lsaDataList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSADataList },
12457   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12458   { NULL, 0, 0, 0, NULL }
12459 };
12460 
12461 static int
12462 dissect_gsm_map_ms_LSAInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12463   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12464                                    gsm_map_ms_LSAInformation_sequence, hf_index, ett_gsm_map_ms_LSAInformation);
12465 
12466   return offset;
12467 }
12468 
12469 
12470 static const ber_sequence_t gsm_map_ms_GMLC_List_sequence_of[1] = {
12471   { &hf_gsm_map_ms_GMLC_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
12472 };
12473 
12474 static int
12475 dissect_gsm_map_ms_GMLC_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12476   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12477                                       gsm_map_ms_GMLC_List_sequence_of, hf_index, ett_gsm_map_ms_GMLC_List);
12478 
12479   return offset;
12480 }
12481 
12482 
12483 const value_string gsm_map_ms_NotificationToMSUser_vals[] = {
12484   {   0, "notifyLocationAllowed" },
12485   {   1, "notifyAndVerify-LocationAllowedIfNoResponse" },
12486   {   2, "notifyAndVerify-LocationNotAllowedIfNoResponse" },
12487   {   3, "locationNotAllowed" },
12488   { 0, NULL }
12489 };
12490 
12491 
12492 int
12493 dissect_gsm_map_ms_NotificationToMSUser(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12494   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12495                                   NULL);
12496 
12497   return offset;
12498 }
12499 
12500 
12501 static const value_string gsm_map_ms_GMLC_Restriction_vals[] = {
12502   {   0, "gmlc-List" },
12503   {   1, "home-Country" },
12504   { 0, NULL }
12505 };
12506 
12507 
12508 static int
12509 dissect_gsm_map_ms_GMLC_Restriction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12510   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12511                                   NULL);
12512 
12513   return offset;
12514 }
12515 
12516 
12517 static const ber_sequence_t gsm_map_ms_ExternalClient_sequence[] = {
12518   { &hf_gsm_map_ms_clientIdentity, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LCSClientExternalID },
12519   { &hf_gsm_map_ms_gmlc_Restriction, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GMLC_Restriction },
12520   { &hf_gsm_map_ms_notificationToMSUser, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser },
12521   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12522   { NULL, 0, 0, 0, NULL }
12523 };
12524 
12525 static int
12526 dissect_gsm_map_ms_ExternalClient(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12527   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12528                                    gsm_map_ms_ExternalClient_sequence, hf_index, ett_gsm_map_ms_ExternalClient);
12529 
12530   return offset;
12531 }
12532 
12533 
12534 static const ber_sequence_t gsm_map_ms_ExternalClientList_sequence_of[1] = {
12535   { &hf_gsm_map_ms_ExternalClientList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ExternalClient },
12536 };
12537 
12538 static int
12539 dissect_gsm_map_ms_ExternalClientList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12540   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12541                                       gsm_map_ms_ExternalClientList_sequence_of, hf_index, ett_gsm_map_ms_ExternalClientList);
12542 
12543   return offset;
12544 }
12545 
12546 
12547 static const ber_sequence_t gsm_map_ms_PLMNClientList_sequence_of[1] = {
12548   { &hf_gsm_map_ms_PLMNClientList_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LCSClientInternalID },
12549 };
12550 
12551 static int
12552 dissect_gsm_map_ms_PLMNClientList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12553   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12554                                       gsm_map_ms_PLMNClientList_sequence_of, hf_index, ett_gsm_map_ms_PLMNClientList);
12555 
12556   return offset;
12557 }
12558 
12559 
12560 static const ber_sequence_t gsm_map_ms_Ext_ExternalClientList_sequence_of[1] = {
12561   { &hf_gsm_map_ms_Ext_ExternalClientList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ExternalClient },
12562 };
12563 
12564 static int
12565 dissect_gsm_map_ms_Ext_ExternalClientList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12566   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12567                                       gsm_map_ms_Ext_ExternalClientList_sequence_of, hf_index, ett_gsm_map_ms_Ext_ExternalClientList);
12568 
12569   return offset;
12570 }
12571 
12572 
12573 static const ber_sequence_t gsm_map_ms_ServiceType_sequence[] = {
12574   { &hf_gsm_map_ms_serviceTypeIdentity, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_LCSServiceTypeID },
12575   { &hf_gsm_map_ms_gmlc_Restriction, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GMLC_Restriction },
12576   { &hf_gsm_map_ms_notificationToMSUser, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser },
12577   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12578   { NULL, 0, 0, 0, NULL }
12579 };
12580 
12581 static int
12582 dissect_gsm_map_ms_ServiceType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12583   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12584                                    gsm_map_ms_ServiceType_sequence, hf_index, ett_gsm_map_ms_ServiceType);
12585 
12586   return offset;
12587 }
12588 
12589 
12590 static const ber_sequence_t gsm_map_ms_ServiceTypeList_sequence_of[1] = {
12591   { &hf_gsm_map_ms_ServiceTypeList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceType },
12592 };
12593 
12594 static int
12595 dissect_gsm_map_ms_ServiceTypeList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12596   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12597                                       gsm_map_ms_ServiceTypeList_sequence_of, hf_index, ett_gsm_map_ms_ServiceTypeList);
12598 
12599   return offset;
12600 }
12601 
12602 
12603 static const ber_sequence_t gsm_map_ms_LCS_PrivacyClass_sequence[] = {
12604   { &hf_gsm_map_ms_ss_Code  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
12605   { &hf_gsm_map_ms_ss_Status, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_SS_Status },
12606   { &hf_gsm_map_ms_notificationToMSUser, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser },
12607   { &hf_gsm_map_ms_externalClientList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ExternalClientList },
12608   { &hf_gsm_map_ms_plmnClientList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PLMNClientList },
12609   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12610   { &hf_gsm_map_ms_ext_externalClientList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ExternalClientList },
12611   { &hf_gsm_map_ms_serviceTypeList, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ServiceTypeList },
12612   { NULL, 0, 0, 0, NULL }
12613 };
12614 
12615 static int
12616 dissect_gsm_map_ms_LCS_PrivacyClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12617   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12618                                    gsm_map_ms_LCS_PrivacyClass_sequence, hf_index, ett_gsm_map_ms_LCS_PrivacyClass);
12619 
12620   return offset;
12621 }
12622 
12623 
12624 static const ber_sequence_t gsm_map_ms_LCS_PrivacyExceptionList_sequence_of[1] = {
12625   { &hf_gsm_map_ms_LCS_PrivacyExceptionList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_LCS_PrivacyClass },
12626 };
12627 
12628 static int
12629 dissect_gsm_map_ms_LCS_PrivacyExceptionList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12630   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12631                                       gsm_map_ms_LCS_PrivacyExceptionList_sequence_of, hf_index, ett_gsm_map_ms_LCS_PrivacyExceptionList);
12632 
12633   return offset;
12634 }
12635 
12636 
12637 static const ber_sequence_t gsm_map_ms_MOLR_Class_sequence[] = {
12638   { &hf_gsm_map_ms_ss_Code  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SS_Code },
12639   { &hf_gsm_map_ms_ss_Status, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_SS_Status },
12640   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12641   { NULL, 0, 0, 0, NULL }
12642 };
12643 
12644 static int
12645 dissect_gsm_map_ms_MOLR_Class(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12646   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12647                                    gsm_map_ms_MOLR_Class_sequence, hf_index, ett_gsm_map_ms_MOLR_Class);
12648 
12649   return offset;
12650 }
12651 
12652 
12653 static const ber_sequence_t gsm_map_ms_MOLR_List_sequence_of[1] = {
12654   { &hf_gsm_map_ms_MOLR_List_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MOLR_Class },
12655 };
12656 
12657 static int
12658 dissect_gsm_map_ms_MOLR_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12659   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12660                                       gsm_map_ms_MOLR_List_sequence_of, hf_index, ett_gsm_map_ms_MOLR_List);
12661 
12662   return offset;
12663 }
12664 
12665 
12666 static const ber_sequence_t gsm_map_ms_LCSInformation_sequence[] = {
12667   { &hf_gsm_map_ms_gmlc_List, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GMLC_List },
12668   { &hf_gsm_map_ms_lcs_PrivacyExceptionList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCS_PrivacyExceptionList },
12669   { &hf_gsm_map_ms_molr_List, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MOLR_List },
12670   { &hf_gsm_map_ms_add_lcs_PrivacyExceptionList, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCS_PrivacyExceptionList },
12671   { NULL, 0, 0, 0, NULL }
12672 };
12673 
12674 static int
12675 dissect_gsm_map_ms_LCSInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12676   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12677                                    gsm_map_ms_LCSInformation_sequence, hf_index, ett_gsm_map_ms_LCSInformation);
12678 
12679   return offset;
12680 }
12681 
12682 
12683 
12684 static int
12685 dissect_gsm_map_ms_IST_AlertTimerValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12686   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12687                                                 NULL);
12688 
12689   return offset;
12690 }
12691 
12692 
12693 
12694 static int
12695 dissect_gsm_map_ms_CS_AllocationRetentionPriority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12696   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12697                                        NULL);
12698 
12699   return offset;
12700 }
12701 
12702 
12703 static const value_string gsm_map_ms_GPRS_TriggerDetectionPoint_vals[] = {
12704   {   1, "attach" },
12705   {   2, "attachChangeOfPosition" },
12706   {  11, "pdp-ContextEstablishment" },
12707   {  12, "pdp-ContextEstablishmentAcknowledgement" },
12708   {  14, "pdp-ContextChangeOfPosition" },
12709   { 0, NULL }
12710 };
12711 
12712 
12713 static int
12714 dissect_gsm_map_ms_GPRS_TriggerDetectionPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12715   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12716                                   NULL);
12717 
12718   return offset;
12719 }
12720 
12721 
12722 const value_string gsm_map_ms_DefaultGPRS_Handling_vals[] = {
12723   {   0, "continueTransaction" },
12724   {   1, "releaseTransaction" },
12725   { 0, NULL }
12726 };
12727 
12728 
12729 int
12730 dissect_gsm_map_ms_DefaultGPRS_Handling(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12731   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12732                                   NULL);
12733 
12734   return offset;
12735 }
12736 
12737 
12738 static const ber_sequence_t gsm_map_ms_GPRS_CamelTDPData_sequence[] = {
12739   { &hf_gsm_map_ms_gprs_TriggerDetectionPoint, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRS_TriggerDetectionPoint },
12740   { &hf_gsm_map_ms_serviceKey, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ServiceKey },
12741   { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
12742   { &hf_gsm_map_ms_defaultSessionHandling, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DefaultGPRS_Handling },
12743   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12744   { NULL, 0, 0, 0, NULL }
12745 };
12746 
12747 static int
12748 dissect_gsm_map_ms_GPRS_CamelTDPData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12749   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12750                                    gsm_map_ms_GPRS_CamelTDPData_sequence, hf_index, ett_gsm_map_ms_GPRS_CamelTDPData);
12751 
12752   return offset;
12753 }
12754 
12755 
12756 static const ber_sequence_t gsm_map_ms_GPRS_CamelTDPDataList_sequence_of[1] = {
12757   { &hf_gsm_map_ms_GPRS_CamelTDPDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_GPRS_CamelTDPData },
12758 };
12759 
12760 static int
12761 dissect_gsm_map_ms_GPRS_CamelTDPDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12762   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12763                                       gsm_map_ms_GPRS_CamelTDPDataList_sequence_of, hf_index, ett_gsm_map_ms_GPRS_CamelTDPDataList);
12764 
12765   return offset;
12766 }
12767 
12768 
12769 static const ber_sequence_t gsm_map_ms_GPRS_CSI_sequence[] = {
12770   { &hf_gsm_map_ms_gprs_CamelTDPDataList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRS_CamelTDPDataList },
12771   { &hf_gsm_map_ms_camelCapabilityHandling, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CamelCapabilityHandling },
12772   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12773   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12774   { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12775   { NULL, 0, 0, 0, NULL }
12776 };
12777 
12778 static int
12779 dissect_gsm_map_ms_GPRS_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12780   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12781                                    gsm_map_ms_GPRS_CSI_sequence, hf_index, ett_gsm_map_ms_GPRS_CSI);
12782 
12783   return offset;
12784 }
12785 
12786 
12787 static const ber_sequence_t gsm_map_ms_MG_CSI_sequence[] = {
12788   { &hf_gsm_map_ms_mobilityTriggers, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MobilityTriggers },
12789   { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey },
12790   { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
12791   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12792   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12793   { &hf_gsm_map_ms_csi_Active, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
12794   { NULL, 0, 0, 0, NULL }
12795 };
12796 
12797 static int
12798 dissect_gsm_map_ms_MG_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12799   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12800                                    gsm_map_ms_MG_CSI_sequence, hf_index, ett_gsm_map_ms_MG_CSI);
12801 
12802   return offset;
12803 }
12804 
12805 
12806 static const ber_sequence_t gsm_map_ms_SGSN_CAMEL_SubscriptionInfo_sequence[] = {
12807   { &hf_gsm_map_ms_gprs_CSI , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRS_CSI },
12808   { &hf_gsm_map_ms_mo_sms_CSI, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI },
12809   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12810   { &hf_gsm_map_ms_mt_sms_CSI, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI },
12811   { &hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MT_smsCAMELTDP_CriteriaList },
12812   { &hf_gsm_map_ms_mg_csi   , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MG_CSI },
12813   { NULL, 0, 0, 0, NULL }
12814 };
12815 
12816 static int
12817 dissect_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12818   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12819                                    gsm_map_ms_SGSN_CAMEL_SubscriptionInfo_sequence, hf_index, ett_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo);
12820 
12821   return offset;
12822 }
12823 
12824 
12825 static int * const gsm_map_ms_AccessRestrictionData_bits[] = {
12826   &hf_gsm_map_ms_AccessRestrictionData_utranNotAllowed,
12827   &hf_gsm_map_ms_AccessRestrictionData_geranNotAllowed,
12828   &hf_gsm_map_ms_AccessRestrictionData_ganNotAllowed,
12829   &hf_gsm_map_ms_AccessRestrictionData_i_hspa_evolutionNotAllowed,
12830   &hf_gsm_map_ms_AccessRestrictionData_wb_e_utranNotAllowed,
12831   &hf_gsm_map_ms_AccessRestrictionData_ho_toNon3GPP_AccessNotAllowed,
12832   &hf_gsm_map_ms_AccessRestrictionData_nb_iotNotAllowed,
12833   &hf_gsm_map_ms_AccessRestrictionData_enhancedCoverageNotAllowed,
12834   NULL
12835 };
12836 
12837 static int
12838 dissect_gsm_map_ms_AccessRestrictionData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12839   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
12840                                     gsm_map_ms_AccessRestrictionData_bits, 8, hf_index, ett_gsm_map_ms_AccessRestrictionData,
12841                                     NULL);
12842 
12843   return offset;
12844 }
12845 
12846 
12847 
12848 static int
12849 dissect_gsm_map_ms_RFSP_ID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12850   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12851                                                 NULL);
12852 
12853   return offset;
12854 }
12855 
12856 
12857 
12858 static int
12859 dissect_gsm_map_ms_PDN_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12860   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12861                                        NULL);
12862 
12863   return offset;
12864 }
12865 
12866 
12867 
12868 static int
12869 dissect_gsm_map_ms_QoS_Class_Identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12870   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12871                                                 NULL);
12872 
12873   return offset;
12874 }
12875 
12876 
12877 
12878 static int
12879 dissect_gsm_map_ms_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12880   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12881                                                 NULL);
12882 
12883   return offset;
12884 }
12885 
12886 
12887 static const ber_sequence_t gsm_map_ms_Allocation_Retention_Priority_sequence[] = {
12888   { &hf_gsm_map_ms_priority_level, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_INTEGER },
12889   { &hf_gsm_map_ms_pre_emption_capability, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BOOLEAN },
12890   { &hf_gsm_map_ms_pre_emption_vulnerability, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BOOLEAN },
12891   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12892   { NULL, 0, 0, 0, NULL }
12893 };
12894 
12895 static int
12896 dissect_gsm_map_ms_Allocation_Retention_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12897   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12898                                    gsm_map_ms_Allocation_Retention_Priority_sequence, hf_index, ett_gsm_map_ms_Allocation_Retention_Priority);
12899 
12900   return offset;
12901 }
12902 
12903 
12904 static const ber_sequence_t gsm_map_ms_EPS_QoS_Subscribed_sequence[] = {
12905   { &hf_gsm_map_ms_qos_Class_Identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_QoS_Class_Identifier },
12906   { &hf_gsm_map_ms_allocation_Retention_Priority, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Allocation_Retention_Priority },
12907   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12908   { NULL, 0, 0, 0, NULL }
12909 };
12910 
12911 static int
12912 dissect_gsm_map_ms_EPS_QoS_Subscribed(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12913   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12914                                    gsm_map_ms_EPS_QoS_Subscribed_sequence, hf_index, ett_gsm_map_ms_EPS_QoS_Subscribed);
12915 
12916   return offset;
12917 }
12918 
12919 
12920 static const value_string gsm_map_ms_PDN_GW_AllocationType_vals[] = {
12921   {   0, "static" },
12922   {   1, "dynamic" },
12923   { 0, NULL }
12924 };
12925 
12926 
12927 static int
12928 dissect_gsm_map_ms_PDN_GW_AllocationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12929   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12930                                   NULL);
12931 
12932   return offset;
12933 }
12934 
12935 
12936 static const ber_sequence_t gsm_map_ms_SpecificAPNInfo_sequence[] = {
12937   { &hf_gsm_map_ms_apn      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN },
12938   { &hf_gsm_map_ms_pdn_gw_Identity, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDN_GW_Identity },
12939   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12940   { NULL, 0, 0, 0, NULL }
12941 };
12942 
12943 static int
12944 dissect_gsm_map_ms_SpecificAPNInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12945   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12946                                    gsm_map_ms_SpecificAPNInfo_sequence, hf_index, ett_gsm_map_ms_SpecificAPNInfo);
12947 
12948   return offset;
12949 }
12950 
12951 
12952 static const ber_sequence_t gsm_map_ms_SpecificAPNInfoList_sequence_of[1] = {
12953   { &hf_gsm_map_ms_SpecificAPNInfoList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SpecificAPNInfo },
12954 };
12955 
12956 static int
12957 dissect_gsm_map_ms_SpecificAPNInfoList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12958   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12959                                       gsm_map_ms_SpecificAPNInfoList_sequence_of, hf_index, ett_gsm_map_ms_SpecificAPNInfoList);
12960 
12961   return offset;
12962 }
12963 
12964 
12965 static const value_string gsm_map_ms_WLAN_Offloadability_Indication_vals[] = {
12966   {   0, "notAllowed" },
12967   {   1, "allowed" },
12968   { 0, NULL }
12969 };
12970 
12971 
12972 static int
12973 dissect_gsm_map_ms_WLAN_Offloadability_Indication(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12974   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12975                                   NULL);
12976 
12977   return offset;
12978 }
12979 
12980 
12981 static const ber_sequence_t gsm_map_ms_WLAN_Offloadability_sequence[] = {
12982   { &hf_gsm_map_ms_wlan_offloadability_EUTRAN, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_WLAN_Offloadability_Indication },
12983   { &hf_gsm_map_ms_wlan_offloadability_UTRAN, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_WLAN_Offloadability_Indication },
12984   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
12985   { NULL, 0, 0, 0, NULL }
12986 };
12987 
12988 static int
12989 dissect_gsm_map_ms_WLAN_Offloadability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12990   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12991                                    gsm_map_ms_WLAN_Offloadability_sequence, hf_index, ett_gsm_map_ms_WLAN_Offloadability);
12992 
12993   return offset;
12994 }
12995 
12996 
12997 static const value_string gsm_map_ms_PDN_ConnectionContinuity_vals[] = {
12998   {   0, "maintainPDN-Connection" },
12999   {   1, "disconnectPDN-ConnectionWithReactivationRequest" },
13000   {   2, "disconnectPDN-ConnectionWithoutReactivationRequest" },
13001   { 0, NULL }
13002 };
13003 
13004 
13005 static int
13006 dissect_gsm_map_ms_PDN_ConnectionContinuity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13007   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13008                                   NULL);
13009 
13010   return offset;
13011 }
13012 
13013 
13014 static const ber_sequence_t gsm_map_ms_APN_Configuration_sequence[] = {
13015   { &hf_gsm_map_ms_contextId, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ContextId },
13016   { &hf_gsm_map_ms_pdn_Type , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDN_Type },
13017   { &hf_gsm_map_ms_servedPartyIP_IPv4_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
13018   { &hf_gsm_map_ms_apn      , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN },
13019   { &hf_gsm_map_ms_eps_qos_Subscribed, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EPS_QoS_Subscribed },
13020   { &hf_gsm_map_ms_pdn_gw_Identity, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDN_GW_Identity },
13021   { &hf_gsm_map_ms_pdn_gw_AllocationType, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDN_GW_AllocationType },
13022   { &hf_gsm_map_ms_vplmnAddressAllowed, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13023   { &hf_gsm_map_ms_chargingCharacteristics, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChargingCharacteristics },
13024   { &hf_gsm_map_ms_ambr     , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AMBR },
13025   { &hf_gsm_map_ms_specificAPNInfoList, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SpecificAPNInfoList },
13026   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13027   { &hf_gsm_map_ms_servedPartyIP_IPv6_Address, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
13028   { &hf_gsm_map_ms_apn_oi_Replacement, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN_OI_Replacement },
13029   { &hf_gsm_map_ms_sipto_Permission, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SIPTO_Permission },
13030   { &hf_gsm_map_ms_lipa_Permission, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LIPA_Permission },
13031   { &hf_gsm_map_ms_restoration_Priority, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Restoration_Priority },
13032   { &hf_gsm_map_ms_sipto_local_network_Permission, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SIPTO_Local_Network_Permission },
13033   { &hf_gsm_map_ms_wlan_offloadability, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_WLAN_Offloadability },
13034   { &hf_gsm_map_ms_non_IP_PDN_Type_Indicator, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13035   { &hf_gsm_map_ms_nIDD_Mechanism, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NIDD_Mechanism },
13036   { &hf_gsm_map_ms_sCEF_ID  , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_FQDN },
13037   { &hf_gsm_map_ms_pdn_ConnectionContinuity, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDN_ConnectionContinuity },
13038   { NULL, 0, 0, 0, NULL }
13039 };
13040 
13041 static int
13042 dissect_gsm_map_ms_APN_Configuration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13043   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13044                                    gsm_map_ms_APN_Configuration_sequence, hf_index, ett_gsm_map_ms_APN_Configuration);
13045 
13046   return offset;
13047 }
13048 
13049 
13050 static const ber_sequence_t gsm_map_ms_EPS_DataList_sequence_of[1] = {
13051   { &hf_gsm_map_ms_EPS_DataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_APN_Configuration },
13052 };
13053 
13054 static int
13055 dissect_gsm_map_ms_EPS_DataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13056   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
13057                                       gsm_map_ms_EPS_DataList_sequence_of, hf_index, ett_gsm_map_ms_EPS_DataList);
13058 
13059   return offset;
13060 }
13061 
13062 
13063 static const ber_sequence_t gsm_map_ms_APN_ConfigurationProfile_sequence[] = {
13064   { &hf_gsm_map_ms_defaultContext, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ContextId },
13065   { &hf_gsm_map_ms_completeDataListIncluded, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
13066   { &hf_gsm_map_ms_epsDataList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EPS_DataList },
13067   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13068   { &hf_gsm_map_ms_additionalDefaultContext, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ContextId },
13069   { NULL, 0, 0, 0, NULL }
13070 };
13071 
13072 static int
13073 dissect_gsm_map_ms_APN_ConfigurationProfile(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13074   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13075                                    gsm_map_ms_APN_ConfigurationProfile_sequence, hf_index, ett_gsm_map_ms_APN_ConfigurationProfile);
13076 
13077   return offset;
13078 }
13079 
13080 
13081 static const ber_sequence_t gsm_map_ms_EPS_SubscriptionData_sequence[] = {
13082   { &hf_gsm_map_ms_apn_oi_Replacement, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN_OI_Replacement },
13083   { &hf_gsm_map_ms_rfsp_id  , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RFSP_ID },
13084   { &hf_gsm_map_ms_ambr     , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AMBR },
13085   { &hf_gsm_map_ms_apn_ConfigurationProfile, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN_ConfigurationProfile },
13086   { &hf_gsm_map_ms_stn_sr   , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13087   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13088   { &hf_gsm_map_ms_mps_CSPriority, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13089   { &hf_gsm_map_ms_mps_EPSPriority, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13090   { &hf_gsm_map_ms_subscribed_vsrvcc, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13091   { NULL, 0, 0, 0, NULL }
13092 };
13093 
13094 static int
13095 dissect_gsm_map_ms_EPS_SubscriptionData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13096   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13097                                    gsm_map_ms_EPS_SubscriptionData_sequence, hf_index, ett_gsm_map_ms_EPS_SubscriptionData);
13098 
13099   return offset;
13100 }
13101 
13102 
13103 
13104 static int
13105 dissect_gsm_map_ms_SubscribedPeriodicRAUTAUtimer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13106   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13107                                                 NULL);
13108 
13109   return offset;
13110 }
13111 
13112 
13113 
13114 static int
13115 dissect_gsm_map_ms_SubscribedPeriodicLAUtimer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13116   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13117                                                 NULL);
13118 
13119   return offset;
13120 }
13121 
13122 
13123 static const ber_sequence_t gsm_map_ms_VPLMN_CSG_SubscriptionDataList_sequence_of[1] = {
13124   { &hf_gsm_map_ms_VPLMN_CSG_SubscriptionDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CSG_SubscriptionData },
13125 };
13126 
13127 static int
13128 dissect_gsm_map_ms_VPLMN_CSG_SubscriptionDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13129   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
13130                                       gsm_map_ms_VPLMN_CSG_SubscriptionDataList_sequence_of, hf_index, ett_gsm_map_ms_VPLMN_CSG_SubscriptionDataList);
13131 
13132   return offset;
13133 }
13134 
13135 
13136 static int * const gsm_map_ms_Ext_AccessRestrictionData_bits[] = {
13137   &hf_gsm_map_ms_Ext_AccessRestrictionData_nrAsSecondaryRATNotAllowed,
13138   &hf_gsm_map_ms_Ext_AccessRestrictionData_unlicensedSpectrumAsSecondaryRATNotAllowed,
13139   NULL
13140 };
13141 
13142 static int
13143 dissect_gsm_map_ms_Ext_AccessRestrictionData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13144   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
13145                                     gsm_map_ms_Ext_AccessRestrictionData_bits, 2, hf_index, ett_gsm_map_ms_Ext_AccessRestrictionData,
13146                                     NULL);
13147 
13148   return offset;
13149 }
13150 
13151 
13152 static const ber_sequence_t gsm_map_ms_AdjacentAccessRestrictionData_sequence[] = {
13153   { &hf_gsm_map_ms_plmnId   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_PLMN_Id },
13154   { &hf_gsm_map_ms_accessRestrictionData, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AccessRestrictionData },
13155   { &hf_gsm_map_ms_ext_AccessRestrictionData, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_AccessRestrictionData },
13156   { NULL, 0, 0, 0, NULL }
13157 };
13158 
13159 static int
13160 dissect_gsm_map_ms_AdjacentAccessRestrictionData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13161   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13162                                    gsm_map_ms_AdjacentAccessRestrictionData_sequence, hf_index, ett_gsm_map_ms_AdjacentAccessRestrictionData);
13163 
13164   return offset;
13165 }
13166 
13167 
13168 static const ber_sequence_t gsm_map_ms_AdjacentAccessRestrictionDataList_sequence_of[1] = {
13169   { &hf_gsm_map_ms_AdjacentAccessRestrictionDataList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_AdjacentAccessRestrictionData },
13170 };
13171 
13172 static int
13173 dissect_gsm_map_ms_AdjacentAccessRestrictionDataList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13174   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
13175                                       gsm_map_ms_AdjacentAccessRestrictionDataList_sequence_of, hf_index, ett_gsm_map_ms_AdjacentAccessRestrictionDataList);
13176 
13177   return offset;
13178 }
13179 
13180 
13181 
13182 static int
13183 dissect_gsm_map_ms_Group_Service_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_) {
13184   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13185                                                 NULL);
13186 
13187   return offset;
13188 }
13189 
13190 
13191 
13192 static int
13193 dissect_gsm_map_ms_Local_GroupID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13194   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13195                                        NULL);
13196 
13197   return offset;
13198 }
13199 
13200 
13201 static const ber_sequence_t gsm_map_ms_IMSI_GroupId_sequence[] = {
13202   { &hf_gsm_map_ms_group_Service_Id, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Group_Service_ID },
13203   { &hf_gsm_map_ms_plmnId   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_PLMN_Id },
13204   { &hf_gsm_map_ms_local_Group_ID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Local_GroupID },
13205   { NULL, 0, 0, 0, NULL }
13206 };
13207 
13208 static int
13209 dissect_gsm_map_ms_IMSI_GroupId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13210   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13211                                    gsm_map_ms_IMSI_GroupId_sequence, hf_index, ett_gsm_map_ms_IMSI_GroupId);
13212 
13213   return offset;
13214 }
13215 
13216 
13217 static const ber_sequence_t gsm_map_ms_IMSI_GroupIdList_sequence_of[1] = {
13218   { &hf_gsm_map_ms_IMSI_GroupIdList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_IMSI_GroupId },
13219 };
13220 
13221 static int
13222 dissect_gsm_map_ms_IMSI_GroupIdList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13223   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
13224                                       gsm_map_ms_IMSI_GroupIdList_sequence_of, hf_index, ett_gsm_map_ms_IMSI_GroupIdList);
13225 
13226   return offset;
13227 }
13228 
13229 
13230 
13231 static int
13232 dissect_gsm_map_ms_DL_Buffering_Suggested_Packet_Count(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13233   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13234                                                 NULL);
13235 
13236   return offset;
13237 }
13238 
13239 
13240 
13241 static int
13242 dissect_gsm_map_ms_Reset_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_) {
13243   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13244                                        NULL);
13245 
13246   return offset;
13247 }
13248 
13249 
13250 static const ber_sequence_t gsm_map_ms_Reset_Id_List_sequence_of[1] = {
13251   { &hf_gsm_map_ms_Reset_Id_List_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Reset_Id },
13252 };
13253 
13254 static int
13255 dissect_gsm_map_ms_Reset_Id_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_) {
13256   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
13257                                       gsm_map_ms_Reset_Id_List_sequence_of, hf_index, ett_gsm_map_ms_Reset_Id_List);
13258 
13259   return offset;
13260 }
13261 
13262 
13263 
13264 static int
13265 dissect_gsm_map_ms_EDRX_Cycle_Length_Value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13266   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13267                                        NULL);
13268 
13269   return offset;
13270 }
13271 
13272 
13273 static const ber_sequence_t gsm_map_ms_EDRX_Cycle_Length_sequence[] = {
13274   { &hf_gsm_map_ms_rat_Type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Used_RAT_Type },
13275   { &hf_gsm_map_ms_eDRX_Cycle_Length_Value, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EDRX_Cycle_Length_Value },
13276   { NULL, 0, 0, 0, NULL }
13277 };
13278 
13279 static int
13280 dissect_gsm_map_ms_EDRX_Cycle_Length(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13281   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13282                                    gsm_map_ms_EDRX_Cycle_Length_sequence, hf_index, ett_gsm_map_ms_EDRX_Cycle_Length);
13283 
13284   return offset;
13285 }
13286 
13287 
13288 static const ber_sequence_t gsm_map_ms_EDRX_Cycle_Length_List_sequence_of[1] = {
13289   { &hf_gsm_map_ms_EDRX_Cycle_Length_List_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_EDRX_Cycle_Length },
13290 };
13291 
13292 static int
13293 dissect_gsm_map_ms_EDRX_Cycle_Length_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_) {
13294   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
13295                                       gsm_map_ms_EDRX_Cycle_Length_List_sequence_of, hf_index, ett_gsm_map_ms_EDRX_Cycle_Length_List);
13296 
13297   return offset;
13298 }
13299 
13300 
13301 static const ber_sequence_t gsm_map_ms_InsertSubscriberDataArg_sequence[] = {
13302   { &hf_gsm_map_ms_imsi     , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13303   { &hf_gsm_map_ms_msisdn   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13304   { &hf_gsm_map_ms_category , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Category },
13305   { &hf_gsm_map_ms_subscriberStatus, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscriberStatus },
13306   { &hf_gsm_map_ms_bearerServiceList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BearerServiceList },
13307   { &hf_gsm_map_ms_teleserviceList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TeleserviceList },
13308   { &hf_gsm_map_ms_provisionedSS, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_SS_InfoList },
13309   { &hf_gsm_map_ms_odb_Data , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Data },
13310   { &hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13311   { &hf_gsm_map_ms_regionalSubscriptionData, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ZoneCodeList },
13312   { &hf_gsm_map_ms_vbsSubscriptionData, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VBSDataList },
13313   { &hf_gsm_map_ms_vgcsSubscriptionData, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VGCSDataList },
13314   { &hf_gsm_map_ms_vlrCamelSubscriptionInfo, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VlrCamelSubscriptionInfo },
13315   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13316   { &hf_gsm_map_ms_naea_PreferredCI, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NAEA_PreferredCI },
13317   { &hf_gsm_map_ms_gprsSubscriptionData, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRSSubscriptionData },
13318   { &hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsupportedFeature, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13319   { &hf_gsm_map_ms_networkAccessMode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NetworkAccessMode },
13320   { &hf_gsm_map_ms_lsaInformation, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LSAInformation },
13321   { &hf_gsm_map_ms_lmu_Indicator, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13322   { &hf_gsm_map_ms_lcsInformation, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LCSInformation },
13323   { &hf_gsm_map_ms_istAlertTimer, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_AlertTimerValue },
13324   { &hf_gsm_map_ms_superChargerSupportedInHLR, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AgeIndicator },
13325   { &hf_gsm_map_ms_mc_SS_Info, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_MC_SS_Info },
13326   { &hf_gsm_map_ms_cs_AllocationRetentionPriority, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CS_AllocationRetentionPriority },
13327   { &hf_gsm_map_ms_sgsn_CAMEL_SubscriptionInfo, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo },
13328   { &hf_gsm_map_ms_chargingCharacteristics, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChargingCharacteristics },
13329   { &hf_gsm_map_ms_accessRestrictionData, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AccessRestrictionData },
13330   { &hf_gsm_map_ms_ics_Indicator, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BOOLEAN },
13331   { &hf_gsm_map_ms_eps_SubscriptionData, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EPS_SubscriptionData },
13332   { &hf_gsm_map_ms_csg_SubscriptionDataList, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CSG_SubscriptionDataList },
13333   { &hf_gsm_map_ms_ue_ReachabilityRequestIndicator, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13334   { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13335   { &hf_gsm_map_ms_mme_Name , BER_CLASS_CON, 35, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
13336   { &hf_gsm_map_ms_subscribedPeriodicRAUTAUtimer, BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscribedPeriodicRAUTAUtimer },
13337   { &hf_gsm_map_ms_vplmnLIPAAllowed, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13338   { &hf_gsm_map_ms_mdtUserConsent, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BOOLEAN },
13339   { &hf_gsm_map_ms_subscribedPeriodicLAUtimer, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscribedPeriodicLAUtimer },
13340   { &hf_gsm_map_ms_vplmn_Csg_SubscriptionDataList, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VPLMN_CSG_SubscriptionDataList },
13341   { &hf_gsm_map_ms_additionalMSISDN, BER_CLASS_CON, 41, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13342   { &hf_gsm_map_ms_psAndSMS_OnlyServiceProvision, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13343   { &hf_gsm_map_ms_smsInSGSNAllowed, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13344   { &hf_gsm_map_ms_cs_to_ps_SRVCC_Allowed_Indicator, BER_CLASS_CON, 44, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13345   { &hf_gsm_map_ms_pcscf_Restoration_Request, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13346   { &hf_gsm_map_ms_adjacentAccessRestrictionDataList, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdjacentAccessRestrictionDataList },
13347   { &hf_gsm_map_ms_imsi_Group_Id_List, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IMSI_GroupIdList },
13348   { &hf_gsm_map_ms_ueUsageType, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_UE_UsageType },
13349   { &hf_gsm_map_ms_userPlaneIntegrityProtectionIndicator, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13350   { &hf_gsm_map_ms_dl_Buffering_Suggested_Packet_Count, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DL_Buffering_Suggested_Packet_Count },
13351   { &hf_gsm_map_ms_reset_Id_List, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Reset_Id_List },
13352   { &hf_gsm_map_ms_eDRX_Cycle_Length_List, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EDRX_Cycle_Length_List },
13353   { &hf_gsm_map_ms_ext_AccessRestrictionData, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_AccessRestrictionData },
13354   { &hf_gsm_map_ms_iab_Operation_Allowed_Indicator, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13355   { NULL, 0, 0, 0, NULL }
13356 };
13357 
13358 static int
13359 dissect_gsm_map_ms_InsertSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13360   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13361                                    gsm_map_ms_InsertSubscriberDataArg_sequence, hf_index, ett_gsm_map_ms_InsertSubscriberDataArg);
13362 
13363   return offset;
13364 }
13365 
13366 
13367 static const ber_sequence_t gsm_map_ms_SubscriberData_sequence[] = {
13368   { &hf_gsm_map_ms_msisdn   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13369   { &hf_gsm_map_ms_category , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Category },
13370   { &hf_gsm_map_ms_subscriberStatus, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscriberStatus },
13371   { &hf_gsm_map_ms_bearerServiceList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BearerServiceList },
13372   { &hf_gsm_map_ms_teleserviceList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TeleserviceList },
13373   { &hf_gsm_map_ms_provisionedSS, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_SS_InfoList },
13374   { &hf_gsm_map_ms_odb_Data , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Data },
13375   { &hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13376   { &hf_gsm_map_ms_regionalSubscriptionData, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ZoneCodeList },
13377   { &hf_gsm_map_ms_vbsSubscriptionData, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VBSDataList },
13378   { &hf_gsm_map_ms_vgcsSubscriptionData, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VGCSDataList },
13379   { &hf_gsm_map_ms_vlrCamelSubscriptionInfo, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VlrCamelSubscriptionInfo },
13380   { NULL, 0, 0, 0, NULL }
13381 };
13382 
13383 static int
13384 dissect_gsm_map_ms_SubscriberData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13385   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13386                                    gsm_map_ms_SubscriberData_sequence, hf_index, ett_gsm_map_ms_SubscriberData);
13387 
13388   return offset;
13389 }
13390 
13391 
13392 static const value_string gsm_map_ms_RegionalSubscriptionResponse_vals[] = {
13393   {   0, "networkNode-AreaRestricted" },
13394   {   1, "tooManyZoneCodes" },
13395   {   2, "zoneCodesConflict" },
13396   {   3, "regionalSubscNotSupported" },
13397   { 0, NULL }
13398 };
13399 
13400 
13401 static int
13402 dissect_gsm_map_ms_RegionalSubscriptionResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13403   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13404                                   NULL);
13405 
13406   return offset;
13407 }
13408 
13409 
13410 static const ber_sequence_t gsm_map_ms_InsertSubscriberDataRes_sequence[] = {
13411   { &hf_gsm_map_ms_teleserviceList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TeleserviceList },
13412   { &hf_gsm_map_ms_bearerServiceList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BearerServiceList },
13413   { &hf_gsm_map_ms_ss_List  , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_List },
13414   { &hf_gsm_map_ms_odb_GeneralData, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_GeneralData },
13415   { &hf_gsm_map_ms_regionalSubscriptionResponse, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RegionalSubscriptionResponse },
13416   { &hf_gsm_map_ms_supportedCamelPhases, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
13417   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13418   { &hf_gsm_map_ms_offeredCamel4CSIs, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
13419   { &hf_gsm_map_ms_supportedFeatures, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedFeatures },
13420   { &hf_gsm_map_ms_ext_SupportedFeatures, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_SupportedFeatures },
13421   { NULL, 0, 0, 0, NULL }
13422 };
13423 
13424 static int
13425 dissect_gsm_map_ms_InsertSubscriberDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13426   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13427                                    gsm_map_ms_InsertSubscriberDataRes_sequence, hf_index, ett_gsm_map_ms_InsertSubscriberDataRes);
13428 
13429   return offset;
13430 }
13431 
13432 
13433 static const ber_sequence_t gsm_map_ms_BasicServiceList_sequence_of[1] = {
13434   { &hf_gsm_map_ms_BasicServiceList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_BasicServiceCode },
13435 };
13436 
13437 static int
13438 dissect_gsm_map_ms_BasicServiceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13439   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
13440                                       gsm_map_ms_BasicServiceList_sequence_of, hf_index, ett_gsm_map_ms_BasicServiceList);
13441 
13442   return offset;
13443 }
13444 
13445 
13446 static const ber_sequence_t gsm_map_ms_ContextIdList_sequence_of[1] = {
13447   { &hf_gsm_map_ms_ContextIdList_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ContextId },
13448 };
13449 
13450 static int
13451 dissect_gsm_map_ms_ContextIdList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13452   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
13453                                       gsm_map_ms_ContextIdList_sequence_of, hf_index, ett_gsm_map_ms_ContextIdList);
13454 
13455   return offset;
13456 }
13457 
13458 
13459 static const value_string gsm_map_ms_GPRSSubscriptionDataWithdraw_vals[] = {
13460   {   0, "allGPRSData" },
13461   {   1, "contextIdList" },
13462   { 0, NULL }
13463 };
13464 
13465 static const ber_choice_t gsm_map_ms_GPRSSubscriptionDataWithdraw_choice[] = {
13466   {   0, &hf_gsm_map_ms_allGPRSData, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
13467   {   1, &hf_gsm_map_ms_contextIdList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ContextIdList },
13468   { 0, NULL, 0, 0, 0, NULL }
13469 };
13470 
13471 static int
13472 dissect_gsm_map_ms_GPRSSubscriptionDataWithdraw(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13473   offset = dissect_ber_choice(actx, tree, tvb, offset,
13474                                  gsm_map_ms_GPRSSubscriptionDataWithdraw_choice, hf_index, ett_gsm_map_ms_GPRSSubscriptionDataWithdraw,
13475                                  NULL);
13476 
13477   return offset;
13478 }
13479 
13480 
13481 static const ber_sequence_t gsm_map_ms_LSAIdentityList_sequence_of[1] = {
13482   { &hf_gsm_map_ms_LSAIdentityList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_LSAIdentity },
13483 };
13484 
13485 static int
13486 dissect_gsm_map_ms_LSAIdentityList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13487   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
13488                                       gsm_map_ms_LSAIdentityList_sequence_of, hf_index, ett_gsm_map_ms_LSAIdentityList);
13489 
13490   return offset;
13491 }
13492 
13493 
13494 static const value_string gsm_map_ms_LSAInformationWithdraw_vals[] = {
13495   {   0, "allLSAData" },
13496   {   1, "lsaIdentityList" },
13497   { 0, NULL }
13498 };
13499 
13500 static const ber_choice_t gsm_map_ms_LSAInformationWithdraw_choice[] = {
13501   {   0, &hf_gsm_map_ms_allLSAData, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
13502   {   1, &hf_gsm_map_ms_lsaIdentityList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_LSAIdentityList },
13503   { 0, NULL, 0, 0, 0, NULL }
13504 };
13505 
13506 static int
13507 dissect_gsm_map_ms_LSAInformationWithdraw(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13508   offset = dissect_ber_choice(actx, tree, tvb, offset,
13509                                  gsm_map_ms_LSAInformationWithdraw_choice, hf_index, ett_gsm_map_ms_LSAInformationWithdraw,
13510                                  NULL);
13511 
13512   return offset;
13513 }
13514 
13515 
13516 static int * const gsm_map_ms_SpecificCSI_Withdraw_bits[] = {
13517   &hf_gsm_map_ms_SpecificCSI_Withdraw_o_csi,
13518   &hf_gsm_map_ms_SpecificCSI_Withdraw_ss_csi,
13519   &hf_gsm_map_ms_SpecificCSI_Withdraw_tif_csi,
13520   &hf_gsm_map_ms_SpecificCSI_Withdraw_d_csi,
13521   &hf_gsm_map_ms_SpecificCSI_Withdraw_vt_csi,
13522   &hf_gsm_map_ms_SpecificCSI_Withdraw_mo_sms_csi,
13523   &hf_gsm_map_ms_SpecificCSI_Withdraw_m_csi,
13524   &hf_gsm_map_ms_SpecificCSI_Withdraw_gprs_csi,
13525   &hf_gsm_map_ms_SpecificCSI_Withdraw_t_csi,
13526   &hf_gsm_map_ms_SpecificCSI_Withdraw_mt_sms_csi,
13527   &hf_gsm_map_ms_SpecificCSI_Withdraw_mg_csi,
13528   &hf_gsm_map_ms_SpecificCSI_Withdraw_o_IM_CSI,
13529   &hf_gsm_map_ms_SpecificCSI_Withdraw_d_IM_CSI,
13530   &hf_gsm_map_ms_SpecificCSI_Withdraw_vt_IM_CSI,
13531   NULL
13532 };
13533 
13534 static int
13535 dissect_gsm_map_ms_SpecificCSI_Withdraw(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13536   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
13537                                     gsm_map_ms_SpecificCSI_Withdraw_bits, 14, hf_index, ett_gsm_map_ms_SpecificCSI_Withdraw,
13538                                     NULL);
13539 
13540   return offset;
13541 }
13542 
13543 
13544 static const value_string gsm_map_ms_EPS_SubscriptionDataWithdraw_vals[] = {
13545   {   0, "allEPS-Data" },
13546   {   1, "contextIdList" },
13547   { 0, NULL }
13548 };
13549 
13550 static const ber_choice_t gsm_map_ms_EPS_SubscriptionDataWithdraw_choice[] = {
13551   {   0, &hf_gsm_map_ms_allEPS_Data, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
13552   {   1, &hf_gsm_map_ms_contextIdList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ContextIdList },
13553   { 0, NULL, 0, 0, 0, NULL }
13554 };
13555 
13556 static int
13557 dissect_gsm_map_ms_EPS_SubscriptionDataWithdraw(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13558   offset = dissect_ber_choice(actx, tree, tvb, offset,
13559                                  gsm_map_ms_EPS_SubscriptionDataWithdraw_choice, hf_index, ett_gsm_map_ms_EPS_SubscriptionDataWithdraw,
13560                                  NULL);
13561 
13562   return offset;
13563 }
13564 
13565 
13566 static const ber_sequence_t gsm_map_ms_DeleteSubscriberDataArg_sequence[] = {
13567   { &hf_gsm_map_ms_imsi     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13568   { &hf_gsm_map_ms_basicServiceList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BasicServiceList },
13569   { &hf_gsm_map_ms_ss_List  , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_List },
13570   { &hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13571   { &hf_gsm_map_ms_regionalSubscriptionIdentifier, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ZoneCode },
13572   { &hf_gsm_map_ms_vbsGroupIndication, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13573   { &hf_gsm_map_ms_vgcsGroupIndication, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13574   { &hf_gsm_map_ms_camelSubscriptionInfoWithdraw, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13575   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13576   { &hf_gsm_map_ms_gprsSubscriptionDataWithdraw, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_GPRSSubscriptionDataWithdraw },
13577   { &hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsuppportedFeature, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13578   { &hf_gsm_map_ms_lsaInformationWithdraw, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_LSAInformationWithdraw },
13579   { &hf_gsm_map_ms_gmlc_ListWithdraw, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13580   { &hf_gsm_map_ms_istInformationWithdraw, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13581   { &hf_gsm_map_ms_specificCSI_Withdraw, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SpecificCSI_Withdraw },
13582   { &hf_gsm_map_ms_chargingCharacteristicsWithdraw, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13583   { &hf_gsm_map_ms_stn_srWithdraw, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13584   { &hf_gsm_map_ms_epsSubscriptionDataWithdraw, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_EPS_SubscriptionDataWithdraw },
13585   { &hf_gsm_map_ms_apn_oi_replacementWithdraw, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13586   { &hf_gsm_map_ms_csg_SubscriptionDeleted, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13587   { &hf_gsm_map_ms_subscribedPeriodicTAU_RAU_TimerWithdraw, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13588   { &hf_gsm_map_ms_subscribedPeriodicLAU_TimerWithdraw, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13589   { &hf_gsm_map_ms_subscribed_vsrvccWithdraw, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13590   { &hf_gsm_map_ms_vplmn_Csg_SubscriptionDeleted, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13591   { &hf_gsm_map_ms_additionalMSISDN_Withdraw, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13592   { &hf_gsm_map_ms_cs_to_ps_SRVCC_Withdraw, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13593   { &hf_gsm_map_ms_imsiGroupIdList_Withdraw, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13594   { &hf_gsm_map_ms_userPlaneIntegrityProtectionWithdraw, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13595   { &hf_gsm_map_ms_dl_Buffering_Suggested_Packet_Count_Withdraw, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13596   { &hf_gsm_map_ms_ue_UsageTypeWithdraw, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13597   { &hf_gsm_map_ms_reset_idsWithdraw, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13598   { &hf_gsm_map_ms_iab_OperationWithdraw, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13599   { NULL, 0, 0, 0, NULL }
13600 };
13601 
13602 static int
13603 dissect_gsm_map_ms_DeleteSubscriberDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13604   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13605                                    gsm_map_ms_DeleteSubscriberDataArg_sequence, hf_index, ett_gsm_map_ms_DeleteSubscriberDataArg);
13606 
13607   return offset;
13608 }
13609 
13610 
13611 static const ber_sequence_t gsm_map_ms_DeleteSubscriberDataRes_sequence[] = {
13612   { &hf_gsm_map_ms_regionalSubscriptionResponse, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RegionalSubscriptionResponse },
13613   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
13614   { NULL, 0, 0, 0, NULL }
13615 };
13616 
13617 static int
13618 dissect_gsm_map_ms_DeleteSubscriberDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13619   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13620                                    gsm_map_ms_DeleteSubscriberDataRes_sequence, hf_index, ett_gsm_map_ms_DeleteSubscriberDataRes);
13621 
13622   return offset;
13623 }
13624 
13625 
13626 static int * const gsm_map_ms_OfferedCamel4Functionalities_bits[] = {
13627   &hf_gsm_map_ms_OfferedCamel4Functionalities_initiateCallAttempt,
13628   &hf_gsm_map_ms_OfferedCamel4Functionalities_splitLeg,
13629   &hf_gsm_map_ms_OfferedCamel4Functionalities_moveLeg,
13630   &hf_gsm_map_ms_OfferedCamel4Functionalities_disconnectLeg,
13631   &hf_gsm_map_ms_OfferedCamel4Functionalities_entityReleased,
13632   &hf_gsm_map_ms_OfferedCamel4Functionalities_dfc_WithArgument,
13633   &hf_gsm_map_ms_OfferedCamel4Functionalities_playTone,
13634   &hf_gsm_map_ms_OfferedCamel4Functionalities_dtmf_MidCall,
13635   &hf_gsm_map_ms_OfferedCamel4Functionalities_chargingIndicator,
13636   &hf_gsm_map_ms_OfferedCamel4Functionalities_alertingDP,
13637   &hf_gsm_map_ms_OfferedCamel4Functionalities_locationAtAlerting,
13638   &hf_gsm_map_ms_OfferedCamel4Functionalities_changeOfPositionDP,
13639   &hf_gsm_map_ms_OfferedCamel4Functionalities_or_Interactions,
13640   &hf_gsm_map_ms_OfferedCamel4Functionalities_warningToneEnhancements,
13641   &hf_gsm_map_ms_OfferedCamel4Functionalities_cf_Enhancements,
13642   &hf_gsm_map_ms_OfferedCamel4Functionalities_subscribedEnhancedDialledServices,
13643   &hf_gsm_map_ms_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices,
13644   &hf_gsm_map_ms_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP,
13645   &hf_gsm_map_ms_OfferedCamel4Functionalities_serviceChangeDP,
13646   &hf_gsm_map_ms_OfferedCamel4Functionalities_collectInformation,
13647   NULL
13648 };
13649 
13650 int
13651 dissect_gsm_map_ms_OfferedCamel4Functionalities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13652   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
13653                                     gsm_map_ms_OfferedCamel4Functionalities_bits, 20, hf_index, ett_gsm_map_ms_OfferedCamel4Functionalities,
13654                                     NULL);
13655 
13656   return offset;
13657 }
13658 
13659 
13660 static const ber_sequence_t gsm_map_ms_SendRoutingInfoForGprsArg_sequence[] = {
13661   { &hf_gsm_map_ms_imsi     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13662   { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
13663   { &hf_gsm_map_ms_ggsn_Number, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13664   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13665   { NULL, 0, 0, 0, NULL }
13666 };
13667 
13668 static int
13669 dissect_gsm_map_ms_SendRoutingInfoForGprsArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13670   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13671                                    gsm_map_ms_SendRoutingInfoForGprsArg_sequence, hf_index, ett_gsm_map_ms_SendRoutingInfoForGprsArg);
13672 
13673   return offset;
13674 }
13675 
13676 
13677 static const ber_sequence_t gsm_map_ms_SendRoutingInfoForGprsRes_sequence[] = {
13678   { &hf_gsm_map_ms_sgsn_Address, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
13679   { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
13680   { &hf_gsm_map_ms_mobileNotReachableReason, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_er_AbsentSubscriberDiagnosticSM },
13681   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13682   { NULL, 0, 0, 0, NULL }
13683 };
13684 
13685 static int
13686 dissect_gsm_map_ms_SendRoutingInfoForGprsRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13687   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13688                                    gsm_map_ms_SendRoutingInfoForGprsRes_sequence, hf_index, ett_gsm_map_ms_SendRoutingInfoForGprsRes);
13689 
13690   return offset;
13691 }
13692 
13693 
13694 static const ber_sequence_t gsm_map_ms_FailureReportArg_sequence[] = {
13695   { &hf_gsm_map_ms_imsi     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13696   { &hf_gsm_map_ms_ggsn_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13697   { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
13698   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13699   { NULL, 0, 0, 0, NULL }
13700 };
13701 
13702 static int
13703 dissect_gsm_map_ms_FailureReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13704   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13705                                    gsm_map_ms_FailureReportArg_sequence, hf_index, ett_gsm_map_ms_FailureReportArg);
13706 
13707   return offset;
13708 }
13709 
13710 
13711 static const ber_sequence_t gsm_map_ms_FailureReportRes_sequence[] = {
13712   { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
13713   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13714   { NULL, 0, 0, 0, NULL }
13715 };
13716 
13717 static int
13718 dissect_gsm_map_ms_FailureReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13719   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13720                                    gsm_map_ms_FailureReportRes_sequence, hf_index, ett_gsm_map_ms_FailureReportRes);
13721 
13722   return offset;
13723 }
13724 
13725 
13726 static const ber_sequence_t gsm_map_ms_NoteMsPresentForGprsArg_sequence[] = {
13727   { &hf_gsm_map_ms_imsi     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13728   { &hf_gsm_map_ms_sgsn_Address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
13729   { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
13730   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13731   { NULL, 0, 0, 0, NULL }
13732 };
13733 
13734 static int
13735 dissect_gsm_map_ms_NoteMsPresentForGprsArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13736   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13737                                    gsm_map_ms_NoteMsPresentForGprsArg_sequence, hf_index, ett_gsm_map_ms_NoteMsPresentForGprsArg);
13738 
13739   return offset;
13740 }
13741 
13742 
13743 static const ber_sequence_t gsm_map_ms_NoteMsPresentForGprsRes_sequence[] = {
13744   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13745   { NULL, 0, 0, 0, NULL }
13746 };
13747 
13748 static int
13749 dissect_gsm_map_ms_NoteMsPresentForGprsRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13750   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13751                                    gsm_map_ms_NoteMsPresentForGprsRes_sequence, hf_index, ett_gsm_map_ms_NoteMsPresentForGprsRes);
13752 
13753   return offset;
13754 }
13755 
13756 
13757 static const value_string gsm_map_ms_SendingNode_Number_vals[] = {
13758   {   0, "hlr-Number" },
13759   {   1, "css-Number" },
13760   { 0, NULL }
13761 };
13762 
13763 static const ber_choice_t gsm_map_ms_SendingNode_Number_choice[] = {
13764   {   0, &hf_gsm_map_ms_hlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
13765   {   1, &hf_gsm_map_ms_css_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
13766   { 0, NULL, 0, 0, 0, NULL }
13767 };
13768 
13769 static int
13770 dissect_gsm_map_ms_SendingNode_Number(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13771   offset = dissect_ber_choice(actx, tree, tvb, offset,
13772                                  gsm_map_ms_SendingNode_Number_choice, hf_index, ett_gsm_map_ms_SendingNode_Number,
13773                                  NULL);
13774 
13775   return offset;
13776 }
13777 
13778 
13779 static const ber_sequence_t gsm_map_ms_ResetArg_sequence[] = {
13780   { &hf_gsm_map_ms_sendingNodenumber, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_SendingNode_Number },
13781   { &hf_gsm_map_ms_hlr_List , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_HLR_List },
13782   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13783   { &hf_gsm_map_ms_reset_Id_List, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Reset_Id_List },
13784   { &hf_gsm_map_ms_subscriptionData, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_InsertSubscriberDataArg },
13785   { &hf_gsm_map_ms_subscriptionDataDeletion, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DeleteSubscriberDataArg },
13786   { NULL, 0, 0, 0, NULL }
13787 };
13788 
13789 static int
13790 dissect_gsm_map_ms_ResetArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13791   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13792                                    gsm_map_ms_ResetArg_sequence, hf_index, ett_gsm_map_ms_ResetArg);
13793 
13794   return offset;
13795 }
13796 
13797 
13798 static const ber_sequence_t gsm_map_ms_RestoreDataArg_sequence[] = {
13799   { &hf_gsm_map_ms_imsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
13800   { &hf_gsm_map_ms_lmsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_LMSI },
13801   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
13802   { &hf_gsm_map_ms_vlr_Capability, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_VLR_Capability },
13803   { &hf_gsm_map_ms_restorationIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13804   { NULL, 0, 0, 0, NULL }
13805 };
13806 
13807 static int
13808 dissect_gsm_map_ms_RestoreDataArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13809   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13810                                    gsm_map_ms_RestoreDataArg_sequence, hf_index, ett_gsm_map_ms_RestoreDataArg);
13811 
13812   return offset;
13813 }
13814 
13815 
13816 static const ber_sequence_t gsm_map_ms_RestoreDataRes_sequence[] = {
13817   { &hf_gsm_map_ms_hlr_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
13818   { &hf_gsm_map_ms_msNotReachable, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
13819   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
13820   { NULL, 0, 0, 0, NULL }
13821 };
13822 
13823 static int
13824 dissect_gsm_map_ms_RestoreDataRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13825   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13826                                    gsm_map_ms_RestoreDataRes_sequence, hf_index, ett_gsm_map_ms_RestoreDataRes);
13827 
13828   return offset;
13829 }
13830 
13831 
13832 static const value_string gsm_map_ms_DomainType_vals[] = {
13833   {   0, "cs-Domain" },
13834   {   1, "ps-Domain" },
13835   { 0, NULL }
13836 };
13837 
13838 
13839 static int
13840 dissect_gsm_map_ms_DomainType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13841   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13842                                   NULL);
13843 
13844   return offset;
13845 }
13846 
13847 
13848 static int * const gsm_map_ms_RequestedNodes_bits[] = {
13849   &hf_gsm_map_ms_RequestedNodes_mme,
13850   &hf_gsm_map_ms_RequestedNodes_sgsn,
13851   NULL
13852 };
13853 
13854 static int
13855 dissect_gsm_map_ms_RequestedNodes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13856   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
13857                                     gsm_map_ms_RequestedNodes_bits, 2, hf_index, ett_gsm_map_ms_RequestedNodes,
13858                                     NULL);
13859 
13860   return offset;
13861 }
13862 
13863 
13864 static const ber_sequence_t gsm_map_ms_RequestedInfo_sequence[] = {
13865   { &hf_gsm_map_ms_locationInformation_01, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13866   { &hf_gsm_map_ms_subscriberState_01, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13867   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13868   { &hf_gsm_map_ms_currentLocation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13869   { &hf_gsm_map_ms_requestedDomain, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DomainType },
13870   { &hf_gsm_map_ms_imei_01  , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13871   { &hf_gsm_map_ms_ms_classmark, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13872   { &hf_gsm_map_ms_mnpRequestedInfo, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13873   { &hf_gsm_map_ms_locationInformationEPS_Supported, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13874   { &hf_gsm_map_ms_t_adsData, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13875   { &hf_gsm_map_ms_requestedNodes, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedNodes },
13876   { &hf_gsm_map_ms_servingNodeIndication, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13877   { &hf_gsm_map_ms_localTimeZoneRequest, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13878   { NULL, 0, 0, 0, NULL }
13879 };
13880 
13881 static int
13882 dissect_gsm_map_ms_RequestedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13883   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13884                                    gsm_map_ms_RequestedInfo_sequence, hf_index, ett_gsm_map_ms_RequestedInfo);
13885 
13886   return offset;
13887 }
13888 
13889 
13890 static const ber_sequence_t gsm_map_ms_ProvideSubscriberInfoArg_sequence[] = {
13891   { &hf_gsm_map_ms_imsi     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13892   { &hf_gsm_map_ms_lmsi     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
13893   { &hf_gsm_map_ms_requestedInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedInfo },
13894   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
13895   { &hf_gsm_map_ms_callPriority, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority },
13896   { NULL, 0, 0, 0, NULL }
13897 };
13898 
13899 static int
13900 dissect_gsm_map_ms_ProvideSubscriberInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13901   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
13902                                    gsm_map_ms_ProvideSubscriberInfoArg_sequence, hf_index, ett_gsm_map_ms_ProvideSubscriberInfoArg);
13903 
13904   return offset;
13905 }
13906 
13907 
13908 static const value_string gsm_map_ms_NotReachableReason_vals[] = {
13909   {   0, "msPurged" },
13910   {   1, "imsiDetached" },
13911   {   2, "restrictedArea" },
13912   {   3, "notRegistered" },
13913   { 0, NULL }
13914 };
13915 
13916 
13917 static int
13918 dissect_gsm_map_ms_NotReachableReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13919   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13920                                   NULL);
13921 
13922   return offset;
13923 }
13924 
13925 
13926 const value_string gsm_map_ms_SubscriberState_vals[] = {
13927   {   0, "assumedIdle" },
13928   {   1, "camelBusy" },
13929   {   2, "netDetNotReachable" },
13930   {   3, "notProvidedFromVLR" },
13931   { 0, NULL }
13932 };
13933 
13934 static const ber_choice_t gsm_map_ms_SubscriberState_choice[] = {
13935   {   0, &hf_gsm_map_ms_assumedIdle, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13936   {   1, &hf_gsm_map_ms_camelBusy, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13937   {   2, &hf_gsm_map_ms_netDetNotReachable, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NotReachableReason },
13938   {   3, &hf_gsm_map_ms_notProvidedFromVLR, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13939   { 0, NULL, 0, 0, 0, NULL }
13940 };
13941 
13942 int
13943 dissect_gsm_map_ms_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13944   offset = dissect_ber_choice(actx, tree, tvb, offset,
13945                                  gsm_map_ms_SubscriberState_choice, hf_index, ett_gsm_map_ms_SubscriberState,
13946                                  NULL);
13947 
13948   return offset;
13949 }
13950 
13951 
13952 
13953 static int
13954 dissect_gsm_map_ms_NSAPI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13955   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13956                                                 NULL);
13957 
13958   return offset;
13959 }
13960 
13961 
13962 
13963 static int
13964 dissect_gsm_map_ms_TransactionId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13965   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13966                                        NULL);
13967 
13968   return offset;
13969 }
13970 
13971 
13972 
13973 static int
13974 dissect_gsm_map_ms_TEID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13975   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13976                                        NULL);
13977 
13978   return offset;
13979 }
13980 
13981 
13982 
13983 int
13984 dissect_gsm_map_ms_GPRSChargingID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13985   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13986                                        NULL);
13987 
13988   return offset;
13989 }
13990 
13991 
13992 static const ber_sequence_t gsm_map_ms_PDP_ContextInfo_sequence[] = {
13993   { &hf_gsm_map_ms_pdp_ContextIdentifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ContextId },
13994   { &hf_gsm_map_ms_pdp_ContextActive, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
13995   { &hf_gsm_map_ms_pdp_Type , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Type },
13996   { &hf_gsm_map_ms_pdp_Address, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
13997   { &hf_gsm_map_ms_apn_Subscribed, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN },
13998   { &hf_gsm_map_ms_apn_InUse, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN },
13999   { &hf_gsm_map_ms_nsapi    , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NSAPI },
14000   { &hf_gsm_map_ms_transactionId, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TransactionId },
14001   { &hf_gsm_map_ms_teid_ForGnAndGp, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TEID },
14002   { &hf_gsm_map_ms_teid_ForIu, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TEID },
14003   { &hf_gsm_map_ms_ggsn_Address, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
14004   { &hf_gsm_map_ms_qos_Subscribed_01, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_QoS_Subscribed },
14005   { &hf_gsm_map_ms_qos_Requested, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_QoS_Subscribed },
14006   { &hf_gsm_map_ms_qos_Negotiated, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_QoS_Subscribed },
14007   { &hf_gsm_map_ms_chargingId, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRSChargingID },
14008   { &hf_gsm_map_ms_chargingCharacteristics, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ChargingCharacteristics },
14009   { &hf_gsm_map_ms_rnc_Address, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
14010   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14011   { &hf_gsm_map_ms_qos2_Subscribed, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext2_QoS_Subscribed },
14012   { &hf_gsm_map_ms_qos2_Requested, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext2_QoS_Subscribed },
14013   { &hf_gsm_map_ms_qos2_Negotiated, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext2_QoS_Subscribed },
14014   { &hf_gsm_map_ms_qos3_Subscribed, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext3_QoS_Subscribed },
14015   { &hf_gsm_map_ms_qos3_Requested, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext3_QoS_Subscribed },
14016   { &hf_gsm_map_ms_qos3_Negotiated, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext3_QoS_Subscribed },
14017   { &hf_gsm_map_ms_qos4_Subscribed, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext4_QoS_Subscribed },
14018   { &hf_gsm_map_ms_qos4_Requested, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext4_QoS_Subscribed },
14019   { &hf_gsm_map_ms_qos4_Negotiated, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext4_QoS_Subscribed },
14020   { &hf_gsm_map_ms_ext_pdp_Type, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_PDP_Type },
14021   { &hf_gsm_map_ms_ext_pdp_Address, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_Address },
14022   { NULL, 0, 0, 0, NULL }
14023 };
14024 
14025 static int
14026 dissect_gsm_map_ms_PDP_ContextInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14027   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14028                                    gsm_map_ms_PDP_ContextInfo_sequence, hf_index, ett_gsm_map_ms_PDP_ContextInfo);
14029 
14030   return offset;
14031 }
14032 
14033 
14034 static const ber_sequence_t gsm_map_ms_PDP_ContextInfoList_sequence_of[1] = {
14035   { &hf_gsm_map_ms_PDP_ContextInfoList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_PDP_ContextInfo },
14036 };
14037 
14038 static int
14039 dissect_gsm_map_ms_PDP_ContextInfoList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14040   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
14041                                       gsm_map_ms_PDP_ContextInfoList_sequence_of, hf_index, ett_gsm_map_ms_PDP_ContextInfoList);
14042 
14043   return offset;
14044 }
14045 
14046 
14047 static const value_string gsm_map_ms_PS_SubscriberState_vals[] = {
14048   {   0, "notProvidedFromSGSNorMME" },
14049   {   1, "ps-Detached" },
14050   {   2, "ps-AttachedNotReachableForPaging" },
14051   {   3, "ps-AttachedReachableForPaging" },
14052   {   4, "ps-PDP-ActiveNotReachableForPaging" },
14053   {   5, "ps-PDP-ActiveReachableForPaging" },
14054   {   6, "netDetNotReachable" },
14055   { 0, NULL }
14056 };
14057 
14058 static const ber_choice_t gsm_map_ms_PS_SubscriberState_choice[] = {
14059   {   0, &hf_gsm_map_ms_notProvidedFromSGSNorMME, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14060   {   1, &hf_gsm_map_ms_ps_Detached, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14061   {   2, &hf_gsm_map_ms_ps_AttachedNotReachableForPaging, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14062   {   3, &hf_gsm_map_ms_ps_AttachedReachableForPaging, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14063   {   4, &hf_gsm_map_ms_ps_PDP_ActiveNotReachableForPaging, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_ContextInfoList },
14064   {   5, &hf_gsm_map_ms_ps_PDP_ActiveReachableForPaging, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PDP_ContextInfoList },
14065   {   6, &hf_gsm_map_ms_netDetNotReachable, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NotReachableReason },
14066   { 0, NULL, 0, 0, 0, NULL }
14067 };
14068 
14069 static int
14070 dissect_gsm_map_ms_PS_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14071   offset = dissect_ber_choice(actx, tree, tvb, offset,
14072                                  gsm_map_ms_PS_SubscriberState_choice, hf_index, ett_gsm_map_ms_PS_SubscriberState,
14073                                  NULL);
14074 
14075   return offset;
14076 }
14077 
14078 
14079 
14080 int
14081 dissect_gsm_map_ms_MS_Classmark2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14082   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14083                                        NULL);
14084 
14085   return offset;
14086 }
14087 
14088 
14089 
14090 static int
14091 dissect_gsm_map_ms_MSNetworkCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14092   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14093                                        NULL);
14094 
14095   return offset;
14096 }
14097 
14098 
14099 
14100 static int
14101 dissect_gsm_map_ms_MSRadioAccessCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14102   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14103                                        NULL);
14104 
14105   return offset;
14106 }
14107 
14108 
14109 static const ber_sequence_t gsm_map_ms_GPRSMSClass_sequence[] = {
14110   { &hf_gsm_map_ms_mSNetworkCapability, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MSNetworkCapability },
14111   { &hf_gsm_map_ms_mSRadioAccessCapability, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MSRadioAccessCapability },
14112   { NULL, 0, 0, 0, NULL }
14113 };
14114 
14115 int
14116 dissect_gsm_map_ms_GPRSMSClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14117   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14118                                    gsm_map_ms_GPRSMSClass_sequence, hf_index, ett_gsm_map_ms_GPRSMSClass);
14119 
14120   return offset;
14121 }
14122 
14123 
14124 
14125 static int
14126 dissect_gsm_map_ms_RouteingNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14127   offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
14128 
14129   return offset;
14130 }
14131 
14132 
14133 static const value_string gsm_map_ms_NumberPortabilityStatus_vals[] = {
14134   {   0, "notKnownToBePorted" },
14135   {   1, "ownNumberPortedOut" },
14136   {   2, "foreignNumberPortedToForeignNetwork" },
14137   {   4, "ownNumberNotPortedOut" },
14138   {   5, "foreignNumberPortedIn" },
14139   { 0, NULL }
14140 };
14141 
14142 
14143 static int
14144 dissect_gsm_map_ms_NumberPortabilityStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14145   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14146                                   NULL);
14147 
14148   return offset;
14149 }
14150 
14151 
14152 static const ber_sequence_t gsm_map_ms_MNPInfoRes_sequence[] = {
14153   { &hf_gsm_map_ms_routeingNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RouteingNumber },
14154   { &hf_gsm_map_ms_imsi     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14155   { &hf_gsm_map_ms_msisdn   , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
14156   { &hf_gsm_map_ms_numberPortabilityStatus, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NumberPortabilityStatus },
14157   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14158   { NULL, 0, 0, 0, NULL }
14159 };
14160 
14161 static int
14162 dissect_gsm_map_ms_MNPInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14163   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14164                                    gsm_map_ms_MNPInfoRes_sequence, hf_index, ett_gsm_map_ms_MNPInfoRes);
14165 
14166   return offset;
14167 }
14168 
14169 
14170 static const value_string gsm_map_ms_IMS_VoiceOverPS_SessionsInd_vals[] = {
14171   {   0, "imsVoiceOverPS-SessionsNotSupported" },
14172   {   1, "imsVoiceOverPS-SessionsSupported" },
14173   {   2, "unknown" },
14174   { 0, NULL }
14175 };
14176 
14177 
14178 static int
14179 dissect_gsm_map_ms_IMS_VoiceOverPS_SessionsInd(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14180   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14181                                   NULL);
14182 
14183   return offset;
14184 }
14185 
14186 
14187 
14188 static int
14189 dissect_gsm_map_ms_TimeZone(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14190   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14191                                        NULL);
14192 
14193   return offset;
14194 }
14195 
14196 
14197 static const value_string gsm_map_ms_DaylightSavingTime_vals[] = {
14198   {   0, "noAdjustment" },
14199   {   1, "plusOneHourAdjustment" },
14200   {   2, "plusTwoHoursAdjustment" },
14201   { 0, NULL }
14202 };
14203 
14204 
14205 static int
14206 dissect_gsm_map_ms_DaylightSavingTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14207   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14208                                   NULL);
14209 
14210   return offset;
14211 }
14212 
14213 
14214 static const ber_sequence_t gsm_map_ms_LocationInformation5GS_sequence[] = {
14215   { &hf_gsm_map_ms_nrCellGlobalIdentity, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NR_CGI },
14216   { &hf_gsm_map_ms_e_utranCellGlobalIdentity, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_E_UTRAN_CGI },
14217   { &hf_gsm_map_ms_geographicalInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeographicalInformation },
14218   { &hf_gsm_map_ms_geodeticInformation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GeodeticInformation },
14219   { &hf_gsm_map_ms_amf_address, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_FQDN },
14220   { &hf_gsm_map_ms_trackingAreaIdentity, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_TA_Id },
14221   { &hf_gsm_map_ms_currentLocationRetrieved, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14222   { &hf_gsm_map_ms_ageOfLocationInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation },
14223   { &hf_gsm_map_ms_vplmnId  , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PLMN_Id },
14224   { &hf_gsm_map_ms_localtimeZone, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TimeZone },
14225   { &hf_gsm_map_ms_rat_Type , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Used_RAT_Type },
14226   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14227   { &hf_gsm_map_ms_nrTrackingAreaIdentity, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NR_TA_Id },
14228   { NULL, 0, 0, 0, NULL }
14229 };
14230 
14231 static int
14232 dissect_gsm_map_ms_LocationInformation5GS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14233   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14234                                    gsm_map_ms_LocationInformation5GS_sequence, hf_index, ett_gsm_map_ms_LocationInformation5GS);
14235 
14236   return offset;
14237 }
14238 
14239 
14240 static const ber_sequence_t gsm_map_ms_SubscriberInfo_sequence[] = {
14241   { &hf_gsm_map_ms_locationInformation, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformation },
14242   { &hf_gsm_map_ms_subscriberState, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_SubscriberState },
14243   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14244   { &hf_gsm_map_ms_locationInformationGPRS, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformationGPRS },
14245   { &hf_gsm_map_ms_ps_SubscriberState, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_PS_SubscriberState },
14246   { &hf_gsm_map_ms_imei     , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
14247   { &hf_gsm_map_ms_ms_Classmark2, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MS_Classmark2 },
14248   { &hf_gsm_map_ms_gprs_MS_Class, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRSMSClass },
14249   { &hf_gsm_map_ms_mnpInfoRes, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MNPInfoRes },
14250   { &hf_gsm_map_ms_imsVoiceOverPS_SessionsIndication, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IMS_VoiceOverPS_SessionsInd },
14251   { &hf_gsm_map_ms_lastUE_ActivityTime, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Time },
14252   { &hf_gsm_map_ms_lastRAT_Type, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Used_RAT_Type },
14253   { &hf_gsm_map_ms_eps_SubscriberState, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_PS_SubscriberState },
14254   { &hf_gsm_map_ms_locationInformationEPS, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformationEPS },
14255   { &hf_gsm_map_ms_timeZone , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TimeZone },
14256   { &hf_gsm_map_ms_daylightSavingTime, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_DaylightSavingTime },
14257   { &hf_gsm_map_ms_locationInformation5GS, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformation5GS },
14258   { NULL, 0, 0, 0, NULL }
14259 };
14260 
14261 static int
14262 dissect_gsm_map_ms_SubscriberInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14263   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14264                                    gsm_map_ms_SubscriberInfo_sequence, hf_index, ett_gsm_map_ms_SubscriberInfo);
14265 
14266   return offset;
14267 }
14268 
14269 
14270 static const ber_sequence_t gsm_map_ms_ProvideSubscriberInfoRes_sequence[] = {
14271   { &hf_gsm_map_ms_subscriberInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SubscriberInfo },
14272   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
14273   { NULL, 0, 0, 0, NULL }
14274 };
14275 
14276 static int
14277 dissect_gsm_map_ms_ProvideSubscriberInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14278   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14279                                    gsm_map_ms_ProvideSubscriberInfoRes_sequence, hf_index, ett_gsm_map_ms_ProvideSubscriberInfoRes);
14280 
14281   return offset;
14282 }
14283 
14284 
14285 static const ber_sequence_t gsm_map_ms_AnyTimeInterrogationArg_sequence[] = {
14286   { &hf_gsm_map_ms_subscriberIdentity, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity },
14287   { &hf_gsm_map_ms_requestedInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedInfo },
14288   { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
14289   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14290   { NULL, 0, 0, 0, NULL }
14291 };
14292 
14293 static int
14294 dissect_gsm_map_ms_AnyTimeInterrogationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14295   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14296                                    gsm_map_ms_AnyTimeInterrogationArg_sequence, hf_index, ett_gsm_map_ms_AnyTimeInterrogationArg);
14297 
14298   return offset;
14299 }
14300 
14301 
14302 static const ber_sequence_t gsm_map_ms_AnyTimeInterrogationRes_sequence[] = {
14303   { &hf_gsm_map_ms_subscriberInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SubscriberInfo },
14304   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
14305   { NULL, 0, 0, 0, NULL }
14306 };
14307 
14308 static int
14309 dissect_gsm_map_ms_AnyTimeInterrogationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14310   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14311                                    gsm_map_ms_AnyTimeInterrogationRes_sequence, hf_index, ett_gsm_map_ms_AnyTimeInterrogationRes);
14312 
14313   return offset;
14314 }
14315 
14316 
14317 static const value_string gsm_map_ms_RequestedCAMEL_SubscriptionInfo_vals[] = {
14318   {   0, "o-CSI" },
14319   {   1, "t-CSI" },
14320   {   2, "vt-CSI" },
14321   {   3, "tif-CSI" },
14322   {   4, "gprs-CSI" },
14323   {   5, "mo-sms-CSI" },
14324   {   6, "ss-CSI" },
14325   {   7, "m-CSI" },
14326   {   8, "d-csi" },
14327   { 0, NULL }
14328 };
14329 
14330 
14331 static int
14332 dissect_gsm_map_ms_RequestedCAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14333   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14334                                   NULL);
14335 
14336   return offset;
14337 }
14338 
14339 
14340 static const value_string gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo_vals[] = {
14341   {   0, "mt-sms-CSI" },
14342   {   1, "mg-csi" },
14343   {   2, "o-IM-CSI" },
14344   {   3, "d-IM-CSI" },
14345   {   4, "vt-IM-CSI" },
14346   { 0, NULL }
14347 };
14348 
14349 
14350 static int
14351 dissect_gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14352   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14353                                   NULL);
14354 
14355   return offset;
14356 }
14357 
14358 
14359 static const ber_sequence_t gsm_map_ms_RequestedSubscriptionInfo_sequence[] = {
14360   { &hf_gsm_map_ms_requestedSS_Info, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_ForBS_Code },
14361   { &hf_gsm_map_ms_odb      , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14362   { &hf_gsm_map_ms_requestedCAMEL_SubscriptionInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedCAMEL_SubscriptionInfo },
14363   { &hf_gsm_map_ms_supportedVLR_CAMEL_Phases_01, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14364   { &hf_gsm_map_ms_supportedSGSN_CAMEL_Phases_01, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14365   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14366   { &hf_gsm_map_ms_additionalRequestedCAMEL_SubscriptionInfo, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo },
14367   { &hf_gsm_map_ms_msisdn_BS_List_01, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14368   { &hf_gsm_map_ms_csg_SubscriptionDataRequested, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14369   { &hf_gsm_map_ms_cw_Info  , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14370   { &hf_gsm_map_ms_clip_Info, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14371   { &hf_gsm_map_ms_clir_Info, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14372   { &hf_gsm_map_ms_hold_Info, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14373   { &hf_gsm_map_ms_ect_Info , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14374   { NULL, 0, 0, 0, NULL }
14375 };
14376 
14377 static int
14378 dissect_gsm_map_ms_RequestedSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14379   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14380                                    gsm_map_ms_RequestedSubscriptionInfo_sequence, hf_index, ett_gsm_map_ms_RequestedSubscriptionInfo);
14381 
14382   return offset;
14383 }
14384 
14385 
14386 static const ber_sequence_t gsm_map_ms_AnyTimeSubscriptionInterrogationArg_sequence[] = {
14387   { &hf_gsm_map_ms_subscriberIdentity, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity },
14388   { &hf_gsm_map_ms_requestedSubscriptionInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedSubscriptionInfo },
14389   { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
14390   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14391   { &hf_gsm_map_ms_longFTN_Supported, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14392   { NULL, 0, 0, 0, NULL }
14393 };
14394 
14395 static int
14396 dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14397   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14398                                    gsm_map_ms_AnyTimeSubscriptionInterrogationArg_sequence, hf_index, ett_gsm_map_ms_AnyTimeSubscriptionInterrogationArg);
14399 
14400   return offset;
14401 }
14402 
14403 
14404 static const ber_sequence_t gsm_map_ms_CallForwardingData_sequence[] = {
14405   { &hf_gsm_map_ms_forwardingFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_ForwFeatureList },
14406   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
14407   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14408   { NULL, 0, 0, 0, NULL }
14409 };
14410 
14411 static int
14412 dissect_gsm_map_ms_CallForwardingData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14413   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14414                                    gsm_map_ms_CallForwardingData_sequence, hf_index, ett_gsm_map_ms_CallForwardingData);
14415 
14416   return offset;
14417 }
14418 
14419 
14420 
14421 static int
14422 dissect_gsm_map_ms_WrongPasswordAttemptsCounter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14423   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14424                                                 NULL);
14425 
14426   return offset;
14427 }
14428 
14429 
14430 static const ber_sequence_t gsm_map_ms_CallBarringData_sequence[] = {
14431   { &hf_gsm_map_ms_callBarringFeatureList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_CallBarFeatureList },
14432   { &hf_gsm_map_ms_password , BER_CLASS_UNI, BER_UNI_TAG_NumericString, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ss_Password },
14433   { &hf_gsm_map_ms_wrongPasswordAttemptsCounter, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_WrongPasswordAttemptsCounter },
14434   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
14435   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
14436   { NULL, 0, 0, 0, NULL }
14437 };
14438 
14439 static int
14440 dissect_gsm_map_ms_CallBarringData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14441   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14442                                    gsm_map_ms_CallBarringData_sequence, hf_index, ett_gsm_map_ms_CallBarringData);
14443 
14444   return offset;
14445 }
14446 
14447 
14448 static const ber_sequence_t gsm_map_ms_ODB_Info_sequence[] = {
14449   { &hf_gsm_map_ms_odb_Data , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ODB_Data },
14450   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
14451   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
14452   { NULL, 0, 0, 0, NULL }
14453 };
14454 
14455 static int
14456 dissect_gsm_map_ms_ODB_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14457   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14458                                    gsm_map_ms_ODB_Info_sequence, hf_index, ett_gsm_map_ms_ODB_Info);
14459 
14460   return offset;
14461 }
14462 
14463 
14464 static const ber_sequence_t gsm_map_ms_CAMEL_SubscriptionInfo_sequence[] = {
14465   { &hf_gsm_map_ms_o_CSI    , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI },
14466   { &hf_gsm_map_ms_o_BcsmCamelTDP_CriteriaList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList },
14467   { &hf_gsm_map_ms_d_CSI    , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI },
14468   { &hf_gsm_map_ms_t_CSI    , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI },
14469   { &hf_gsm_map_ms_t_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList },
14470   { &hf_gsm_map_ms_vt_CSI   , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI },
14471   { &hf_gsm_map_ms_vt_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList },
14472   { &hf_gsm_map_ms_tif_CSI  , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14473   { &hf_gsm_map_ms_tif_CSI_NotificationToCSE, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14474   { &hf_gsm_map_ms_gprs_CSI , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_GPRS_CSI },
14475   { &hf_gsm_map_ms_mo_sms_CSI, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI },
14476   { &hf_gsm_map_ms_ss_CSI   , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SS_CSI },
14477   { &hf_gsm_map_ms_m_CSI    , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_M_CSI },
14478   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14479   { &hf_gsm_map_ms_specificCSIDeletedList, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SpecificCSI_Withdraw },
14480   { &hf_gsm_map_ms_mt_sms_CSI, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SMS_CSI },
14481   { &hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MT_smsCAMELTDP_CriteriaList },
14482   { &hf_gsm_map_ms_mg_csi   , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MG_CSI },
14483   { &hf_gsm_map_ms_o_IM_CSI , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI },
14484   { &hf_gsm_map_ms_o_IM_BcsmCamelTDP_CriteriaList, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList },
14485   { &hf_gsm_map_ms_d_IM_CSI , BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI },
14486   { &hf_gsm_map_ms_vt_IM_CSI, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI },
14487   { &hf_gsm_map_ms_vt_IM_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList },
14488   { NULL, 0, 0, 0, NULL }
14489 };
14490 
14491 static int
14492 dissect_gsm_map_ms_CAMEL_SubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14493   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14494                                    gsm_map_ms_CAMEL_SubscriptionInfo_sequence, hf_index, ett_gsm_map_ms_CAMEL_SubscriptionInfo);
14495 
14496   return offset;
14497 }
14498 
14499 
14500 static const ber_sequence_t gsm_map_ms_MSISDN_BS_sequence[] = {
14501   { &hf_gsm_map_ms_msisdn   , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
14502   { &hf_gsm_map_ms_basicServiceList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_BasicServiceList },
14503   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14504   { NULL, 0, 0, 0, NULL }
14505 };
14506 
14507 static int
14508 dissect_gsm_map_ms_MSISDN_BS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14509   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14510                                    gsm_map_ms_MSISDN_BS_sequence, hf_index, ett_gsm_map_ms_MSISDN_BS);
14511 
14512   return offset;
14513 }
14514 
14515 
14516 static const ber_sequence_t gsm_map_ms_MSISDN_BS_List_sequence_of[1] = {
14517   { &hf_gsm_map_ms_MSISDN_BS_List_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_MSISDN_BS },
14518 };
14519 
14520 static int
14521 dissect_gsm_map_ms_MSISDN_BS_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14522   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
14523                                       gsm_map_ms_MSISDN_BS_List_sequence_of, hf_index, ett_gsm_map_ms_MSISDN_BS_List);
14524 
14525   return offset;
14526 }
14527 
14528 
14529 static const ber_sequence_t gsm_map_ms_Ext_CwFeature_sequence[] = {
14530   { &hf_gsm_map_ms_basicService, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
14531   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
14532   { NULL, 0, 0, 0, NULL }
14533 };
14534 
14535 static int
14536 dissect_gsm_map_ms_Ext_CwFeature(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14537   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14538                                    gsm_map_ms_Ext_CwFeature_sequence, hf_index, ett_gsm_map_ms_Ext_CwFeature);
14539 
14540   return offset;
14541 }
14542 
14543 
14544 static const ber_sequence_t gsm_map_ms_Ext_CwFeatureList_sequence_of[1] = {
14545   { &hf_gsm_map_ms_Ext_CwFeatureList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Ext_CwFeature },
14546 };
14547 
14548 static int
14549 dissect_gsm_map_ms_Ext_CwFeatureList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14550   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
14551                                       gsm_map_ms_Ext_CwFeatureList_sequence_of, hf_index, ett_gsm_map_ms_Ext_CwFeatureList);
14552 
14553   return offset;
14554 }
14555 
14556 
14557 static const ber_sequence_t gsm_map_ms_CallWaitingData_sequence[] = {
14558   { &hf_gsm_map_ms_cwFeatureList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_CwFeatureList },
14559   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14560   { NULL, 0, 0, 0, NULL }
14561 };
14562 
14563 static int
14564 dissect_gsm_map_ms_CallWaitingData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14565   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14566                                    gsm_map_ms_CallWaitingData_sequence, hf_index, ett_gsm_map_ms_CallWaitingData);
14567 
14568   return offset;
14569 }
14570 
14571 
14572 static const ber_sequence_t gsm_map_ms_CallHoldData_sequence[] = {
14573   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
14574   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14575   { NULL, 0, 0, 0, NULL }
14576 };
14577 
14578 static int
14579 dissect_gsm_map_ms_CallHoldData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14580   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14581                                    gsm_map_ms_CallHoldData_sequence, hf_index, ett_gsm_map_ms_CallHoldData);
14582 
14583   return offset;
14584 }
14585 
14586 
14587 static const ber_sequence_t gsm_map_ms_ClipData_sequence[] = {
14588   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
14589   { &hf_gsm_map_ms_overrideCategory, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_OverrideCategory },
14590   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14591   { NULL, 0, 0, 0, NULL }
14592 };
14593 
14594 static int
14595 dissect_gsm_map_ms_ClipData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14596   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14597                                    gsm_map_ms_ClipData_sequence, hf_index, ett_gsm_map_ms_ClipData);
14598 
14599   return offset;
14600 }
14601 
14602 
14603 static const ber_sequence_t gsm_map_ms_ClirData_sequence[] = {
14604   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
14605   { &hf_gsm_map_ms_cliRestrictionOption, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CliRestrictionOption },
14606   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14607   { NULL, 0, 0, 0, NULL }
14608 };
14609 
14610 static int
14611 dissect_gsm_map_ms_ClirData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14612   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14613                                    gsm_map_ms_ClirData_sequence, hf_index, ett_gsm_map_ms_ClirData);
14614 
14615   return offset;
14616 }
14617 
14618 
14619 static const ber_sequence_t gsm_map_ms_EctData_sequence[] = {
14620   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
14621   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14622   { NULL, 0, 0, 0, NULL }
14623 };
14624 
14625 static int
14626 dissect_gsm_map_ms_EctData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14627   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14628                                    gsm_map_ms_EctData_sequence, hf_index, ett_gsm_map_ms_EctData);
14629 
14630   return offset;
14631 }
14632 
14633 
14634 static const ber_sequence_t gsm_map_ms_AnyTimeSubscriptionInterrogationRes_sequence[] = {
14635   { &hf_gsm_map_ms_callForwardingData, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallForwardingData },
14636   { &hf_gsm_map_ms_callBarringData, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallBarringData },
14637   { &hf_gsm_map_ms_odb_Info , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Info },
14638   { &hf_gsm_map_ms_camel_SubscriptionInfo, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CAMEL_SubscriptionInfo },
14639   { &hf_gsm_map_ms_supportedVLR_CAMEL_Phases, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
14640   { &hf_gsm_map_ms_supportedSGSN_CAMEL_Phases, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
14641   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14642   { &hf_gsm_map_ms_offeredCamel4CSIsInVLR, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
14643   { &hf_gsm_map_ms_offeredCamel4CSIsInSGSN, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
14644   { &hf_gsm_map_ms_msisdn_BS_List, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MSISDN_BS_List },
14645   { &hf_gsm_map_ms_csg_SubscriptionDataList, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CSG_SubscriptionDataList },
14646   { &hf_gsm_map_ms_cw_Data  , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallWaitingData },
14647   { &hf_gsm_map_ms_ch_Data  , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallHoldData },
14648   { &hf_gsm_map_ms_clip_Data, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ClipData },
14649   { &hf_gsm_map_ms_clir_Data, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ClirData },
14650   { &hf_gsm_map_ms_ect_data , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EctData },
14651   { NULL, 0, 0, 0, NULL }
14652 };
14653 
14654 static int
14655 dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14656   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14657                                    gsm_map_ms_AnyTimeSubscriptionInterrogationRes_sequence, hf_index, ett_gsm_map_ms_AnyTimeSubscriptionInterrogationRes);
14658 
14659   return offset;
14660 }
14661 
14662 
14663 static const value_string gsm_map_ms_ModificationInstruction_vals[] = {
14664   {   0, "deactivate" },
14665   {   1, "activate" },
14666   { 0, NULL }
14667 };
14668 
14669 
14670 static int
14671 dissect_gsm_map_ms_ModificationInstruction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14672   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14673                                   NULL);
14674 
14675   return offset;
14676 }
14677 
14678 
14679 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CF_Info_sequence[] = {
14680   { &hf_gsm_map_ms_ss_Code  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
14681   { &hf_gsm_map_ms_basicService, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
14682   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
14683   { &hf_gsm_map_ms_forwardedToNumber_01, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
14684   { &hf_gsm_map_ms_forwardedToSubaddress, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
14685   { &hf_gsm_map_ms_noReplyConditionTime, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_NoRepCondTime },
14686   { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
14687   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14688   { NULL, 0, 0, 0, NULL }
14689 };
14690 
14691 static int
14692 dissect_gsm_map_ms_ModificationRequestFor_CF_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14693   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14694                                    gsm_map_ms_ModificationRequestFor_CF_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CF_Info);
14695 
14696   return offset;
14697 }
14698 
14699 
14700 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CB_Info_sequence[] = {
14701   { &hf_gsm_map_ms_ss_Code  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
14702   { &hf_gsm_map_ms_basicService, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
14703   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
14704   { &hf_gsm_map_ms_password , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_Password },
14705   { &hf_gsm_map_ms_wrongPasswordAttemptsCounter, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_WrongPasswordAttemptsCounter },
14706   { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
14707   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14708   { NULL, 0, 0, 0, NULL }
14709 };
14710 
14711 static int
14712 dissect_gsm_map_ms_ModificationRequestFor_CB_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14713   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14714                                    gsm_map_ms_ModificationRequestFor_CB_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CB_Info);
14715 
14716   return offset;
14717 }
14718 
14719 
14720 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CSI_sequence[] = {
14721   { &hf_gsm_map_ms_requestedCamel_SubscriptionInfo, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedCAMEL_SubscriptionInfo },
14722   { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
14723   { &hf_gsm_map_ms_modifyCSI_State, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
14724   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14725   { &hf_gsm_map_ms_additionalRequestedCAMEL_SubscriptionInfo, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo },
14726   { NULL, 0, 0, 0, NULL }
14727 };
14728 
14729 static int
14730 dissect_gsm_map_ms_ModificationRequestFor_CSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14731   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14732                                    gsm_map_ms_ModificationRequestFor_CSI_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CSI);
14733 
14734   return offset;
14735 }
14736 
14737 
14738 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_ODB_data_sequence[] = {
14739   { &hf_gsm_map_ms_odb_data , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Data },
14740   { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
14741   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14742   { NULL, 0, 0, 0, NULL }
14743 };
14744 
14745 static int
14746 dissect_gsm_map_ms_ModificationRequestFor_ODB_data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14747   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14748                                    gsm_map_ms_ModificationRequestFor_ODB_data_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_ODB_data);
14749 
14750   return offset;
14751 }
14752 
14753 
14754 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data_sequence[] = {
14755   { &hf_gsm_map_ms_modifyRegistrationStatus, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
14756   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14757   { &hf_gsm_map_ms_ip_sm_gw_DiameterAddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NetworkNodeDiameterAddress },
14758   { NULL, 0, 0, 0, NULL }
14759 };
14760 
14761 static int
14762 dissect_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14763   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14764                                    gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data);
14765 
14766   return offset;
14767 }
14768 
14769 
14770 static int * const gsm_map_ms_RequestedServingNode_bits[] = {
14771   &hf_gsm_map_ms_RequestedServingNode_mmeAndSgsn,
14772   NULL
14773 };
14774 
14775 static int
14776 dissect_gsm_map_ms_RequestedServingNode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14777   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
14778                                     gsm_map_ms_RequestedServingNode_bits, 1, hf_index, ett_gsm_map_ms_RequestedServingNode,
14779                                     NULL);
14780 
14781   return offset;
14782 }
14783 
14784 
14785 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CSG_sequence[] = {
14786   { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
14787   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14788   { NULL, 0, 0, 0, NULL }
14789 };
14790 
14791 static int
14792 dissect_gsm_map_ms_ModificationRequestFor_CSG(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14793   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14794                                    gsm_map_ms_ModificationRequestFor_CSG_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CSG);
14795 
14796   return offset;
14797 }
14798 
14799 
14800 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CW_Info_sequence[] = {
14801   { &hf_gsm_map_ms_basicService, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
14802   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
14803   { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
14804   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14805   { NULL, 0, 0, 0, NULL }
14806 };
14807 
14808 static int
14809 dissect_gsm_map_ms_ModificationRequestFor_CW_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14810   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14811                                    gsm_map_ms_ModificationRequestFor_CW_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CW_Info);
14812 
14813   return offset;
14814 }
14815 
14816 
14817 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CLIP_Info_sequence[] = {
14818   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
14819   { &hf_gsm_map_ms_overrideCategory, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_OverrideCategory },
14820   { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
14821   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14822   { NULL, 0, 0, 0, NULL }
14823 };
14824 
14825 static int
14826 dissect_gsm_map_ms_ModificationRequestFor_CLIP_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14827   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14828                                    gsm_map_ms_ModificationRequestFor_CLIP_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CLIP_Info);
14829 
14830   return offset;
14831 }
14832 
14833 
14834 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CLIR_Info_sequence[] = {
14835   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
14836   { &hf_gsm_map_ms_cliRestrictionOption, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CliRestrictionOption },
14837   { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
14838   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14839   { NULL, 0, 0, 0, NULL }
14840 };
14841 
14842 static int
14843 dissect_gsm_map_ms_ModificationRequestFor_CLIR_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14844   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14845                                    gsm_map_ms_ModificationRequestFor_CLIR_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CLIR_Info);
14846 
14847   return offset;
14848 }
14849 
14850 
14851 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_CH_Info_sequence[] = {
14852   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
14853   { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
14854   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14855   { NULL, 0, 0, 0, NULL }
14856 };
14857 
14858 static int
14859 dissect_gsm_map_ms_ModificationRequestFor_CH_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14860   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14861                                    gsm_map_ms_ModificationRequestFor_CH_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_CH_Info);
14862 
14863   return offset;
14864 }
14865 
14866 
14867 static const ber_sequence_t gsm_map_ms_ModificationRequestFor_ECT_Info_sequence[] = {
14868   { &hf_gsm_map_ms_ss_Status, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_SS_Status },
14869   { &hf_gsm_map_ms_modifyNotificationToCSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationInstruction },
14870   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14871   { NULL, 0, 0, 0, NULL }
14872 };
14873 
14874 static int
14875 dissect_gsm_map_ms_ModificationRequestFor_ECT_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14876   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14877                                    gsm_map_ms_ModificationRequestFor_ECT_Info_sequence, hf_index, ett_gsm_map_ms_ModificationRequestFor_ECT_Info);
14878 
14879   return offset;
14880 }
14881 
14882 
14883 static const ber_sequence_t gsm_map_ms_AnyTimeModificationArg_sequence[] = {
14884   { &hf_gsm_map_ms_subscriberIdentity, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity },
14885   { &hf_gsm_map_ms_gsmSCF_Address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
14886   { &hf_gsm_map_ms_modificationRequestFor_CF_Info, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CF_Info },
14887   { &hf_gsm_map_ms_modificationRequestFor_CB_Info, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CB_Info },
14888   { &hf_gsm_map_ms_modificationRequestFor_CSI, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CSI },
14889   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14890   { &hf_gsm_map_ms_longFTN_Supported, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14891   { &hf_gsm_map_ms_modificationRequestFor_ODB_data, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_ODB_data },
14892   { &hf_gsm_map_ms_modificationRequestFor_IP_SM_GW_Data, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data },
14893   { &hf_gsm_map_ms_activationRequestForUE_reachability, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_RequestedServingNode },
14894   { &hf_gsm_map_ms_modificationRequestFor_CSG, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CSG },
14895   { &hf_gsm_map_ms_modificationRequestFor_CW_Data, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CW_Info },
14896   { &hf_gsm_map_ms_modificationRequestFor_CLIP_Data, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CLIP_Info },
14897   { &hf_gsm_map_ms_modificationRequestFor_CLIR_Data, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CLIR_Info },
14898   { &hf_gsm_map_ms_modificationRequestFor_HOLD_Data, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_CH_Info },
14899   { &hf_gsm_map_ms_modificationRequestFor_ECT_Data, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ModificationRequestFor_ECT_Info },
14900   { NULL, 0, 0, 0, NULL }
14901 };
14902 
14903 static int
14904 dissect_gsm_map_ms_AnyTimeModificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14905   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14906                                    gsm_map_ms_AnyTimeModificationArg_sequence, hf_index, ett_gsm_map_ms_AnyTimeModificationArg);
14907 
14908   return offset;
14909 }
14910 
14911 
14912 static int * const gsm_map_ms_ServingNode_bits[] = {
14913   &hf_gsm_map_ms_ServingNode_mme,
14914   &hf_gsm_map_ms_ServingNode_sgsn,
14915   NULL
14916 };
14917 
14918 static int
14919 dissect_gsm_map_ms_ServingNode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14920   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
14921                                     gsm_map_ms_ServingNode_bits, 2, hf_index, ett_gsm_map_ms_ServingNode,
14922                                     NULL);
14923 
14924   return offset;
14925 }
14926 
14927 
14928 static const ber_sequence_t gsm_map_ms_Ext_ForwardingInfoFor_CSE_sequence[] = {
14929   { &hf_gsm_map_ms_ss_Code  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
14930   { &hf_gsm_map_ms_forwardingFeatureList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ForwFeatureList },
14931   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14932   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14933   { NULL, 0, 0, 0, NULL }
14934 };
14935 
14936 static int
14937 dissect_gsm_map_ms_Ext_ForwardingInfoFor_CSE(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14938   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14939                                    gsm_map_ms_Ext_ForwardingInfoFor_CSE_sequence, hf_index, ett_gsm_map_ms_Ext_ForwardingInfoFor_CSE);
14940 
14941   return offset;
14942 }
14943 
14944 
14945 static const ber_sequence_t gsm_map_ms_Ext_CallBarringInfoFor_CSE_sequence[] = {
14946   { &hf_gsm_map_ms_ss_Code  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
14947   { &hf_gsm_map_ms_callBarringFeatureList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_CallBarFeatureList },
14948   { &hf_gsm_map_ms_password , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_Password },
14949   { &hf_gsm_map_ms_wrongPasswordAttemptsCounter, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_WrongPasswordAttemptsCounter },
14950   { &hf_gsm_map_ms_notificationToCSE, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
14951   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14952   { NULL, 0, 0, 0, NULL }
14953 };
14954 
14955 static int
14956 dissect_gsm_map_ms_Ext_CallBarringInfoFor_CSE(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14957   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14958                                    gsm_map_ms_Ext_CallBarringInfoFor_CSE_sequence, hf_index, ett_gsm_map_ms_Ext_CallBarringInfoFor_CSE);
14959 
14960   return offset;
14961 }
14962 
14963 
14964 static const value_string gsm_map_ms_Ext_SS_InfoFor_CSE_vals[] = {
14965   {   0, "forwardingInfoFor-CSE" },
14966   {   1, "callBarringInfoFor-CSE" },
14967   { 0, NULL }
14968 };
14969 
14970 static const ber_choice_t gsm_map_ms_Ext_SS_InfoFor_CSE_choice[] = {
14971   {   0, &hf_gsm_map_ms_forwardingInfoFor_CSE, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ForwardingInfoFor_CSE },
14972   {   1, &hf_gsm_map_ms_callBarringInfoFor_CSE, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_CallBarringInfoFor_CSE },
14973   { 0, NULL, 0, 0, 0, NULL }
14974 };
14975 
14976 static int
14977 dissect_gsm_map_ms_Ext_SS_InfoFor_CSE(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14978   offset = dissect_ber_choice(actx, tree, tvb, offset,
14979                                  gsm_map_ms_Ext_SS_InfoFor_CSE_choice, hf_index, ett_gsm_map_ms_Ext_SS_InfoFor_CSE,
14980                                  NULL);
14981 
14982   return offset;
14983 }
14984 
14985 
14986 static const ber_sequence_t gsm_map_ms_AnyTimeModificationRes_sequence[] = {
14987   { &hf_gsm_map_ms_ss_InfoFor_CSE, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ms_Ext_SS_InfoFor_CSE },
14988   { &hf_gsm_map_ms_camel_SubscriptionInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CAMEL_SubscriptionInfo },
14989   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
14990   { &hf_gsm_map_ms_odb_Info , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Info },
14991   { &hf_gsm_map_ms_cw_Data  , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallWaitingData },
14992   { &hf_gsm_map_ms_ch_Data  , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallHoldData },
14993   { &hf_gsm_map_ms_clip_Data, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ClipData },
14994   { &hf_gsm_map_ms_clir_Data, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ClirData },
14995   { &hf_gsm_map_ms_ect_data , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EctData },
14996   { &hf_gsm_map_ms_serviceCentreAddress, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
14997   { NULL, 0, 0, 0, NULL }
14998 };
14999 
15000 static int
15001 dissect_gsm_map_ms_AnyTimeModificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15002   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15003                                    gsm_map_ms_AnyTimeModificationRes_sequence, hf_index, ett_gsm_map_ms_AnyTimeModificationRes);
15004 
15005   return offset;
15006 }
15007 
15008 
15009 static const ber_sequence_t gsm_map_ms_NoteSubscriberDataModifiedArg_sequence[] = {
15010   { &hf_gsm_map_ms_imsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
15011   { &hf_gsm_map_ms_msisdn   , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
15012   { &hf_gsm_map_ms_forwardingInfoFor_CSE, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_ForwardingInfoFor_CSE },
15013   { &hf_gsm_map_ms_callBarringInfoFor_CSE, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Ext_CallBarringInfoFor_CSE },
15014   { &hf_gsm_map_ms_odb_Info , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Info },
15015   { &hf_gsm_map_ms_camel_SubscriptionInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CAMEL_SubscriptionInfo },
15016   { &hf_gsm_map_ms_allInformationSent, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NULL },
15017   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15018   { &hf_gsm_map_ms_ue_reachable, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ServingNode },
15019   { &hf_gsm_map_ms_csg_SubscriptionDataList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CSG_SubscriptionDataList },
15020   { &hf_gsm_map_ms_cw_Data  , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallWaitingData },
15021   { &hf_gsm_map_ms_ch_Data  , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CallHoldData },
15022   { &hf_gsm_map_ms_clip_Data, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ClipData },
15023   { &hf_gsm_map_ms_clir_Data, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ClirData },
15024   { &hf_gsm_map_ms_ect_data , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_EctData },
15025   { NULL, 0, 0, 0, NULL }
15026 };
15027 
15028 static int
15029 dissect_gsm_map_ms_NoteSubscriberDataModifiedArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15030   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15031                                    gsm_map_ms_NoteSubscriberDataModifiedArg_sequence, hf_index, ett_gsm_map_ms_NoteSubscriberDataModifiedArg);
15032 
15033   return offset;
15034 }
15035 
15036 
15037 static const ber_sequence_t gsm_map_ms_NoteSubscriberDataModifiedRes_sequence[] = {
15038   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15039   { NULL, 0, 0, 0, NULL }
15040 };
15041 
15042 static int
15043 dissect_gsm_map_ms_NoteSubscriberDataModifiedRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15044   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15045                                    gsm_map_ms_NoteSubscriberDataModifiedRes_sequence, hf_index, ett_gsm_map_ms_NoteSubscriberDataModifiedRes);
15046 
15047   return offset;
15048 }
15049 
15050 
15051 static const ber_sequence_t gsm_map_ms_NoteMM_EventArg_sequence[] = {
15052   { &hf_gsm_map_ms_serviceKey, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_ServiceKey },
15053   { &hf_gsm_map_ms_eventMet , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_MM_Code },
15054   { &hf_gsm_map_ms_imsi     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15055   { &hf_gsm_map_ms_msisdn   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15056   { &hf_gsm_map_ms_locationInformation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformation },
15057   { &hf_gsm_map_ms_supportedCAMELPhases, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
15058   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15059   { &hf_gsm_map_ms_locationInformationGPRS, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_LocationInformationGPRS },
15060   { &hf_gsm_map_ms_offeredCamel4Functionalities, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4Functionalities },
15061   { NULL, 0, 0, 0, NULL }
15062 };
15063 
15064 static int
15065 dissect_gsm_map_ms_NoteMM_EventArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15066   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15067                                    gsm_map_ms_NoteMM_EventArg_sequence, hf_index, ett_gsm_map_ms_NoteMM_EventArg);
15068 
15069   return offset;
15070 }
15071 
15072 
15073 static const ber_sequence_t gsm_map_ms_NoteMM_EventRes_sequence[] = {
15074   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15075   { NULL, 0, 0, 0, NULL }
15076 };
15077 
15078 static int
15079 dissect_gsm_map_ms_NoteMM_EventRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15080   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15081                                    gsm_map_ms_NoteMM_EventRes_sequence, hf_index, ett_gsm_map_ms_NoteMM_EventRes);
15082 
15083   return offset;
15084 }
15085 
15086 
15087 static const ber_sequence_t gsm_map_ms_UpdateVcsgLocationArg_sequence[] = {
15088   { &hf_gsm_map_ms_imsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
15089   { &hf_gsm_map_ms_msisdn   , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15090   { &hf_gsm_map_ms_vlr_Number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15091   { &hf_gsm_map_ms_sgsn_Number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15092   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15093   { NULL, 0, 0, 0, NULL }
15094 };
15095 
15096 static int
15097 dissect_gsm_map_ms_UpdateVcsgLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15098   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15099                                    gsm_map_ms_UpdateVcsgLocationArg_sequence, hf_index, ett_gsm_map_ms_UpdateVcsgLocationArg);
15100 
15101   return offset;
15102 }
15103 
15104 
15105 static const ber_sequence_t gsm_map_ms_UpdateVcsgLocationRes_sequence[] = {
15106   { &hf_gsm_map_ms_temporaryEmptySubscriptiondataIndicator, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_NULL },
15107   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15108   { NULL, 0, 0, 0, NULL }
15109 };
15110 
15111 static int
15112 dissect_gsm_map_ms_UpdateVcsgLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15113   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15114                                    gsm_map_ms_UpdateVcsgLocationRes_sequence, hf_index, ett_gsm_map_ms_UpdateVcsgLocationRes);
15115 
15116   return offset;
15117 }
15118 
15119 
15120 static const ber_sequence_t gsm_map_ms_CancelVcsgLocationArg_sequence[] = {
15121   { &hf_gsm_map_ms_identity , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Identity },
15122   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15123   { NULL, 0, 0, 0, NULL }
15124 };
15125 
15126 static int
15127 dissect_gsm_map_ms_CancelVcsgLocationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15128   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15129                                    gsm_map_ms_CancelVcsgLocationArg_sequence, hf_index, ett_gsm_map_ms_CancelVcsgLocationArg);
15130 
15131   return offset;
15132 }
15133 
15134 
15135 static const ber_sequence_t gsm_map_ms_CancelVcsgLocationRes_sequence[] = {
15136   { &hf_gsm_map_ms_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15137   { NULL, 0, 0, 0, NULL }
15138 };
15139 
15140 static int
15141 dissect_gsm_map_ms_CancelVcsgLocationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15142   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15143                                    gsm_map_ms_CancelVcsgLocationRes_sequence, hf_index, ett_gsm_map_ms_CancelVcsgLocationRes);
15144 
15145   return offset;
15146 }
15147 
15148 /*--- PDUs ---*/
15149 
15150 static int dissect_gsm_map_ms_SendAuthenticationInfoArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15151   int offset = 0;
15152   asn1_ctx_t asn1_ctx;
15153   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
15154   offset = dissect_gsm_map_ms_SendAuthenticationInfoArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_gsm_map_ms_gsm_map_ms_SendAuthenticationInfoArg_PDU);
15155   return offset;
15156 }
15157 static int dissect_gsm_map_ms_SendAuthenticationInfoRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
15158   int offset = 0;
15159   asn1_ctx_t asn1_ctx;
15160   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
15161   offset = dissect_gsm_map_ms_SendAuthenticationInfoRes(FALSE, tvb, offset, &asn1_ctx, tree, hf_gsm_map_ms_gsm_map_ms_SendAuthenticationInfoRes_PDU);
15162   return offset;
15163 }
15164 
15165 
15166 /* --- Module MAP-CH-DataTypes --- --- ---                                    */
15167 
15168 
15169 
15170 static int
15171 dissect_gsm_map_ch_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15172   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
15173 
15174   return offset;
15175 }
15176 
15177 
15178 static const ber_sequence_t gsm_map_ch_CUG_CheckInfo_sequence[] = {
15179   { &hf_gsm_map_ch_cug_Interlock, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_CUG_Interlock },
15180   { &hf_gsm_map_ch_cug_OutgoingAccess, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_NULL },
15181   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15182   { NULL, 0, 0, 0, NULL }
15183 };
15184 
15185 int
15186 dissect_gsm_map_ch_CUG_CheckInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15187   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15188                                    gsm_map_ch_CUG_CheckInfo_sequence, hf_index, ett_gsm_map_ch_CUG_CheckInfo);
15189 
15190   return offset;
15191 }
15192 
15193 
15194 
15195 static int
15196 dissect_gsm_map_ch_NumberOfForwarding(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15197   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15198                                                 NULL);
15199 
15200   return offset;
15201 }
15202 
15203 
15204 static const value_string gsm_map_ch_InterrogationType_vals[] = {
15205   {   0, "basicCall" },
15206   {   1, "forwarding" },
15207   { 0, NULL }
15208 };
15209 
15210 
15211 static int
15212 dissect_gsm_map_ch_InterrogationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15213   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15214                                   NULL);
15215 
15216   return offset;
15217 }
15218 
15219 
15220 
15221 static int
15222 dissect_gsm_map_ch_OR_Phase(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15223   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15224                                                 NULL);
15225 
15226   return offset;
15227 }
15228 
15229 
15230 
15231 int
15232 dissect_gsm_map_ch_CallReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15233   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15234                                        NULL);
15235 
15236   return offset;
15237 }
15238 
15239 
15240 static const value_string gsm_map_ch_ForwardingReason_vals[] = {
15241   {   0, "notReachable" },
15242   {   1, "busy" },
15243   {   2, "noReply" },
15244   { 0, NULL }
15245 };
15246 
15247 
15248 static int
15249 dissect_gsm_map_ch_ForwardingReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15250   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15251                                   NULL);
15252 
15253   return offset;
15254 }
15255 
15256 
15257 static const ber_sequence_t gsm_map_ch_CamelInfo_sequence[] = {
15258   { &hf_gsm_map_ch_supportedCamelPhases, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_SupportedCamelPhases },
15259   { &hf_gsm_map_ch_suppress_T_CSI, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_NULL },
15260   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15261   { &hf_gsm_map_ch_offeredCamel4CSIs, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
15262   { NULL, 0, 0, 0, NULL }
15263 };
15264 
15265 static int
15266 dissect_gsm_map_ch_CamelInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15267   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15268                                    gsm_map_ch_CamelInfo_sequence, hf_index, ett_gsm_map_ch_CamelInfo);
15269 
15270   return offset;
15271 }
15272 
15273 
15274 
15275 int
15276 dissect_gsm_map_ch_SuppressionOfAnnouncement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15277   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
15278 
15279   return offset;
15280 }
15281 
15282 
15283 
15284 static int
15285 dissect_gsm_map_ch_SupportedCCBS_Phase(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15286   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15287                                                 NULL);
15288 
15289   return offset;
15290 }
15291 
15292 
15293 
15294 static int
15295 dissect_gsm_map_ch_CallDiversionTreatmentIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15296   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15297                                        NULL);
15298 
15299   return offset;
15300 }
15301 
15302 
15303 static int * const gsm_map_ch_SuppressMTSS_bits[] = {
15304   &hf_gsm_map_ch_SuppressMTSS_suppressCUG,
15305   &hf_gsm_map_ch_SuppressMTSS_suppressCCBS,
15306   NULL
15307 };
15308 
15309 static int
15310 dissect_gsm_map_ch_SuppressMTSS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15311   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
15312                                     gsm_map_ch_SuppressMTSS_bits, 2, hf_index, ett_gsm_map_ch_SuppressMTSS,
15313                                     NULL);
15314 
15315   return offset;
15316 }
15317 
15318 
15319 static const ber_sequence_t gsm_map_ch_SendRoutingInfoArg_sequence[] = {
15320   { &hf_gsm_map_ch_msisdn   , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15321   { &hf_gsm_map_ch_cug_CheckInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CUG_CheckInfo },
15322   { &hf_gsm_map_ch_numberOfForwarding, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NumberOfForwarding },
15323   { &hf_gsm_map_ch_interrogationType, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_InterrogationType },
15324   { &hf_gsm_map_ch_or_Interrogation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15325   { &hf_gsm_map_ch_or_Capability, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_OR_Phase },
15326   { &hf_gsm_map_ch_gmsc_OrGsmSCF_Address, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15327   { &hf_gsm_map_ch_callReferenceNumber, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallReferenceNumber },
15328   { &hf_gsm_map_ch_forwardingReason, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_ForwardingReason },
15329   { &hf_gsm_map_ch_basicServiceGroup, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
15330   { &hf_gsm_map_ch_networkSignalInfo, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
15331   { &hf_gsm_map_ch_camelInfo, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CamelInfo },
15332   { &hf_gsm_map_ch_suppressionOfAnnouncement, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_SuppressionOfAnnouncement },
15333   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15334   { &hf_gsm_map_ch_alertingPattern, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AlertingPattern },
15335   { &hf_gsm_map_ch_ccbs_Call, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15336   { &hf_gsm_map_ch_supportedCCBS_Phase, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_SupportedCCBS_Phase },
15337   { &hf_gsm_map_ch_additionalSignalInfo, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_ExternalSignalInfo },
15338   { &hf_gsm_map_ch_istSupportIndicator, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_SupportIndicator },
15339   { &hf_gsm_map_ch_pre_pagingSupported, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15340   { &hf_gsm_map_ch_callDiversionTreatmentIndicator, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallDiversionTreatmentIndicator },
15341   { &hf_gsm_map_ch_longFTN_Supported, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15342   { &hf_gsm_map_ch_suppress_VT_CSI, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15343   { &hf_gsm_map_ch_suppressIncomingCallBarring, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15344   { &hf_gsm_map_ch_gsmSCF_InitiatedCall, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15345   { &hf_gsm_map_ch_basicServiceGroup2, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
15346   { &hf_gsm_map_ch_networkSignalInfo2, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
15347   { &hf_gsm_map_ch_suppressMTSS, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_SuppressMTSS },
15348   { &hf_gsm_map_ch_mtRoamingRetrySupported, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15349   { &hf_gsm_map_ch_callPriority, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority },
15350   { NULL, 0, 0, 0, NULL }
15351 };
15352 
15353 static int
15354 dissect_gsm_map_ch_SendRoutingInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15355   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15356                                    gsm_map_ch_SendRoutingInfoArg_sequence, hf_index, ett_gsm_map_ch_SendRoutingInfoArg);
15357 
15358   return offset;
15359 }
15360 
15361 
15362 static const ber_sequence_t gsm_map_ch_ForwardingData_sequence[] = {
15363   { &hf_gsm_map_ch_forwardedToNumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15364   { &hf_gsm_map_ch_forwardedToSubaddress, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
15365   { &hf_gsm_map_ch_forwardingOptions, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_ForwardingOptions },
15366   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15367   { &hf_gsm_map_ch_longForwardedToNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_FTN_AddressString },
15368   { NULL, 0, 0, 0, NULL }
15369 };
15370 
15371 static int
15372 dissect_gsm_map_ch_ForwardingData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15373   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15374                                    gsm_map_ch_ForwardingData_sequence, hf_index, ett_gsm_map_ch_ForwardingData);
15375 
15376   return offset;
15377 }
15378 
15379 
15380 static const value_string gsm_map_ch_RoutingInfo_vals[] = {
15381   {   0, "roamingNumber" },
15382   {   1, "forwardingData" },
15383   { 0, NULL }
15384 };
15385 
15386 static const ber_choice_t gsm_map_ch_RoutingInfo_choice[] = {
15387   {   0, &hf_gsm_map_ch_roamingNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
15388   {   1, &hf_gsm_map_ch_forwardingData, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_ForwardingData },
15389   { 0, NULL, 0, 0, 0, NULL }
15390 };
15391 
15392 static int
15393 dissect_gsm_map_ch_RoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15394   offset = dissect_ber_choice(actx, tree, tvb, offset,
15395                                  gsm_map_ch_RoutingInfo_choice, hf_index, ett_gsm_map_ch_RoutingInfo,
15396                                  NULL);
15397 
15398   return offset;
15399 }
15400 
15401 
15402 static const ber_sequence_t gsm_map_ch_GmscCamelSubscriptionInfo_sequence[] = {
15403   { &hf_gsm_map_ch_t_CSI    , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_CSI },
15404   { &hf_gsm_map_ch_o_CSI    , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI },
15405   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15406   { &hf_gsm_map_ch_o_BcsmCamelTDP_CriteriaList, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList },
15407   { &hf_gsm_map_ch_t_BCSM_CAMEL_TDP_CriteriaList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList },
15408   { &hf_gsm_map_ch_d_csi    , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI },
15409   { NULL, 0, 0, 0, NULL }
15410 };
15411 
15412 static int
15413 dissect_gsm_map_ch_GmscCamelSubscriptionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15414   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15415                                    gsm_map_ch_GmscCamelSubscriptionInfo_sequence, hf_index, ett_gsm_map_ch_GmscCamelSubscriptionInfo);
15416 
15417   return offset;
15418 }
15419 
15420 
15421 static const ber_sequence_t gsm_map_ch_CamelRoutingInfo_sequence[] = {
15422   { &hf_gsm_map_ch_forwardingData, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_ForwardingData },
15423   { &hf_gsm_map_ch_gmscCamelSubscriptionInfo, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_GmscCamelSubscriptionInfo },
15424   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15425   { NULL, 0, 0, 0, NULL }
15426 };
15427 
15428 static int
15429 dissect_gsm_map_ch_CamelRoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15430   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15431                                    gsm_map_ch_CamelRoutingInfo_sequence, hf_index, ett_gsm_map_ch_CamelRoutingInfo);
15432 
15433   return offset;
15434 }
15435 
15436 
15437 static const value_string gsm_map_ch_ExtendedRoutingInfo_vals[] = {
15438   {   0, "routingInfo" },
15439   {   1, "camelRoutingInfo" },
15440   { 0, NULL }
15441 };
15442 
15443 static const ber_choice_t gsm_map_ch_ExtendedRoutingInfo_choice[] = {
15444   {   0, &hf_gsm_map_ch_routingInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_RoutingInfo },
15445   {   1, &hf_gsm_map_ch_camelRoutingInfo, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CamelRoutingInfo },
15446   { 0, NULL, 0, 0, 0, NULL }
15447 };
15448 
15449 static int
15450 dissect_gsm_map_ch_ExtendedRoutingInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15451   offset = dissect_ber_choice(actx, tree, tvb, offset,
15452                                  gsm_map_ch_ExtendedRoutingInfo_choice, hf_index, ett_gsm_map_ch_ExtendedRoutingInfo,
15453                                  NULL);
15454 
15455   return offset;
15456 }
15457 
15458 
15459 static const ber_sequence_t gsm_map_ch_CCBS_Indicators_sequence[] = {
15460   { &hf_gsm_map_ch_ccbs_Possible, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15461   { &hf_gsm_map_ch_keepCCBS_CallIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15462   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15463   { NULL, 0, 0, 0, NULL }
15464 };
15465 
15466 static int
15467 dissect_gsm_map_ch_CCBS_Indicators(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15468   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15469                                    gsm_map_ch_CCBS_Indicators_sequence, hf_index, ett_gsm_map_ch_CCBS_Indicators);
15470 
15471   return offset;
15472 }
15473 
15474 
15475 static int * const gsm_map_ch_AllowedServices_bits[] = {
15476   &hf_gsm_map_ch_AllowedServices_firstServiceAllowed,
15477   &hf_gsm_map_ch_AllowedServices_secondServiceAllowed,
15478   NULL
15479 };
15480 
15481 static int
15482 dissect_gsm_map_ch_AllowedServices(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15483   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
15484                                     gsm_map_ch_AllowedServices_bits, 2, hf_index, ett_gsm_map_ch_AllowedServices,
15485                                     NULL);
15486 
15487   return offset;
15488 }
15489 
15490 
15491 static const value_string gsm_map_ch_UnavailabilityCause_vals[] = {
15492   {   1, "bearerServiceNotProvisioned" },
15493   {   2, "teleserviceNotProvisioned" },
15494   {   3, "absentSubscriber" },
15495   {   4, "busySubscriber" },
15496   {   5, "callBarred" },
15497   {   6, "cug-Reject" },
15498   { 0, NULL }
15499 };
15500 
15501 
15502 static int
15503 dissect_gsm_map_ch_UnavailabilityCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15504   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15505                                   NULL);
15506 
15507   return offset;
15508 }
15509 
15510 
15511 static const ber_sequence_t gsm_map_ch_SendRoutingInfoRes_U_sequence[] = {
15512   { &hf_gsm_map_ch_imsi     , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15513   { &hf_gsm_map_ch_extendedRoutingInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ch_ExtendedRoutingInfo },
15514   { &hf_gsm_map_ch_cug_CheckInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CUG_CheckInfo },
15515   { &hf_gsm_map_ch_cugSubscriptionFlag, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15516   { &hf_gsm_map_ch_subscriberInfo, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscriberInfo },
15517   { &hf_gsm_map_ch_ss_List  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_List },
15518   { &hf_gsm_map_ch_basicService, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
15519   { &hf_gsm_map_ch_forwardingInterrogationRequired, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15520   { &hf_gsm_map_ch_vmsc_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15521   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15522   { &hf_gsm_map_ch_naea_PreferredCI, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_NAEA_PreferredCI },
15523   { &hf_gsm_map_ch_ccbs_Indicators, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CCBS_Indicators },
15524   { &hf_gsm_map_ch_msisdn   , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15525   { &hf_gsm_map_ch_numberPortabilityStatus, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NumberPortabilityStatus },
15526   { &hf_gsm_map_ch_istAlertTimer, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_AlertTimerValue },
15527   { &hf_gsm_map_ch_supportedCamelPhasesInVMSC, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
15528   { &hf_gsm_map_ch_offeredCamel4CSIsInVMSC, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
15529   { &hf_gsm_map_ch_routingInfo2, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ch_RoutingInfo },
15530   { &hf_gsm_map_ch_ss_List2 , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_List },
15531   { &hf_gsm_map_ch_basicService2, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
15532   { &hf_gsm_map_ch_allowedServices, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_AllowedServices },
15533   { &hf_gsm_map_ch_unavailabilityCause, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_UnavailabilityCause },
15534   { &hf_gsm_map_ch_releaseResourcesSupported, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15535   { &hf_gsm_map_ch_gsm_BearerCapability, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
15536   { NULL, 0, 0, 0, NULL }
15537 };
15538 
15539 static int
15540 dissect_gsm_map_ch_SendRoutingInfoRes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15541   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15542                                    gsm_map_ch_SendRoutingInfoRes_U_sequence, hf_index, ett_gsm_map_ch_SendRoutingInfoRes_U);
15543 
15544   return offset;
15545 }
15546 
15547 
15548 
15549 static int
15550 dissect_gsm_map_ch_SendRoutingInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15551   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15552                                       hf_index, BER_CLASS_CON, 3, TRUE, dissect_gsm_map_ch_SendRoutingInfoRes_U);
15553 
15554   return offset;
15555 }
15556 
15557 
15558 static const ber_sequence_t gsm_map_ch_ProvideRoamingNumberArg_sequence[] = {
15559   { &hf_gsm_map_ch_imsi     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15560   { &hf_gsm_map_ch_msc_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15561   { &hf_gsm_map_ch_msisdn   , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15562   { &hf_gsm_map_ch_lmsi     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
15563   { &hf_gsm_map_ch_gsm_BearerCapability, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
15564   { &hf_gsm_map_ch_networkSignalInfo, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
15565   { &hf_gsm_map_ch_suppressionOfAnnouncement, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_SuppressionOfAnnouncement },
15566   { &hf_gsm_map_ch_gmsc_Address, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15567   { &hf_gsm_map_ch_callReferenceNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallReferenceNumber },
15568   { &hf_gsm_map_ch_or_Interrogation, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15569   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15570   { &hf_gsm_map_ch_alertingPattern, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AlertingPattern },
15571   { &hf_gsm_map_ch_ccbs_Call, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15572   { &hf_gsm_map_ch_supportedCamelPhasesInInterrogatingNode, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedCamelPhases },
15573   { &hf_gsm_map_ch_additionalSignalInfo, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_ExternalSignalInfo },
15574   { &hf_gsm_map_ch_orNotSupportedInGMSC, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15575   { &hf_gsm_map_ch_pre_pagingSupported, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15576   { &hf_gsm_map_ch_longFTN_Supported, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15577   { &hf_gsm_map_ch_suppress_VT_CSI, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15578   { &hf_gsm_map_ch_offeredCamel4CSIsInInterrogatingNode, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_OfferedCamel4CSIs },
15579   { &hf_gsm_map_ch_mtRoamingRetrySupported, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15580   { &hf_gsm_map_ch_pagingArea, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_PagingArea },
15581   { &hf_gsm_map_ch_callPriority, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority },
15582   { &hf_gsm_map_ch_mtrf_Indicator, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15583   { &hf_gsm_map_ch_oldMSC_Number, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15584   { &hf_gsm_map_ch_lastUsedLtePLMN_Id, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_PLMN_Id },
15585   { NULL, 0, 0, 0, NULL }
15586 };
15587 
15588 static int
15589 dissect_gsm_map_ch_ProvideRoamingNumberArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15590   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15591                                    gsm_map_ch_ProvideRoamingNumberArg_sequence, hf_index, ett_gsm_map_ch_ProvideRoamingNumberArg);
15592 
15593   return offset;
15594 }
15595 
15596 
15597 static const ber_sequence_t gsm_map_ch_ProvideRoamingNumberRes_sequence[] = {
15598   { &hf_gsm_map_ch_roamingNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
15599   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15600   { &hf_gsm_map_ch_releaseResourcesSupported, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_NULL },
15601   { &hf_gsm_map_ch_vmsc_Address, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
15602   { NULL, 0, 0, 0, NULL }
15603 };
15604 
15605 static int
15606 dissect_gsm_map_ch_ProvideRoamingNumberRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15607   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15608                                    gsm_map_ch_ProvideRoamingNumberRes_sequence, hf_index, ett_gsm_map_ch_ProvideRoamingNumberRes);
15609 
15610   return offset;
15611 }
15612 
15613 
15614 
15615 static int
15616 dissect_gsm_map_ch_UUIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15617   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15618                                        NULL);
15619 
15620   return offset;
15621 }
15622 
15623 
15624 
15625 static int
15626 dissect_gsm_map_ch_UUI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15627   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15628                                        NULL);
15629 
15630   return offset;
15631 }
15632 
15633 
15634 static const ber_sequence_t gsm_map_ch_UU_Data_sequence[] = {
15635   { &hf_gsm_map_ch_uuIndicator, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_UUIndicator },
15636   { &hf_gsm_map_ch_uui      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_UUI },
15637   { &hf_gsm_map_ch_uusCFInteraction, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15638   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15639   { NULL, 0, 0, 0, NULL }
15640 };
15641 
15642 int
15643 dissect_gsm_map_ch_UU_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15644   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15645                                    gsm_map_ch_UU_Data_sequence, hf_index, ett_gsm_map_ch_UU_Data);
15646 
15647   return offset;
15648 }
15649 
15650 
15651 static const ber_sequence_t gsm_map_ch_ResumeCallHandlingArg_sequence[] = {
15652   { &hf_gsm_map_ch_callReferenceNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallReferenceNumber },
15653   { &hf_gsm_map_ch_basicServiceGroup, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
15654   { &hf_gsm_map_ch_forwardingData, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_ForwardingData },
15655   { &hf_gsm_map_ch_imsi     , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15656   { &hf_gsm_map_ch_cug_CheckInfo, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CUG_CheckInfo },
15657   { &hf_gsm_map_ch_o_CSI    , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_CSI },
15658   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15659   { &hf_gsm_map_ch_ccbs_Possible, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15660   { &hf_gsm_map_ch_msisdn   , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15661   { &hf_gsm_map_ch_uu_Data  , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_UU_Data },
15662   { &hf_gsm_map_ch_allInformationSent, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15663   { &hf_gsm_map_ch_d_csi    , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_D_CSI },
15664   { &hf_gsm_map_ch_o_BcsmCamelTDPCriteriaList, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_O_BcsmCamelTDPCriteriaList },
15665   { &hf_gsm_map_ch_basicServiceGroup2, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_Ext_BasicServiceCode },
15666   { &hf_gsm_map_ch_mtRoamingRetry, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15667   { NULL, 0, 0, 0, NULL }
15668 };
15669 
15670 static int
15671 dissect_gsm_map_ch_ResumeCallHandlingArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15672   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15673                                    gsm_map_ch_ResumeCallHandlingArg_sequence, hf_index, ett_gsm_map_ch_ResumeCallHandlingArg);
15674 
15675   return offset;
15676 }
15677 
15678 
15679 static const ber_sequence_t gsm_map_ch_ResumeCallHandlingRes_sequence[] = {
15680   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15681   { NULL, 0, 0, 0, NULL }
15682 };
15683 
15684 static int
15685 dissect_gsm_map_ch_ResumeCallHandlingRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15686   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15687                                    gsm_map_ch_ResumeCallHandlingRes_sequence, hf_index, ett_gsm_map_ch_ResumeCallHandlingRes);
15688 
15689   return offset;
15690 }
15691 
15692 
15693 static const value_string gsm_map_ch_ReportingState_vals[] = {
15694   {   0, "stopMonitoring" },
15695   {   1, "startMonitoring" },
15696   { 0, NULL }
15697 };
15698 
15699 
15700 static int
15701 dissect_gsm_map_ch_ReportingState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15702   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15703                                   NULL);
15704 
15705   return offset;
15706 }
15707 
15708 
15709 static const ber_sequence_t gsm_map_ch_SetReportingStateArg_sequence[] = {
15710   { &hf_gsm_map_ch_imsi     , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15711   { &hf_gsm_map_ch_lmsi     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
15712   { &hf_gsm_map_ch_ccbs_Monitoring, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_ReportingState },
15713   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15714   { NULL, 0, 0, 0, NULL }
15715 };
15716 
15717 static int
15718 dissect_gsm_map_ch_SetReportingStateArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15719   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15720                                    gsm_map_ch_SetReportingStateArg_sequence, hf_index, ett_gsm_map_ch_SetReportingStateArg);
15721 
15722   return offset;
15723 }
15724 
15725 
15726 static const value_string gsm_map_ch_CCBS_SubscriberStatus_vals[] = {
15727   {   0, "ccbsNotIdle" },
15728   {   1, "ccbsIdle" },
15729   {   2, "ccbsNotReachable" },
15730   { 0, NULL }
15731 };
15732 
15733 
15734 static int
15735 dissect_gsm_map_ch_CCBS_SubscriberStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15736   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15737                                   NULL);
15738 
15739   return offset;
15740 }
15741 
15742 
15743 static const ber_sequence_t gsm_map_ch_SetReportingStateRes_sequence[] = {
15744   { &hf_gsm_map_ch_ccbs_SubscriberStatus, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CCBS_SubscriberStatus },
15745   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15746   { NULL, 0, 0, 0, NULL }
15747 };
15748 
15749 static int
15750 dissect_gsm_map_ch_SetReportingStateRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15751   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15752                                    gsm_map_ch_SetReportingStateRes_sequence, hf_index, ett_gsm_map_ch_SetReportingStateRes);
15753 
15754   return offset;
15755 }
15756 
15757 
15758 static const ber_sequence_t gsm_map_ch_EventReportData_sequence[] = {
15759   { &hf_gsm_map_ch_ccbs_SubscriberStatus, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CCBS_SubscriberStatus },
15760   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15761   { NULL, 0, 0, 0, NULL }
15762 };
15763 
15764 static int
15765 dissect_gsm_map_ch_EventReportData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15766   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15767                                    gsm_map_ch_EventReportData_sequence, hf_index, ett_gsm_map_ch_EventReportData);
15768 
15769   return offset;
15770 }
15771 
15772 
15773 static const value_string gsm_map_ch_MonitoringMode_vals[] = {
15774   {   0, "a-side" },
15775   {   1, "b-side" },
15776   { 0, NULL }
15777 };
15778 
15779 
15780 static int
15781 dissect_gsm_map_ch_MonitoringMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15782   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15783                                   NULL);
15784 
15785   return offset;
15786 }
15787 
15788 
15789 static const value_string gsm_map_ch_CallOutcome_vals[] = {
15790   {   0, "success" },
15791   {   1, "failure" },
15792   {   2, "busy" },
15793   { 0, NULL }
15794 };
15795 
15796 
15797 static int
15798 dissect_gsm_map_ch_CallOutcome(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15799   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15800                                   NULL);
15801 
15802   return offset;
15803 }
15804 
15805 
15806 static const ber_sequence_t gsm_map_ch_CallReportData_sequence[] = {
15807   { &hf_gsm_map_ch_monitoringMode, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_MonitoringMode },
15808   { &hf_gsm_map_ch_callOutcome, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallOutcome },
15809   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15810   { NULL, 0, 0, 0, NULL }
15811 };
15812 
15813 static int
15814 dissect_gsm_map_ch_CallReportData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15815   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15816                                    gsm_map_ch_CallReportData_sequence, hf_index, ett_gsm_map_ch_CallReportData);
15817 
15818   return offset;
15819 }
15820 
15821 
15822 static const ber_sequence_t gsm_map_ch_StatusReportArg_sequence[] = {
15823   { &hf_gsm_map_ch_imsi     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15824   { &hf_gsm_map_ch_eventReportData, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_EventReportData },
15825   { &hf_gsm_map_ch_callReportdata, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallReportData },
15826   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15827   { NULL, 0, 0, 0, NULL }
15828 };
15829 
15830 static int
15831 dissect_gsm_map_ch_StatusReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15832   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15833                                    gsm_map_ch_StatusReportArg_sequence, hf_index, ett_gsm_map_ch_StatusReportArg);
15834 
15835   return offset;
15836 }
15837 
15838 
15839 static const ber_sequence_t gsm_map_ch_StatusReportRes_sequence[] = {
15840   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15841   { NULL, 0, 0, 0, NULL }
15842 };
15843 
15844 static int
15845 dissect_gsm_map_ch_StatusReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15846   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15847                                    gsm_map_ch_StatusReportRes_sequence, hf_index, ett_gsm_map_ch_StatusReportRes);
15848 
15849   return offset;
15850 }
15851 
15852 
15853 static const ber_sequence_t gsm_map_ch_RemoteUserFreeArg_sequence[] = {
15854   { &hf_gsm_map_ch_imsi     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15855   { &hf_gsm_map_ch_callInfo , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
15856   { &hf_gsm_map_ch_ccbs_Feature, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Feature },
15857   { &hf_gsm_map_ch_translatedB_Number, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
15858   { &hf_gsm_map_ch_replaceB_Number, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15859   { &hf_gsm_map_ch_alertingPattern, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AlertingPattern },
15860   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15861   { NULL, 0, 0, 0, NULL }
15862 };
15863 
15864 static int
15865 dissect_gsm_map_ch_RemoteUserFreeArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15866   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15867                                    gsm_map_ch_RemoteUserFreeArg_sequence, hf_index, ett_gsm_map_ch_RemoteUserFreeArg);
15868 
15869   return offset;
15870 }
15871 
15872 
15873 static const value_string gsm_map_ch_RUF_Outcome_vals[] = {
15874   {   0, "accepted" },
15875   {   1, "rejected" },
15876   {   2, "noResponseFromFreeMS" },
15877   {   3, "noResponseFromBusyMS" },
15878   {   4, "udubFromFreeMS" },
15879   {   5, "udubFromBusyMS" },
15880   { 0, NULL }
15881 };
15882 
15883 
15884 static int
15885 dissect_gsm_map_ch_RUF_Outcome(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15886   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15887                                   NULL);
15888 
15889   return offset;
15890 }
15891 
15892 
15893 static const ber_sequence_t gsm_map_ch_RemoteUserFreeRes_sequence[] = {
15894   { &hf_gsm_map_ch_ruf_Outcome, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_RUF_Outcome },
15895   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15896   { NULL, 0, 0, 0, NULL }
15897 };
15898 
15899 static int
15900 dissect_gsm_map_ch_RemoteUserFreeRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15901   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15902                                    gsm_map_ch_RemoteUserFreeRes_sequence, hf_index, ett_gsm_map_ch_RemoteUserFreeRes);
15903 
15904   return offset;
15905 }
15906 
15907 
15908 static const ber_sequence_t gsm_map_ch_IST_AlertArg_sequence[] = {
15909   { &hf_gsm_map_ch_imsi     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15910   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15911   { NULL, 0, 0, 0, NULL }
15912 };
15913 
15914 static int
15915 dissect_gsm_map_ch_IST_AlertArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15916   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15917                                    gsm_map_ch_IST_AlertArg_sequence, hf_index, ett_gsm_map_ch_IST_AlertArg);
15918 
15919   return offset;
15920 }
15921 
15922 
15923 static const value_string gsm_map_ch_CallTerminationIndicator_vals[] = {
15924   {   0, "terminateCallActivityReferred" },
15925   {   1, "terminateAllCallActivities" },
15926   { 0, NULL }
15927 };
15928 
15929 
15930 static int
15931 dissect_gsm_map_ch_CallTerminationIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15932   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15933                                   NULL);
15934 
15935   return offset;
15936 }
15937 
15938 
15939 static const ber_sequence_t gsm_map_ch_IST_AlertRes_sequence[] = {
15940   { &hf_gsm_map_ch_istAlertTimer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_IST_AlertTimerValue },
15941   { &hf_gsm_map_ch_istInformationWithdraw, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NULL },
15942   { &hf_gsm_map_ch_callTerminationIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CallTerminationIndicator },
15943   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15944   { NULL, 0, 0, 0, NULL }
15945 };
15946 
15947 static int
15948 dissect_gsm_map_ch_IST_AlertRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15949   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15950                                    gsm_map_ch_IST_AlertRes_sequence, hf_index, ett_gsm_map_ch_IST_AlertRes);
15951 
15952   return offset;
15953 }
15954 
15955 
15956 static const ber_sequence_t gsm_map_ch_IST_CommandArg_sequence[] = {
15957   { &hf_gsm_map_ch_imsi     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15958   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
15959   { NULL, 0, 0, 0, NULL }
15960 };
15961 
15962 static int
15963 dissect_gsm_map_ch_IST_CommandArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15964   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15965                                    gsm_map_ch_IST_CommandArg_sequence, hf_index, ett_gsm_map_ch_IST_CommandArg);
15966 
15967   return offset;
15968 }
15969 
15970 
15971 static const ber_sequence_t gsm_map_ch_IST_CommandRes_sequence[] = {
15972   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15973   { NULL, 0, 0, 0, NULL }
15974 };
15975 
15976 static int
15977 dissect_gsm_map_ch_IST_CommandRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15978   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15979                                    gsm_map_ch_IST_CommandRes_sequence, hf_index, ett_gsm_map_ch_IST_CommandRes);
15980 
15981   return offset;
15982 }
15983 
15984 
15985 static const ber_sequence_t gsm_map_ch_ReleaseResourcesArg_sequence[] = {
15986   { &hf_gsm_map_ch_msrn     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
15987   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
15988   { NULL, 0, 0, 0, NULL }
15989 };
15990 
15991 static int
15992 dissect_gsm_map_ch_ReleaseResourcesArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15993   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15994                                    gsm_map_ch_ReleaseResourcesArg_sequence, hf_index, ett_gsm_map_ch_ReleaseResourcesArg);
15995 
15996   return offset;
15997 }
15998 
15999 
16000 static const ber_sequence_t gsm_map_ch_ReleaseResourcesRes_sequence[] = {
16001   { &hf_gsm_map_ch_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
16002   { NULL, 0, 0, 0, NULL }
16003 };
16004 
16005 static int
16006 dissect_gsm_map_ch_ReleaseResourcesRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16007   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16008                                    gsm_map_ch_ReleaseResourcesRes_sequence, hf_index, ett_gsm_map_ch_ReleaseResourcesRes);
16009 
16010   return offset;
16011 }
16012 
16013 
16014 /* --- Module MAP-LCS-DataTypes --- --- ---                                   */
16015 
16016 
16017 static const ber_sequence_t gsm_map_lcs_RoutingInfoForLCS_Arg_sequence[] = {
16018   { &hf_gsm_map_lcs_mlcNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
16019   { &hf_gsm_map_lcs_targetMS, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity },
16020   { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
16021   { NULL, 0, 0, 0, NULL }
16022 };
16023 
16024 static int
16025 dissect_gsm_map_lcs_RoutingInfoForLCS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16026   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16027                                    gsm_map_lcs_RoutingInfoForLCS_Arg_sequence, hf_index, ett_gsm_map_lcs_RoutingInfoForLCS_Arg);
16028 
16029   return offset;
16030 }
16031 
16032 
16033 
16034 static int
16035 dissect_gsm_map_lcs_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16036   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
16037 
16038   return offset;
16039 }
16040 
16041 
16042 static const ber_sequence_t gsm_map_lcs_LCSLocationInfo_sequence[] = {
16043   { &hf_gsm_map_lcs_networkNode_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
16044   { &hf_gsm_map_lcs_lmsi    , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
16045   { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
16046   { &hf_gsm_map_lcs_gprsNodeIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
16047   { &hf_gsm_map_lcs_additional_Number, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_sm_Additional_Number },
16048   { &hf_gsm_map_lcs_supportedLCS_CapabilitySets, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedLCS_CapabilitySets },
16049   { &hf_gsm_map_lcs_additional_LCS_CapabilitySets, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SupportedLCS_CapabilitySets },
16050   { &hf_gsm_map_lcs_mme_Name, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
16051   { &hf_gsm_map_lcs_aaa_Server_Name, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
16052   { &hf_gsm_map_lcs_sgsn_Name, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
16053   { &hf_gsm_map_lcs_sgsn_Realm, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
16054   { NULL, 0, 0, 0, NULL }
16055 };
16056 
16057 static int
16058 dissect_gsm_map_lcs_LCSLocationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16059   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16060                                    gsm_map_lcs_LCSLocationInfo_sequence, hf_index, ett_gsm_map_lcs_LCSLocationInfo);
16061 
16062   return offset;
16063 }
16064 
16065 
16066 static const ber_sequence_t gsm_map_lcs_RoutingInfoForLCS_Res_sequence[] = {
16067   { &hf_gsm_map_lcs_targetMS, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SubscriberIdentity },
16068   { &hf_gsm_map_lcs_lcsLocationInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSLocationInfo },
16069   { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
16070   { &hf_gsm_map_lcs_v_gmlc_Address, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
16071   { &hf_gsm_map_lcs_h_gmlc_Address, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
16072   { &hf_gsm_map_lcs_ppr_Address, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
16073   { &hf_gsm_map_lcs_additional_v_gmlc_Address, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
16074   { NULL, 0, 0, 0, NULL }
16075 };
16076 
16077 static int
16078 dissect_gsm_map_lcs_RoutingInfoForLCS_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16079   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16080                                    gsm_map_lcs_RoutingInfoForLCS_Res_sequence, hf_index, ett_gsm_map_lcs_RoutingInfoForLCS_Res);
16081 
16082   return offset;
16083 }
16084 
16085 
16086 static const value_string gsm_map_lcs_LocationEstimateType_vals[] = {
16087   {   0, "currentLocation" },
16088   {   1, "currentOrLastKnownLocation" },
16089   {   2, "initialLocation" },
16090   {   3, "activateDeferredLocation" },
16091   {   4, "cancelDeferredLocation" },
16092   {   5, "notificationVerificationOnly" },
16093   { 0, NULL }
16094 };
16095 
16096 
16097 static int
16098 dissect_gsm_map_lcs_LocationEstimateType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16099   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16100                                   NULL);
16101 
16102   return offset;
16103 }
16104 
16105 
16106 static int * const gsm_map_lcs_DeferredLocationEventType_bits[] = {
16107   &hf_gsm_map_lcs_DeferredLocationEventType_msAvailable,
16108   &hf_gsm_map_lcs_DeferredLocationEventType_enteringIntoArea,
16109   &hf_gsm_map_lcs_DeferredLocationEventType_leavingFromArea,
16110   &hf_gsm_map_lcs_DeferredLocationEventType_beingInsideArea,
16111   &hf_gsm_map_lcs_DeferredLocationEventType_periodicLDR,
16112   NULL
16113 };
16114 
16115 int
16116 dissect_gsm_map_lcs_DeferredLocationEventType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16117   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
16118                                     gsm_map_lcs_DeferredLocationEventType_bits, 5, hf_index, ett_gsm_map_lcs_DeferredLocationEventType,
16119                                     NULL);
16120 
16121   return offset;
16122 }
16123 
16124 
16125 static const ber_sequence_t gsm_map_lcs_LocationType_sequence[] = {
16126   { &hf_gsm_map_lcs_locationEstimateType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LocationEstimateType },
16127   { &hf_gsm_map_lcs_deferredLocationEventType, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_DeferredLocationEventType },
16128   { NULL, 0, 0, 0, NULL }
16129 };
16130 
16131 int
16132 dissect_gsm_map_lcs_LocationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16133   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16134                                    gsm_map_lcs_LocationType_sequence, hf_index, ett_gsm_map_lcs_LocationType);
16135 
16136   return offset;
16137 }
16138 
16139 
16140 const value_string gsm_map_lcs_LCSClientType_vals[] = {
16141   {   0, "emergencyServices" },
16142   {   1, "valueAddedServices" },
16143   {   2, "plmnOperatorServices" },
16144   {   3, "lawfulInterceptServices" },
16145   { 0, NULL }
16146 };
16147 
16148 
16149 int
16150 dissect_gsm_map_lcs_LCSClientType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16151   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16152                                   NULL);
16153 
16154   return offset;
16155 }
16156 
16157 
16158 
16159 static int
16160 dissect_gsm_map_lcs_NameString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16161   offset = dissect_gsm_map_ss_USSD_String(implicit_tag, tvb, offset, actx, tree, hf_index);
16162 
16163   return offset;
16164 }
16165 
16166 
16167 static const value_string gsm_map_lcs_LCS_FormatIndicator_vals[] = {
16168   {   0, "logicalName" },
16169   {   1, "e-mailAddress" },
16170   {   2, "msisdn" },
16171   {   3, "url" },
16172   {   4, "sipUrl" },
16173   { 0, NULL }
16174 };
16175 
16176 
16177 static int
16178 dissect_gsm_map_lcs_LCS_FormatIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16179   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16180                                   NULL);
16181 
16182   return offset;
16183 }
16184 
16185 
16186 static const ber_sequence_t gsm_map_lcs_LCSClientName_sequence[] = {
16187   { &hf_gsm_map_lcs_dataCodingScheme, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_DataCodingScheme },
16188   { &hf_gsm_map_lcs_nameString, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NameString },
16189   { &hf_gsm_map_lcs_lcs_FormatIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_FormatIndicator },
16190   { NULL, 0, 0, 0, NULL }
16191 };
16192 
16193 int
16194 dissect_gsm_map_lcs_LCSClientName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16195   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16196                                    gsm_map_lcs_LCSClientName_sequence, hf_index, ett_gsm_map_lcs_LCSClientName);
16197 
16198   return offset;
16199 }
16200 
16201 
16202 
16203 static int
16204 dissect_gsm_map_lcs_RequestorIDString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16205   offset = dissect_gsm_map_ss_USSD_String(implicit_tag, tvb, offset, actx, tree, hf_index);
16206 
16207   return offset;
16208 }
16209 
16210 
16211 static const ber_sequence_t gsm_map_lcs_LCSRequestorID_sequence[] = {
16212   { &hf_gsm_map_lcs_dataCodingScheme, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_DataCodingScheme },
16213   { &hf_gsm_map_lcs_requestorIDString, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_RequestorIDString },
16214   { &hf_gsm_map_lcs_lcs_FormatIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_FormatIndicator },
16215   { NULL, 0, 0, 0, NULL }
16216 };
16217 
16218 int
16219 dissect_gsm_map_lcs_LCSRequestorID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16220   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16221                                    gsm_map_lcs_LCSRequestorID_sequence, hf_index, ett_gsm_map_lcs_LCSRequestorID);
16222 
16223   return offset;
16224 }
16225 
16226 
16227 static const ber_sequence_t gsm_map_lcs_LCS_ClientID_sequence[] = {
16228   { &hf_gsm_map_lcs_lcsClientType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientType },
16229   { &hf_gsm_map_lcs_lcsClientExternalID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID },
16230   { &hf_gsm_map_lcs_lcsClientDialedByMS, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
16231   { &hf_gsm_map_lcs_lcsClientInternalID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientInternalID },
16232   { &hf_gsm_map_lcs_lcsClientName, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientName },
16233   { &hf_gsm_map_lcs_lcsAPN  , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_APN },
16234   { &hf_gsm_map_lcs_lcsRequestorID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSRequestorID },
16235   { NULL, 0, 0, 0, NULL }
16236 };
16237 
16238 int
16239 dissect_gsm_map_lcs_LCS_ClientID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16240   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16241                                    gsm_map_lcs_LCS_ClientID_sequence, hf_index, ett_gsm_map_lcs_LCS_ClientID);
16242 
16243   return offset;
16244 }
16245 
16246 
16247 
16248 int
16249 dissect_gsm_map_lcs_LCS_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16250   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16251                                        NULL);
16252 
16253   return offset;
16254 }
16255 
16256 
16257 
16258 static int
16259 dissect_gsm_map_lcs_Horizontal_Accuracy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16260   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16261                                        NULL);
16262 
16263   return offset;
16264 }
16265 
16266 
16267 
16268 static int
16269 dissect_gsm_map_lcs_Vertical_Accuracy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16270   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16271                                        NULL);
16272 
16273   return offset;
16274 }
16275 
16276 
16277 static const value_string gsm_map_lcs_ResponseTimeCategory_vals[] = {
16278   {   0, "lowdelay" },
16279   {   1, "delaytolerant" },
16280   { 0, NULL }
16281 };
16282 
16283 
16284 static int
16285 dissect_gsm_map_lcs_ResponseTimeCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16286   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16287                                   NULL);
16288 
16289   return offset;
16290 }
16291 
16292 
16293 static const ber_sequence_t gsm_map_lcs_ResponseTime_sequence[] = {
16294   { &hf_gsm_map_lcs_responseTimeCategory, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_ResponseTimeCategory },
16295   { NULL, 0, 0, 0, NULL }
16296 };
16297 
16298 static int
16299 dissect_gsm_map_lcs_ResponseTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16300   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16301                                    gsm_map_lcs_ResponseTime_sequence, hf_index, ett_gsm_map_lcs_ResponseTime);
16302 
16303   return offset;
16304 }
16305 
16306 
16307 static const ber_sequence_t gsm_map_lcs_LCS_QoS_sequence[] = {
16308   { &hf_gsm_map_lcs_horizontal_accuracy, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Horizontal_Accuracy },
16309   { &hf_gsm_map_lcs_verticalCoordinateRequest, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
16310   { &hf_gsm_map_lcs_vertical_accuracy, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Vertical_Accuracy },
16311   { &hf_gsm_map_lcs_responseTime, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ResponseTime },
16312   { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
16313   { &hf_gsm_map_lcs_velocityRequest, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
16314   { NULL, 0, 0, 0, NULL }
16315 };
16316 
16317 int
16318 dissect_gsm_map_lcs_LCS_QoS(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16319   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16320                                    gsm_map_lcs_LCS_QoS_sequence, hf_index, ett_gsm_map_lcs_LCS_QoS);
16321 
16322   return offset;
16323 }
16324 
16325 
16326 static int * const gsm_map_lcs_SupportedGADShapes_bits[] = {
16327   &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPoint,
16328   &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle,
16329   &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse,
16330   &hf_gsm_map_lcs_SupportedGADShapes_polygon,
16331   &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitude,
16332   &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid,
16333   &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidArc,
16334   NULL
16335 };
16336 
16337 int
16338 dissect_gsm_map_lcs_SupportedGADShapes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16339   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
16340                                     gsm_map_lcs_SupportedGADShapes_bits, 7, hf_index, ett_gsm_map_lcs_SupportedGADShapes,
16341                                     NULL);
16342 
16343   return offset;
16344 }
16345 
16346 
16347 
16348 int
16349 dissect_gsm_map_lcs_LCS_ReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16350   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16351                                        NULL);
16352 
16353   return offset;
16354 }
16355 
16356 
16357 
16358 static int
16359 dissect_gsm_map_lcs_LCSCodewordString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16360   offset = dissect_gsm_map_ss_USSD_String(implicit_tag, tvb, offset, actx, tree, hf_index);
16361 
16362   return offset;
16363 }
16364 
16365 
16366 static const ber_sequence_t gsm_map_lcs_LCSCodeword_sequence[] = {
16367   { &hf_gsm_map_lcs_dataCodingScheme, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_DataCodingScheme },
16368   { &hf_gsm_map_lcs_lcsCodewordString, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSCodewordString },
16369   { NULL, 0, 0, 0, NULL }
16370 };
16371 
16372 int
16373 dissect_gsm_map_lcs_LCSCodeword(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16374   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16375                                    gsm_map_lcs_LCSCodeword_sequence, hf_index, ett_gsm_map_lcs_LCSCodeword);
16376 
16377   return offset;
16378 }
16379 
16380 
16381 static const value_string gsm_map_lcs_PrivacyCheckRelatedAction_vals[] = {
16382   {   0, "allowedWithoutNotification" },
16383   {   1, "allowedWithNotification" },
16384   {   2, "allowedIfNoResponse" },
16385   {   3, "restrictedIfNoResponse" },
16386   {   4, "notAllowed" },
16387   { 0, NULL }
16388 };
16389 
16390 
16391 static int
16392 dissect_gsm_map_lcs_PrivacyCheckRelatedAction(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16393   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16394                                   NULL);
16395 
16396   return offset;
16397 }
16398 
16399 
16400 static const ber_sequence_t gsm_map_lcs_LCS_PrivacyCheck_sequence[] = {
16401   { &hf_gsm_map_lcs_callSessionUnrelated, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PrivacyCheckRelatedAction },
16402   { &hf_gsm_map_lcs_callSessionRelated, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PrivacyCheckRelatedAction },
16403   { NULL, 0, 0, 0, NULL }
16404 };
16405 
16406 static int
16407 dissect_gsm_map_lcs_LCS_PrivacyCheck(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16408   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16409                                    gsm_map_lcs_LCS_PrivacyCheck_sequence, hf_index, ett_gsm_map_lcs_LCS_PrivacyCheck);
16410 
16411   return offset;
16412 }
16413 
16414 
16415 static const value_string gsm_map_lcs_AreaType_vals[] = {
16416   {   0, "countryCode" },
16417   {   1, "plmnId" },
16418   {   2, "locationAreaId" },
16419   {   3, "routingAreaId" },
16420   {   4, "cellGlobalId" },
16421   {   5, "utranCellId" },
16422   { 0, NULL }
16423 };
16424 
16425 
16426 static int
16427 dissect_gsm_map_lcs_AreaType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16428   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16429                                   NULL);
16430 
16431   return offset;
16432 }
16433 
16434 
16435 
16436 static int
16437 dissect_gsm_map_lcs_AreaIdentification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16438   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16439                                        NULL);
16440 
16441   return offset;
16442 }
16443 
16444 
16445 static const ber_sequence_t gsm_map_lcs_Area_sequence[] = {
16446   { &hf_gsm_map_lcs_areaType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaType },
16447   { &hf_gsm_map_lcs_areaIdentification, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaIdentification },
16448   { NULL, 0, 0, 0, NULL }
16449 };
16450 
16451 static int
16452 dissect_gsm_map_lcs_Area(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16453   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16454                                    gsm_map_lcs_Area_sequence, hf_index, ett_gsm_map_lcs_Area);
16455 
16456   return offset;
16457 }
16458 
16459 
16460 static const ber_sequence_t gsm_map_lcs_AreaList_sequence_of[1] = {
16461   { &hf_gsm_map_lcs_AreaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_Area },
16462 };
16463 
16464 static int
16465 dissect_gsm_map_lcs_AreaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16466   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
16467                                       gsm_map_lcs_AreaList_sequence_of, hf_index, ett_gsm_map_lcs_AreaList);
16468 
16469   return offset;
16470 }
16471 
16472 
16473 static const ber_sequence_t gsm_map_lcs_AreaDefinition_sequence[] = {
16474   { &hf_gsm_map_lcs_areaList, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaList },
16475   { NULL, 0, 0, 0, NULL }
16476 };
16477 
16478 static int
16479 dissect_gsm_map_lcs_AreaDefinition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16480   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16481                                    gsm_map_lcs_AreaDefinition_sequence, hf_index, ett_gsm_map_lcs_AreaDefinition);
16482 
16483   return offset;
16484 }
16485 
16486 
16487 static const value_string gsm_map_lcs_OccurrenceInfo_vals[] = {
16488   {   0, "oneTimeEvent" },
16489   {   1, "multipleTimeEvent" },
16490   { 0, NULL }
16491 };
16492 
16493 
16494 static int
16495 dissect_gsm_map_lcs_OccurrenceInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16496   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16497                                   NULL);
16498 
16499   return offset;
16500 }
16501 
16502 
16503 
16504 static int
16505 dissect_gsm_map_lcs_IntervalTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16506   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16507                                                 NULL);
16508 
16509   return offset;
16510 }
16511 
16512 
16513 static const ber_sequence_t gsm_map_lcs_AreaEventInfo_sequence[] = {
16514   { &hf_gsm_map_lcs_areaDefinition, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaDefinition },
16515   { &hf_gsm_map_lcs_occurrenceInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_OccurrenceInfo },
16516   { &hf_gsm_map_lcs_intervalTime, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_IntervalTime },
16517   { NULL, 0, 0, 0, NULL }
16518 };
16519 
16520 int
16521 dissect_gsm_map_lcs_AreaEventInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16522   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16523                                    gsm_map_lcs_AreaEventInfo_sequence, hf_index, ett_gsm_map_lcs_AreaEventInfo);
16524 
16525   return offset;
16526 }
16527 
16528 
16529 
16530 static int
16531 dissect_gsm_map_lcs_ReportingAmount(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16532   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16533                                                 NULL);
16534 
16535   return offset;
16536 }
16537 
16538 
16539 
16540 static int
16541 dissect_gsm_map_lcs_ReportingInterval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16542   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16543                                                 NULL);
16544 
16545   return offset;
16546 }
16547 
16548 
16549 static const ber_sequence_t gsm_map_lcs_PeriodicLDRInfo_sequence[] = {
16550   { &hf_gsm_map_lcs_reportingAmount, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_ReportingAmount },
16551   { &hf_gsm_map_lcs_reportingInterval, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_ReportingInterval },
16552   { NULL, 0, 0, 0, NULL }
16553 };
16554 
16555 static int
16556 dissect_gsm_map_lcs_PeriodicLDRInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16557   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16558                                    gsm_map_lcs_PeriodicLDRInfo_sequence, hf_index, ett_gsm_map_lcs_PeriodicLDRInfo);
16559 
16560   return offset;
16561 }
16562 
16563 
16564 static const value_string gsm_map_lcs_RAN_Technology_vals[] = {
16565   {   0, "gsm" },
16566   {   1, "umts" },
16567   { 0, NULL }
16568 };
16569 
16570 
16571 static int
16572 dissect_gsm_map_lcs_RAN_Technology(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16573   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16574                                   NULL);
16575 
16576   return offset;
16577 }
16578 
16579 
16580 static const ber_sequence_t gsm_map_lcs_ReportingPLMN_sequence[] = {
16581   { &hf_gsm_map_lcs_plmn_Id , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_PLMN_Id },
16582   { &hf_gsm_map_lcs_ran_Technology, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_RAN_Technology },
16583   { &hf_gsm_map_lcs_ran_PeriodicLocationSupport, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
16584   { NULL, 0, 0, 0, NULL }
16585 };
16586 
16587 static int
16588 dissect_gsm_map_lcs_ReportingPLMN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16589   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16590                                    gsm_map_lcs_ReportingPLMN_sequence, hf_index, ett_gsm_map_lcs_ReportingPLMN);
16591 
16592   return offset;
16593 }
16594 
16595 
16596 static const ber_sequence_t gsm_map_lcs_PLMNList_sequence_of[1] = {
16597   { &hf_gsm_map_lcs_PLMNList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_ReportingPLMN },
16598 };
16599 
16600 static int
16601 dissect_gsm_map_lcs_PLMNList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16602   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
16603                                       gsm_map_lcs_PLMNList_sequence_of, hf_index, ett_gsm_map_lcs_PLMNList);
16604 
16605   return offset;
16606 }
16607 
16608 
16609 static const ber_sequence_t gsm_map_lcs_ReportingPLMNList_sequence[] = {
16610   { &hf_gsm_map_lcs_plmn_ListPrioritized, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
16611   { &hf_gsm_map_lcs_plmn_List, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PLMNList },
16612   { NULL, 0, 0, 0, NULL }
16613 };
16614 
16615 static int
16616 dissect_gsm_map_lcs_ReportingPLMNList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16617   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16618                                    gsm_map_lcs_ReportingPLMNList_sequence, hf_index, ett_gsm_map_lcs_ReportingPLMNList);
16619 
16620   return offset;
16621 }
16622 
16623 
16624 static const ber_sequence_t gsm_map_lcs_ProvideSubscriberLocation_Arg_sequence[] = {
16625   { &hf_gsm_map_lcs_locationType, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_LocationType },
16626   { &hf_gsm_map_lcs_mlc_Number, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
16627   { &hf_gsm_map_lcs_lcs_ClientID, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ClientID },
16628   { &hf_gsm_map_lcs_privacyOverride, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
16629   { &hf_gsm_map_lcs_imsi    , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
16630   { &hf_gsm_map_lcs_msisdn  , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
16631   { &hf_gsm_map_lcs_lmsi    , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LMSI },
16632   { &hf_gsm_map_lcs_imei    , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
16633   { &hf_gsm_map_lcs_lcs_Priority, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_Priority },
16634   { &hf_gsm_map_lcs_lcs_QoS , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_QoS },
16635   { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
16636   { &hf_gsm_map_lcs_supportedGADShapes, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SupportedGADShapes },
16637   { &hf_gsm_map_lcs_lcs_ReferenceNumber, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
16638   { &hf_gsm_map_lcs_lcsServiceTypeID, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSServiceTypeID },
16639   { &hf_gsm_map_lcs_lcsCodeword, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSCodeword },
16640   { &hf_gsm_map_lcs_lcs_PrivacyCheck, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_PrivacyCheck },
16641   { &hf_gsm_map_lcs_areaEventInfo, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaEventInfo },
16642   { &hf_gsm_map_lcs_h_gmlc_Address, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
16643   { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
16644   { &hf_gsm_map_lcs_periodicLDRInfo, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PeriodicLDRInfo },
16645   { &hf_gsm_map_lcs_reportingPLMNList, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ReportingPLMNList },
16646   { NULL, 0, 0, 0, NULL }
16647 };
16648 
16649 static int
16650 dissect_gsm_map_lcs_ProvideSubscriberLocation_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16651   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16652                                    gsm_map_lcs_ProvideSubscriberLocation_Arg_sequence, hf_index, ett_gsm_map_lcs_ProvideSubscriberLocation_Arg);
16653 
16654   return offset;
16655 }
16656 
16657 
16658 
16659 int
16660 dissect_gsm_map_lcs_Ext_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16661 #line 1062 "./asn1/gsm_map/gsm_map.cnf"
16662     tvbuff_t	*parameter_tvb;
16663 	proto_tree	*subtree;
16664 
16665   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16666                                        &parameter_tvb);
16667 
16668 
16669 	if (!parameter_tvb)
16670                 return offset;
16671 
16672     subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_GeographicalInformation);
16673 	dissect_geographical_description(parameter_tvb, actx->pinfo, subtree);
16674 
16675 
16676 
16677 
16678   return offset;
16679 }
16680 
16681 
16682 
16683 int
16684 dissect_gsm_map_lcs_Add_GeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16685   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16686                                        NULL);
16687 
16688   return offset;
16689 }
16690 
16691 
16692 
16693 static int
16694 dissect_gsm_map_lcs_PositioningDataInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16695   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16696                                        NULL);
16697 
16698   return offset;
16699 }
16700 
16701 
16702 
16703 static int
16704 dissect_gsm_map_lcs_UtranPositioningDataInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16705   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16706                                        NULL);
16707 
16708   return offset;
16709 }
16710 
16711 
16712 static const value_string gsm_map_lcs_AccuracyFulfilmentIndicator_vals[] = {
16713   {   0, "requestedAccuracyFulfilled" },
16714   {   1, "requestedAccuracyNotFulfilled" },
16715   { 0, NULL }
16716 };
16717 
16718 
16719 static int
16720 dissect_gsm_map_lcs_AccuracyFulfilmentIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16721   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16722                                   NULL);
16723 
16724   return offset;
16725 }
16726 
16727 
16728 
16729 int
16730 dissect_gsm_map_lcs_VelocityEstimate(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16731   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16732                                        NULL);
16733 
16734   return offset;
16735 }
16736 
16737 
16738 
16739 static int
16740 dissect_gsm_map_lcs_GeranGANSSpositioningData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16741   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16742                                        NULL);
16743 
16744   return offset;
16745 }
16746 
16747 
16748 
16749 static int
16750 dissect_gsm_map_lcs_UtranGANSSpositioningData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16751   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16752                                        NULL);
16753 
16754   return offset;
16755 }
16756 
16757 
16758 static const value_string gsm_map_lcs_ServingNodeAddress_vals[] = {
16759   {   0, "msc-Number" },
16760   {   1, "sgsn-Number" },
16761   {   2, "mme-Number" },
16762   { 0, NULL }
16763 };
16764 
16765 static const ber_choice_t gsm_map_lcs_ServingNodeAddress_choice[] = {
16766   {   0, &hf_gsm_map_lcs_msc_Number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
16767   {   1, &hf_gsm_map_lcs_sgsn_Number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
16768   {   2, &hf_gsm_map_lcs_mme_Number, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_DiameterIdentity },
16769   { 0, NULL, 0, 0, 0, NULL }
16770 };
16771 
16772 static int
16773 dissect_gsm_map_lcs_ServingNodeAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16774   offset = dissect_ber_choice(actx, tree, tvb, offset,
16775                                  gsm_map_lcs_ServingNodeAddress_choice, hf_index, ett_gsm_map_lcs_ServingNodeAddress,
16776                                  NULL);
16777 
16778   return offset;
16779 }
16780 
16781 
16782 
16783 static int
16784 dissect_gsm_map_lcs_UtranAdditionalPositioningData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16785   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16786                                        NULL);
16787 
16788   return offset;
16789 }
16790 
16791 
16792 
16793 static int
16794 dissect_gsm_map_lcs_UtranBaroPressureMeas(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16795   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16796                                                 NULL);
16797 
16798   return offset;
16799 }
16800 
16801 
16802 
16803 static int
16804 dissect_gsm_map_lcs_UtranCivicAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16805   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16806                                        NULL);
16807 
16808   return offset;
16809 }
16810 
16811 
16812 static const ber_sequence_t gsm_map_lcs_ProvideSubscriberLocation_Res_sequence[] = {
16813   { &hf_gsm_map_lcs_locationEstimate, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
16814   { &hf_gsm_map_lcs_ageOfLocationEstimate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation },
16815   { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
16816   { &hf_gsm_map_lcs_add_LocationEstimate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Add_GeographicalInformation },
16817   { &hf_gsm_map_lcs_deferredmt_lrResponseIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
16818   { &hf_gsm_map_lcs_geranPositioningData, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PositioningDataInformation },
16819   { &hf_gsm_map_lcs_utranPositioningData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranPositioningDataInfo },
16820   { &hf_gsm_map_lcs_cellIdOrSai, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI },
16821   { &hf_gsm_map_lcs_sai_Present, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
16822   { &hf_gsm_map_lcs_accuracyFulfilmentIndicator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AccuracyFulfilmentIndicator },
16823   { &hf_gsm_map_lcs_velocityEstimate, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate },
16824   { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
16825   { &hf_gsm_map_lcs_geranGANSSpositioningData, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_GeranGANSSpositioningData },
16826   { &hf_gsm_map_lcs_utranGANSSpositioningData, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranGANSSpositioningData },
16827   { &hf_gsm_map_lcs_targetServingNodeForHandover, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_lcs_ServingNodeAddress },
16828   { &hf_gsm_map_lcs_utranAdditionalPositioningData, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranAdditionalPositioningData },
16829   { &hf_gsm_map_lcs_utranBaroPressureMeas, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranBaroPressureMeas },
16830   { &hf_gsm_map_lcs_utranCivicAddress, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranCivicAddress },
16831   { NULL, 0, 0, 0, NULL }
16832 };
16833 
16834 static int
16835 dissect_gsm_map_lcs_ProvideSubscriberLocation_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16836   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16837                                    gsm_map_lcs_ProvideSubscriberLocation_Res_sequence, hf_index, ett_gsm_map_lcs_ProvideSubscriberLocation_Res);
16838 
16839   return offset;
16840 }
16841 
16842 
16843 static const value_string gsm_map_lcs_LCS_Event_vals[] = {
16844   {   0, "emergencyCallOrigination" },
16845   {   1, "emergencyCallRelease" },
16846   {   2, "mo-lr" },
16847   {   3, "deferredmt-lrResponse" },
16848   {   4, "deferredmo-lrTTTPInitiation" },
16849   {   5, "emergencyCallHandover" },
16850   { 0, NULL }
16851 };
16852 
16853 
16854 static int
16855 dissect_gsm_map_lcs_LCS_Event(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16856   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16857                                   NULL);
16858 
16859   return offset;
16860 }
16861 
16862 
16863 static const value_string gsm_map_lcs_TerminationCause_vals[] = {
16864   {   0, "normal" },
16865   {   1, "errorundefined" },
16866   {   2, "internalTimeout" },
16867   {   3, "congestion" },
16868   {   4, "mt-lrRestart" },
16869   {   5, "privacyViolation" },
16870   {   6, "shapeOfLocationEstimateNotSupported" },
16871   {   7, "subscriberTermination" },
16872   {   8, "uETermination" },
16873   {   9, "networkTermination" },
16874   { 0, NULL }
16875 };
16876 
16877 
16878 static int
16879 dissect_gsm_map_lcs_TerminationCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16880   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16881                                   NULL);
16882 
16883   return offset;
16884 }
16885 
16886 
16887 static const ber_sequence_t gsm_map_lcs_Deferredmt_lrData_sequence[] = {
16888   { &hf_gsm_map_lcs_deferredLocationEventType, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_DeferredLocationEventType },
16889   { &hf_gsm_map_lcs_terminationCause, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_TerminationCause },
16890   { &hf_gsm_map_lcs_lcsLocationInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSLocationInfo },
16891   { NULL, 0, 0, 0, NULL }
16892 };
16893 
16894 static int
16895 dissect_gsm_map_lcs_Deferredmt_lrData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16896   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16897                                    gsm_map_lcs_Deferredmt_lrData_sequence, hf_index, ett_gsm_map_lcs_Deferredmt_lrData);
16898 
16899   return offset;
16900 }
16901 
16902 
16903 
16904 static int
16905 dissect_gsm_map_lcs_SequenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16906   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
16907                                                 NULL);
16908 
16909   return offset;
16910 }
16911 
16912 
16913 static const ber_sequence_t gsm_map_lcs_SubscriberLocationReport_Arg_sequence[] = {
16914   { &hf_gsm_map_lcs_lcs_Event, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_LCS_Event },
16915   { &hf_gsm_map_lcs_lcs_ClientID, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_LCS_ClientID },
16916   { &hf_gsm_map_lcs_lcsLocationInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_lcs_LCSLocationInfo },
16917   { &hf_gsm_map_lcs_msisdn  , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
16918   { &hf_gsm_map_lcs_imsi    , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
16919   { &hf_gsm_map_lcs_imei    , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
16920   { &hf_gsm_map_lcs_na_ESRD , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
16921   { &hf_gsm_map_lcs_na_ESRK , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
16922   { &hf_gsm_map_lcs_locationEstimate, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
16923   { &hf_gsm_map_lcs_ageOfLocationEstimate, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation },
16924   { &hf_gsm_map_lcs_slr_ArgExtensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SLR_ArgExtensionContainer },
16925   { &hf_gsm_map_lcs_add_LocationEstimate, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Add_GeographicalInformation },
16926   { &hf_gsm_map_lcs_deferredmt_lrData, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Deferredmt_lrData },
16927   { &hf_gsm_map_lcs_lcs_ReferenceNumber, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
16928   { &hf_gsm_map_lcs_geranPositioningData, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PositioningDataInformation },
16929   { &hf_gsm_map_lcs_utranPositioningData, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranPositioningDataInfo },
16930   { &hf_gsm_map_lcs_cellIdOrSai, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI },
16931   { &hf_gsm_map_lcs_h_gmlc_Address, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
16932   { &hf_gsm_map_lcs_lcsServiceTypeID, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSServiceTypeID },
16933   { &hf_gsm_map_lcs_sai_Present, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
16934   { &hf_gsm_map_lcs_pseudonymIndicator, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
16935   { &hf_gsm_map_lcs_accuracyFulfilmentIndicator, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AccuracyFulfilmentIndicator },
16936   { &hf_gsm_map_lcs_velocityEstimate, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate },
16937   { &hf_gsm_map_lcs_sequenceNumber, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SequenceNumber },
16938   { &hf_gsm_map_lcs_periodicLDRInfo, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PeriodicLDRInfo },
16939   { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
16940   { &hf_gsm_map_lcs_geranGANSSpositioningData, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_GeranGANSSpositioningData },
16941   { &hf_gsm_map_lcs_utranGANSSpositioningData, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranGANSSpositioningData },
16942   { &hf_gsm_map_lcs_targetServingNodeForHandover, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_lcs_ServingNodeAddress },
16943   { &hf_gsm_map_lcs_utranAdditionalPositioningData, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranAdditionalPositioningData },
16944   { &hf_gsm_map_lcs_utranBaroPressureMeas, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranBaroPressureMeas },
16945   { &hf_gsm_map_lcs_utranCivicAddress, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_UtranCivicAddress },
16946   { NULL, 0, 0, 0, NULL }
16947 };
16948 
16949 static int
16950 dissect_gsm_map_lcs_SubscriberLocationReport_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16951   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16952                                    gsm_map_lcs_SubscriberLocationReport_Arg_sequence, hf_index, ett_gsm_map_lcs_SubscriberLocationReport_Arg);
16953 
16954   return offset;
16955 }
16956 
16957 
16958 static const ber_sequence_t gsm_map_lcs_SubscriberLocationReport_Res_sequence[] = {
16959   { &hf_gsm_map_lcs_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
16960   { &hf_gsm_map_lcs_na_ESRK , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
16961   { &hf_gsm_map_lcs_na_ESRD , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
16962   { &hf_gsm_map_lcs_h_gmlc_Address, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
16963   { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_NULL },
16964   { &hf_gsm_map_lcs_reportingPLMNList, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ReportingPLMNList },
16965   { &hf_gsm_map_lcs_lcs_ReferenceNumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
16966   { NULL, 0, 0, 0, NULL }
16967 };
16968 
16969 static int
16970 dissect_gsm_map_lcs_SubscriberLocationReport_Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16971   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
16972                                    gsm_map_lcs_SubscriberLocationReport_Res_sequence, hf_index, ett_gsm_map_lcs_SubscriberLocationReport_Res);
16973 
16974   return offset;
16975 }
16976 
16977 /*--- PDUs ---*/
16978 
16979 int dissect_gsm_map_lcs_LCS_ClientID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
16980   int offset = 0;
16981   asn1_ctx_t asn1_ctx;
16982   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
16983   offset = dissect_gsm_map_lcs_LCS_ClientID(FALSE, tvb, offset, &asn1_ctx, tree, hf_gsm_map_lcs_gsm_map_lcs_LCS_ClientID_PDU);
16984   return offset;
16985 }
16986 
16987 
16988 /* --- Module MAP-GR-DataTypes --- --- ---                                    */
16989 
16990 
16991 
16992 static int
16993 dissect_gsm_map_gr_CODEC_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
16994   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
16995                                        NULL);
16996 
16997   return offset;
16998 }
16999 
17000 
17001 
17002 static int
17003 dissect_gsm_map_gr_CipheringAlgorithm(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17004   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
17005                                        NULL);
17006 
17007   return offset;
17008 }
17009 
17010 
17011 
17012 static int
17013 dissect_gsm_map_gr_GroupKeyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17014   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17015                                                 NULL);
17016 
17017   return offset;
17018 }
17019 
17020 
17021 
17022 static int
17023 dissect_gsm_map_gr_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17024   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
17025 
17026   return offset;
17027 }
17028 
17029 
17030 
17031 static int
17032 dissect_gsm_map_gr_VSTK(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17033   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
17034                                        NULL);
17035 
17036   return offset;
17037 }
17038 
17039 
17040 
17041 static int
17042 dissect_gsm_map_gr_VSTK_RAND(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17043   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
17044                                        NULL);
17045 
17046   return offset;
17047 }
17048 
17049 
17050 static const ber_sequence_t gsm_map_gr_PrepareGroupCallArg_sequence[] = {
17051   { &hf_gsm_map_gr_teleservice, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_TeleserviceCode },
17052   { &hf_gsm_map_gr_asciCallReference, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ASCI_CallReference },
17053   { &hf_gsm_map_gr_codec_Info, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_gr_CODEC_Info },
17054   { &hf_gsm_map_gr_cipheringAlgorithm, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_gr_CipheringAlgorithm },
17055   { &hf_gsm_map_gr_groupKeyNumber_Vk_Id, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_GroupKeyNumber },
17056   { &hf_gsm_map_gr_groupKey , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Kc },
17057   { &hf_gsm_map_gr_priority , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_EMLPP_Priority },
17058   { &hf_gsm_map_gr_uplinkFree, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17059   { &hf_gsm_map_gr_extensionContainer, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
17060   { &hf_gsm_map_gr_vstk     , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_VSTK },
17061   { &hf_gsm_map_gr_vstk_rand, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_VSTK_RAND },
17062   { &hf_gsm_map_gr_talkerChannelParameter, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17063   { &hf_gsm_map_gr_uplinkReplyIndicator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17064   { NULL, 0, 0, 0, NULL }
17065 };
17066 
17067 static int
17068 dissect_gsm_map_gr_PrepareGroupCallArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17069   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17070                                    gsm_map_gr_PrepareGroupCallArg_sequence, hf_index, ett_gsm_map_gr_PrepareGroupCallArg);
17071 
17072   return offset;
17073 }
17074 
17075 
17076 static const ber_sequence_t gsm_map_gr_PrepareGroupCallRes_sequence[] = {
17077   { &hf_gsm_map_gr_groupCallNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
17078   { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
17079   { NULL, 0, 0, 0, NULL }
17080 };
17081 
17082 static int
17083 dissect_gsm_map_gr_PrepareGroupCallRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17084   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17085                                    gsm_map_gr_PrepareGroupCallRes_sequence, hf_index, ett_gsm_map_gr_PrepareGroupCallRes);
17086 
17087   return offset;
17088 }
17089 
17090 
17091 static const value_string gsm_map_gr_TalkerPriority_vals[] = {
17092   {   0, "normal" },
17093   {   1, "privileged" },
17094   {   2, "emergency" },
17095   { 0, NULL }
17096 };
17097 
17098 
17099 static int
17100 dissect_gsm_map_gr_TalkerPriority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17101   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17102                                   NULL);
17103 
17104   return offset;
17105 }
17106 
17107 
17108 static const ber_sequence_t gsm_map_gr_SendGroupCallEndSignalArg_sequence[] = {
17109   { &hf_gsm_map_gr_imsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
17110   { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
17111   { &hf_gsm_map_gr_talkerPriority, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_TalkerPriority },
17112   { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo },
17113   { NULL, 0, 0, 0, NULL }
17114 };
17115 
17116 static int
17117 dissect_gsm_map_gr_SendGroupCallEndSignalArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17118   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17119                                    gsm_map_gr_SendGroupCallEndSignalArg_sequence, hf_index, ett_gsm_map_gr_SendGroupCallEndSignalArg);
17120 
17121   return offset;
17122 }
17123 
17124 
17125 static const ber_sequence_t gsm_map_gr_SendGroupCallEndSignalRes_sequence[] = {
17126   { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
17127   { NULL, 0, 0, 0, NULL }
17128 };
17129 
17130 static int
17131 dissect_gsm_map_gr_SendGroupCallEndSignalRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17132   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17133                                    gsm_map_gr_SendGroupCallEndSignalRes_sequence, hf_index, ett_gsm_map_gr_SendGroupCallEndSignalRes);
17134 
17135   return offset;
17136 }
17137 
17138 
17139 static const ber_sequence_t gsm_map_gr_StateAttributes_sequence[] = {
17140   { &hf_gsm_map_gr_downlinkAttached, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17141   { &hf_gsm_map_gr_uplinkAttached, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17142   { &hf_gsm_map_gr_dualCommunication, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17143   { &hf_gsm_map_gr_callOriginator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17144   { NULL, 0, 0, 0, NULL }
17145 };
17146 
17147 static int
17148 dissect_gsm_map_gr_StateAttributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17149   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17150                                    gsm_map_gr_StateAttributes_sequence, hf_index, ett_gsm_map_gr_StateAttributes);
17151 
17152   return offset;
17153 }
17154 
17155 
17156 static const ber_sequence_t gsm_map_gr_ForwardGroupCallSignallingArg_sequence[] = {
17157   { &hf_gsm_map_gr_imsi     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
17158   { &hf_gsm_map_gr_uplinkRequestAck, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17159   { &hf_gsm_map_gr_uplinkReleaseIndication, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17160   { &hf_gsm_map_gr_uplinkRejectCommand, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17161   { &hf_gsm_map_gr_uplinkSeizedCommand, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17162   { &hf_gsm_map_gr_uplinkReleaseCommand, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17163   { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
17164   { &hf_gsm_map_gr_stateAttributes, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_StateAttributes },
17165   { &hf_gsm_map_gr_talkerPriority, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_TalkerPriority },
17166   { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo },
17167   { &hf_gsm_map_gr_emergencyModeResetCommandFlag, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17168   { &hf_gsm_map_gr_sm_RP_UI , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SignalInfo },
17169   { &hf_gsm_map_gr_an_APDU  , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo },
17170   { NULL, 0, 0, 0, NULL }
17171 };
17172 
17173 static int
17174 dissect_gsm_map_gr_ForwardGroupCallSignallingArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17175   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17176                                    gsm_map_gr_ForwardGroupCallSignallingArg_sequence, hf_index, ett_gsm_map_gr_ForwardGroupCallSignallingArg);
17177 
17178   return offset;
17179 }
17180 
17181 
17182 static const ber_sequence_t gsm_map_gr_ProcessGroupCallSignallingArg_sequence[] = {
17183   { &hf_gsm_map_gr_uplinkRequest, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17184   { &hf_gsm_map_gr_uplinkReleaseIndication, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17185   { &hf_gsm_map_gr_releaseGroupCall, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17186   { &hf_gsm_map_gr_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
17187   { &hf_gsm_map_gr_talkerPriority, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_TalkerPriority },
17188   { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo },
17189   { &hf_gsm_map_gr_emergencyModeResetCommandFlag, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_NULL },
17190   { &hf_gsm_map_gr_an_APDU  , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AccessNetworkSignalInfo },
17191   { NULL, 0, 0, 0, NULL }
17192 };
17193 
17194 static int
17195 dissect_gsm_map_gr_ProcessGroupCallSignallingArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17196   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17197                                    gsm_map_gr_ProcessGroupCallSignallingArg_sequence, hf_index, ett_gsm_map_gr_ProcessGroupCallSignallingArg);
17198 
17199   return offset;
17200 }
17201 
17202 
17203 static const value_string gsm_map_gr_RequestedInfo_vals[] = {
17204   {   0, "anchorMSC-AddressAndASCI-CallReference" },
17205   {   1, "imsiAndAdditionalInfoAndAdditionalSubscription" },
17206   { 0, NULL }
17207 };
17208 
17209 
17210 static int
17211 dissect_gsm_map_gr_RequestedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17212   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17213                                   NULL);
17214 
17215   return offset;
17216 }
17217 
17218 
17219 static const ber_sequence_t gsm_map_gr_SendGroupCallInfoArg_sequence[] = {
17220   { &hf_gsm_map_gr_requestedInfo, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_gr_RequestedInfo },
17221   { &hf_gsm_map_gr_groupId  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_Long_GroupId },
17222   { &hf_gsm_map_gr_teleservice, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_TeleserviceCode },
17223   { &hf_gsm_map_gr_cellId   , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GlobalCellId },
17224   { &hf_gsm_map_gr_imsi     , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
17225   { &hf_gsm_map_gr_tmsi     , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_TMSI },
17226   { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo },
17227   { &hf_gsm_map_gr_talkerPriority, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_gr_TalkerPriority },
17228   { &hf_gsm_map_gr_cksn     , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Cksn },
17229   { &hf_gsm_map_gr_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
17230   { NULL, 0, 0, 0, NULL }
17231 };
17232 
17233 static int
17234 dissect_gsm_map_gr_SendGroupCallInfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17235   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17236                                    gsm_map_gr_SendGroupCallInfoArg_sequence, hf_index, ett_gsm_map_gr_SendGroupCallInfoArg);
17237 
17238   return offset;
17239 }
17240 
17241 
17242 static const ber_sequence_t gsm_map_gr_SendGroupCallInfoRes_sequence[] = {
17243   { &hf_gsm_map_gr_anchorMSC_Address, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
17244   { &hf_gsm_map_gr_asciCallReference, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ASCI_CallReference },
17245   { &hf_gsm_map_gr_imsi     , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
17246   { &hf_gsm_map_gr_additionalInfo, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalInfo },
17247   { &hf_gsm_map_gr_additionalSubscriptions, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_AdditionalSubscriptions },
17248   { &hf_gsm_map_gr_kc       , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Kc },
17249   { &hf_gsm_map_gr_extensionContainer, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
17250   { NULL, 0, 0, 0, NULL }
17251 };
17252 
17253 static int
17254 dissect_gsm_map_gr_SendGroupCallInfoRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17255   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17256                                    gsm_map_gr_SendGroupCallInfoRes_sequence, hf_index, ett_gsm_map_gr_SendGroupCallInfoRes);
17257 
17258   return offset;
17259 }
17260 
17261 
17262 /* --- Module MAP-DialogueInformation --- --- ---                             */
17263 
17264 
17265 static const ber_sequence_t gsm_map_dialogue_MAP_OpenInfo_sequence[] = {
17266   { &hf_gsm_map_dialogue_destinationReference, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
17267   { &hf_gsm_map_dialogue_originationReference, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
17268   { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
17269   { NULL, 0, 0, 0, NULL }
17270 };
17271 
17272 static int
17273 dissect_gsm_map_dialogue_MAP_OpenInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17274   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17275                                    gsm_map_dialogue_MAP_OpenInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_OpenInfo);
17276 
17277   return offset;
17278 }
17279 
17280 
17281 static const ber_sequence_t gsm_map_dialogue_MAP_AcceptInfo_sequence[] = {
17282   { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
17283   { NULL, 0, 0, 0, NULL }
17284 };
17285 
17286 static int
17287 dissect_gsm_map_dialogue_MAP_AcceptInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17288   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17289                                    gsm_map_dialogue_MAP_AcceptInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_AcceptInfo);
17290 
17291   return offset;
17292 }
17293 
17294 
17295 static const ber_sequence_t gsm_map_dialogue_MAP_CloseInfo_sequence[] = {
17296   { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
17297   { NULL, 0, 0, 0, NULL }
17298 };
17299 
17300 static int
17301 dissect_gsm_map_dialogue_MAP_CloseInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17302   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17303                                    gsm_map_dialogue_MAP_CloseInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_CloseInfo);
17304 
17305   return offset;
17306 }
17307 
17308 
17309 static const value_string gsm_map_dialogue_Reason_vals[] = {
17310   {   0, "noReasonGiven" },
17311   {   1, "invalidDestinationReference" },
17312   {   2, "invalidOriginatingReference" },
17313   { 0, NULL }
17314 };
17315 
17316 
17317 static int
17318 dissect_gsm_map_dialogue_Reason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17319   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17320                                   NULL);
17321 
17322   return offset;
17323 }
17324 
17325 
17326 
17327 static int
17328 dissect_gsm_map_dialogue_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17329   offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
17330 
17331   return offset;
17332 }
17333 
17334 
17335 static const ber_sequence_t gsm_map_dialogue_MAP_RefuseInfo_sequence[] = {
17336   { &hf_gsm_map_dialogue_reason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_dialogue_Reason },
17337   { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
17338   { &hf_gsm_map_dialogue_alternativeApplicationContext, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_dialogue_OBJECT_IDENTIFIER },
17339   { NULL, 0, 0, 0, NULL }
17340 };
17341 
17342 static int
17343 dissect_gsm_map_dialogue_MAP_RefuseInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17344   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17345                                    gsm_map_dialogue_MAP_RefuseInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_RefuseInfo);
17346 
17347   return offset;
17348 }
17349 
17350 
17351 
17352 static int
17353 dissect_gsm_map_dialogue_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17354   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
17355 
17356   return offset;
17357 }
17358 
17359 
17360 static const value_string gsm_map_dialogue_ResourceUnavailableReason_vals[] = {
17361   {   0, "shortTermResourceLimitation" },
17362   {   1, "longTermResourceLimitation" },
17363   { 0, NULL }
17364 };
17365 
17366 
17367 static int
17368 dissect_gsm_map_dialogue_ResourceUnavailableReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17369   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17370                                   NULL);
17371 
17372   return offset;
17373 }
17374 
17375 
17376 static const value_string gsm_map_dialogue_ProcedureCancellationReason_vals[] = {
17377   {   0, "handoverCancellation" },
17378   {   1, "radioChannelRelease" },
17379   {   2, "networkPathRelease" },
17380   {   3, "callRelease" },
17381   {   4, "associatedProcedureFailure" },
17382   {   5, "tandemDialogueRelease" },
17383   {   6, "remoteOperationsFailure" },
17384   { 0, NULL }
17385 };
17386 
17387 
17388 static int
17389 dissect_gsm_map_dialogue_ProcedureCancellationReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17390   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17391                                   NULL);
17392 
17393   return offset;
17394 }
17395 
17396 
17397 static const value_string gsm_map_dialogue_MAP_UserAbortChoice_vals[] = {
17398   {   0, "userSpecificReason" },
17399   {   1, "userResourceLimitation" },
17400   {   2, "resourceUnavailable" },
17401   {   3, "applicationProcedureCancellation" },
17402   { 0, NULL }
17403 };
17404 
17405 static const ber_choice_t gsm_map_dialogue_MAP_UserAbortChoice_choice[] = {
17406   {   0, &hf_gsm_map_dialogue_userSpecificReason, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_NULL },
17407   {   1, &hf_gsm_map_dialogue_userResourceLimitation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_NULL },
17408   {   2, &hf_gsm_map_dialogue_resourceUnavailable, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_ResourceUnavailableReason },
17409   {   3, &hf_gsm_map_dialogue_applicationProcedureCancellation, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_ProcedureCancellationReason },
17410   { 0, NULL, 0, 0, 0, NULL }
17411 };
17412 
17413 static int
17414 dissect_gsm_map_dialogue_MAP_UserAbortChoice(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17415   offset = dissect_ber_choice(actx, tree, tvb, offset,
17416                                  gsm_map_dialogue_MAP_UserAbortChoice_choice, hf_index, ett_gsm_map_dialogue_MAP_UserAbortChoice,
17417                                  NULL);
17418 
17419   return offset;
17420 }
17421 
17422 
17423 static const ber_sequence_t gsm_map_dialogue_MAP_UserAbortInfo_sequence[] = {
17424   { &hf_gsm_map_dialogue_map_UserAbortChoice, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_dialogue_MAP_UserAbortChoice },
17425   { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
17426   { NULL, 0, 0, 0, NULL }
17427 };
17428 
17429 static int
17430 dissect_gsm_map_dialogue_MAP_UserAbortInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17431   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17432                                    gsm_map_dialogue_MAP_UserAbortInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_UserAbortInfo);
17433 
17434   return offset;
17435 }
17436 
17437 
17438 static const value_string gsm_map_dialogue_MAP_ProviderAbortReason_vals[] = {
17439   {   0, "abnormalDialogue" },
17440   {   1, "invalidPDU" },
17441   { 0, NULL }
17442 };
17443 
17444 
17445 static int
17446 dissect_gsm_map_dialogue_MAP_ProviderAbortReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17447   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17448                                   NULL);
17449 
17450   return offset;
17451 }
17452 
17453 
17454 static const ber_sequence_t gsm_map_dialogue_MAP_ProviderAbortInfo_sequence[] = {
17455   { &hf_gsm_map_dialogue_map_ProviderAbortReason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_dialogue_MAP_ProviderAbortReason },
17456   { &hf_gsm_map_dialogue_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
17457   { NULL, 0, 0, 0, NULL }
17458 };
17459 
17460 static int
17461 dissect_gsm_map_dialogue_MAP_ProviderAbortInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17462   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17463                                    gsm_map_dialogue_MAP_ProviderAbortInfo_sequence, hf_index, ett_gsm_map_dialogue_MAP_ProviderAbortInfo);
17464 
17465   return offset;
17466 }
17467 
17468 
17469 static const value_string gsm_map_dialogue_MAP_DialoguePDU_vals[] = {
17470   {   0, "map-open" },
17471   {   1, "map-accept" },
17472   {   2, "map-close" },
17473   {   3, "map-refuse" },
17474   {   4, "map-userAbort" },
17475   {   5, "map-providerAbort" },
17476   { 0, NULL }
17477 };
17478 
17479 static const ber_choice_t gsm_map_dialogue_MAP_DialoguePDU_choice[] = {
17480   {   0, &hf_gsm_map_dialogue_map_open, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_OpenInfo },
17481   {   1, &hf_gsm_map_dialogue_map_accept, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_AcceptInfo },
17482   {   2, &hf_gsm_map_dialogue_map_close, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_CloseInfo },
17483   {   3, &hf_gsm_map_dialogue_map_refuse, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_RefuseInfo },
17484   {   4, &hf_gsm_map_dialogue_map_userAbort, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_UserAbortInfo },
17485   {   5, &hf_gsm_map_dialogue_map_providerAbort, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_map_dialogue_MAP_ProviderAbortInfo },
17486   { 0, NULL, 0, 0, 0, NULL }
17487 };
17488 
17489 static int
17490 dissect_gsm_map_dialogue_MAP_DialoguePDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17491   offset = dissect_ber_choice(actx, tree, tvb, offset,
17492                                  gsm_map_dialogue_MAP_DialoguePDU_choice, hf_index, ett_gsm_map_dialogue_MAP_DialoguePDU,
17493                                  NULL);
17494 
17495   return offset;
17496 }
17497 
17498 /*--- PDUs ---*/
17499 
17500 static int dissect_gsm_map_dialogue_MAP_DialoguePDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
17501   int offset = 0;
17502   asn1_ctx_t asn1_ctx;
17503   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
17504   offset = dissect_gsm_map_dialogue_MAP_DialoguePDU(FALSE, tvb, offset, &asn1_ctx, tree, hf_gsm_map_dialogue_gsm_map_dialogue_MAP_DialoguePDU_PDU);
17505   return offset;
17506 }
17507 
17508 
17509 /* --- Module MAP-LocationServiceOperations --- --- ---                       */
17510 
17511 
17512 /* --- Module MAP-Group-Call-Operations --- --- ---                           */
17513 
17514 
17515 /* --- Module MAP-ShortMessageServiceOperations --- --- ---                   */
17516 
17517 
17518 /* --- Module MAP-SupplementaryServiceOperations --- --- ---                  */
17519 
17520 
17521 /* --- Module MAP-CallHandlingOperations --- --- ---                          */
17522 
17523 
17524 /* --- Module MAP-OperationAndMaintenanceOperations --- --- ---               */
17525 
17526 
17527 /* --- Module MAP-MobileServiceOperations --- --- ---                         */
17528 
17529 
17530 /* --- Module MAP-Errors --- --- ---                                          */
17531 
17532 
17533 /* --- Module MAP-Protocol --- --- ---                                        */
17534 
17535 
17536 /* --- Module DummyMAP --- --- ---                                            */
17537 
17538 
17539 
17540 static int
17541 dissect_gsm_old_InvokeIdType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17542   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17543                                                 NULL);
17544 
17545   return offset;
17546 }
17547 
17548 
17549 static const value_string gsm_old_GSMMAPOperationLocalvalue_vals[] = {
17550   {   2, "updateLocation" },
17551   {   3, "cancelLocation" },
17552   {   4, "provideRoamingNumber" },
17553   {   5, "noteSubscriberDataModified" },
17554   {   6, "resumeCallHandling" },
17555   {   7, "insertSubscriberData" },
17556   {   8, "deleteSubscriberData" },
17557   {   9, "sendParameters" },
17558   {  10, "registerSS" },
17559   {  11, "eraseSS" },
17560   {  12, "activateSS" },
17561   {  13, "deactivateSS" },
17562   {  14, "interrogateSS" },
17563   {  15, "authenticationFailureReport" },
17564   {  16, "notifySS" },
17565   {  17, "registerPassword" },
17566   {  18, "getPassword" },
17567   {  19, "processUnstructuredSS-Data" },
17568   {  20, "releaseResources" },
17569   {  21, "mt-ForwardSM-VGCS" },
17570   {  22, "sendRoutingInfo" },
17571   {  23, "updateGprsLocation" },
17572   {  24, "sendRoutingInfoForGprs" },
17573   {  25, "failureReport" },
17574   {  26, "noteMsPresentForGprs" },
17575   {  27, "unAllocated" },
17576   {  28, "performHandover" },
17577   {  29, "sendEndSignal" },
17578   {  30, "performSubsequentHandover" },
17579   {  31, "provideSIWFSNumber" },
17580   {  32, "sIWFSSignallingModify" },
17581   {  33, "processAccessSignalling" },
17582   {  34, "forwardAccessSignalling" },
17583   {  35, "noteInternalHandover" },
17584   {  36, "cancelVcsgLocation" },
17585   {  37, "reset" },
17586   {  38, "forwardCheckSS" },
17587   {  39, "prepareGroupCall" },
17588   {  40, "sendGroupCallEndSignal" },
17589   {  41, "processGroupCallSignalling" },
17590   {  42, "forwardGroupCallSignalling" },
17591   {  43, "checkIMEI" },
17592   {  44, "mt-forwardSM" },
17593   {  45, "sendRoutingInfoForSM" },
17594   {  46, "mo-forwardSM" },
17595   {  47, "reportSM-DeliveryStatus" },
17596   {  48, "noteSubscriberPresent" },
17597   {  49, "alertServiceCentreWithoutResult" },
17598   {  50, "activateTraceMode" },
17599   {  51, "deactivateTraceMode" },
17600   {  52, "traceSubscriberActivity" },
17601   {  53, "updateVcsgLocation" },
17602   {  54, "beginSubscriberActivity" },
17603   {  55, "sendIdentification" },
17604   {  56, "sendAuthenticationInfo" },
17605   {  57, "restoreData" },
17606   {  58, "sendIMSI" },
17607   {  59, "processUnstructuredSS-Request" },
17608   {  60, "unstructuredSS-Request" },
17609   {  61, "unstructuredSS-Notify" },
17610   {  62, "anyTimeSubscriptionInterrogation" },
17611   {  63, "informServiceCentre" },
17612   {  64, "alertServiceCentre" },
17613   {  65, "anyTimeModification" },
17614   {  66, "readyForSM" },
17615   {  67, "purgeMS" },
17616   {  68, "prepareHandover" },
17617   {  69, "prepareSubsequentHandover" },
17618   {  70, "provideSubscriberInfo" },
17619   {  71, "anyTimeInterrogation" },
17620   {  72, "ss-InvocationNotification" },
17621   {  73, "setReportingState" },
17622   {  74, "statusReport" },
17623   {  75, "remoteUserFree" },
17624   {  76, "registerCC-Entry" },
17625   {  77, "eraseCC-Entry" },
17626   {  78, "secureTransportClass1" },
17627   {  79, "secureTransportClass2" },
17628   {  80, "secureTransportClass3" },
17629   {  81, "secureTransportClass4" },
17630   {  82, "unAllocated" },
17631   {  83, "provideSubscriberLocation" },
17632   {  84, "sendGroupCallInfo" },
17633   {  85, "sendRoutingInfoForLCS" },
17634   {  86, "subscriberLocationReport" },
17635   {  87, "ist-Alert" },
17636   {  88, "ist-Command" },
17637   {  89, "noteMM-Event" },
17638   {  90, "unAllocated" },
17639   {  91, "unAllocated" },
17640   {  92, "unAllocated" },
17641   {  93, "unAllocated" },
17642   {  94, "unAllocated" },
17643   {  95, "unAllocated" },
17644   {  96, "unAllocated" },
17645   {  97, "unAllocated" },
17646   {  98, "unAllocated" },
17647   {  99, "unAllocated" },
17648   { 100, "unAllocated" },
17649   { 101, "unAllocated" },
17650   { 102, "unAllocated" },
17651   { 103, "unAllocated" },
17652   { 104, "unAllocated" },
17653   { 105, "unAllocated" },
17654   { 106, "unAllocated" },
17655   { 107, "unAllocated" },
17656   { 108, "unAllocated" },
17657   { 109, "lcs-PeriodicLocationCancellation" },
17658   { 110, "lcs-LocationUpdate" },
17659   { 111, "lcs-PeriodicLocationRequest" },
17660   { 112, "lcs-AreaEventCancellation" },
17661   { 113, "lcs-AreaEventReport" },
17662   { 114, "lcs-AreaEventRequest" },
17663   { 115, "lcs-MOLR" },
17664   { 116, "lcs-LocationNotification" },
17665   { 117, "callDeflection" },
17666   { 118, "userUserService" },
17667   { 119, "accessRegisterCCEntry" },
17668   { 120, "forwardCUG-Info" },
17669   { 121, "splitMPTY" },
17670   { 122, "retrieveMPTY" },
17671   { 123, "holdMPTY" },
17672   { 124, "buildMPTY" },
17673   { 125, "forwardChargeAdvice" },
17674   { 126, "explicitCT" },
17675   { 0, NULL }
17676 };
17677 
17678 static value_string_ext gsm_old_GSMMAPOperationLocalvalue_vals_ext = VALUE_STRING_EXT_INIT(gsm_old_GSMMAPOperationLocalvalue_vals);
17679 
17680 
17681 static int
17682 dissect_gsm_old_GSMMAPOperationLocalvalue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17683 #line 212 "./asn1/gsm_map/gsm_map.cnf"
17684   const char *opcode_string;
17685 
17686   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17687                                                 &opcode);
17688 
17689   /* Retrieve opcode string and eventually update item value */
17690   opcode_string = gsm_map_opr_code(opcode, actx->created_item);
17691   col_append_str(actx->pinfo->cinfo, COL_INFO, opcode_string);
17692   col_append_str(actx->pinfo->cinfo, COL_INFO, " ");
17693 
17694 
17695 
17696   return offset;
17697 }
17698 
17699 
17700 
17701 static int
17702 dissect_gsm_old_OperationLocalvalue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17703   offset = dissect_gsm_old_GSMMAPOperationLocalvalue(implicit_tag, tvb, offset, actx, tree, hf_index);
17704 
17705   return offset;
17706 }
17707 
17708 
17709 
17710 static int
17711 dissect_gsm_old_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17712   offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
17713 
17714   return offset;
17715 }
17716 
17717 
17718 static const value_string gsm_old_MAP_OPERATION_vals[] = {
17719   {   0, "localValue" },
17720   {   1, "globalValue" },
17721   { 0, NULL }
17722 };
17723 
17724 static const ber_choice_t gsm_old_MAP_OPERATION_choice[] = {
17725   {   0, &hf_gsm_old_localValue  , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OperationLocalvalue },
17726   {   1, &hf_gsm_old_globalValue , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OBJECT_IDENTIFIER },
17727   { 0, NULL, 0, 0, 0, NULL }
17728 };
17729 
17730 static int
17731 dissect_gsm_old_MAP_OPERATION(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17732   offset = dissect_ber_choice(actx, tree, tvb, offset,
17733                                  gsm_old_MAP_OPERATION_choice, hf_index, ett_gsm_old_MAP_OPERATION,
17734                                  NULL);
17735 
17736   return offset;
17737 }
17738 
17739 
17740 
17741 static int
17742 dissect_gsm_old_InvokeParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17743 #line 199 "./asn1/gsm_map/gsm_map.cnf"
17744 	offset = dissect_invokeData(tree, tvb, offset, actx);
17745 
17746 
17747 
17748   return offset;
17749 }
17750 
17751 
17752 static const ber_sequence_t gsm_old_Invoke_sequence[] = {
17753   { &hf_gsm_old_invokeID    , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeIdType },
17754   { &hf_gsm_old_linkedID    , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_old_InvokeIdType },
17755   { &hf_gsm_old_opCode      , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_MAP_OPERATION },
17756   { &hf_gsm_old_invokeparameter, BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeParameter },
17757   { NULL, 0, 0, 0, NULL }
17758 };
17759 
17760 static int
17761 dissect_gsm_old_Invoke(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17762   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17763                                    gsm_old_Invoke_sequence, hf_index, ett_gsm_old_Invoke);
17764 
17765   return offset;
17766 }
17767 
17768 
17769 
17770 static int
17771 dissect_gsm_old_ReturnResultParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17772 #line 202 "./asn1/gsm_map/gsm_map.cnf"
17773 	offset = dissect_returnResultData(tree, tvb, offset, actx);
17774 
17775 
17776 
17777   return offset;
17778 }
17779 
17780 
17781 static const ber_sequence_t gsm_old_T_resultretres_sequence[] = {
17782   { &hf_gsm_old_opCode      , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_MAP_OPERATION },
17783   { &hf_gsm_old_returnparameter, BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ReturnResultParameter },
17784   { NULL, 0, 0, 0, NULL }
17785 };
17786 
17787 static int
17788 dissect_gsm_old_T_resultretres(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17789   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17790                                    gsm_old_T_resultretres_sequence, hf_index, ett_gsm_old_T_resultretres);
17791 
17792   return offset;
17793 }
17794 
17795 
17796 static const ber_sequence_t gsm_old_ReturnResult_sequence[] = {
17797   { &hf_gsm_old_invokeID    , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeIdType },
17798   { &hf_gsm_old_resultretres, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_T_resultretres },
17799   { NULL, 0, 0, 0, NULL }
17800 };
17801 
17802 static int
17803 dissect_gsm_old_ReturnResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17804   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17805                                    gsm_old_ReturnResult_sequence, hf_index, ett_gsm_old_ReturnResult);
17806 
17807   return offset;
17808 }
17809 
17810 
17811 const value_string gsm_old_GSMMAPLocalErrorcode_vals[] = {
17812   {   1, "unknownSubscriber" },
17813   {   2, "unknownBaseStation" },
17814   {   3, "unknownMSC" },
17815   {   4, "secureTransportError" },
17816   {   5, "unidentifiedSubscriber" },
17817   {   6, "absentSubscriberSM" },
17818   {   7, "unknownEquipment" },
17819   {   8, "roamingNotAllowed" },
17820   {   9, "illegalSubscriber" },
17821   {  10, "bearerServiceNotProvisioned" },
17822   {  11, "teleserviceNotProvisioned" },
17823   {  12, "illegalEquipment" },
17824   {  13, "callBarred" },
17825   {  14, "forwardingViolation" },
17826   {  15, "cug-Reject" },
17827   {  16, "illegalSS-Operation" },
17828   {  17, "ss-ErrorStatus" },
17829   {  18, "ss-NotAvailable" },
17830   {  19, "ss-SubscriptionViolation" },
17831   {  20, "ss-Incompatibility" },
17832   {  21, "facilityNotSupported" },
17833   {  22, "ongoingGroupCall" },
17834   {  23, "invalidTargetBaseStation" },
17835   {  24, "noRadioResourceAvailable" },
17836   {  25, "noHandoverNumberAvailable" },
17837   {  26, "subsequentHandoverFailure" },
17838   {  27, "absentSubscriber" },
17839   {  28, "incompatibleTerminal" },
17840   {  29, "shortTermDenial" },
17841   {  30, "longTermDenial" },
17842   {  31, "subscriberBusyForMT-SMS" },
17843   {  32, "sm-DeliveryFailure" },
17844   {  33, "messageWaitingListFull" },
17845   {  34, "systemFailure" },
17846   {  35, "dataMissing" },
17847   {  36, "unexpectedDataValue" },
17848   {  37, "pw-RegistrationFailure" },
17849   {  38, "negativePW-Check" },
17850   {  39, "noRoamingNumberAvailable" },
17851   {  40, "tracingBufferFull" },
17852   {  42, "targetCellOutsideGroupCallArea" },
17853   {  43, "numberOfPW-AttemptsViolation" },
17854   {  44, "numberChanged" },
17855   {  45, "busySubscriber" },
17856   {  46, "noSubscriberReply" },
17857   {  47, "forwardingFailed" },
17858   {  48, "or-NotAllowed" },
17859   {  49, "ati-NotAllowed" },
17860   {  50, "noGroupCallNumberAvailable" },
17861   {  51, "resourceLimitation" },
17862   {  52, "unauthorizedRequestingNetwork" },
17863   {  53, "unauthorizedLCSClient" },
17864   {  54, "positionMethodFailure" },
17865   {  58, "unknownOrUnreachableLCSClient" },
17866   {  59, "mm-EventNotSupported" },
17867   {  60, "atsi-NotAllowed" },
17868   {  61, "atm-NotAllowed" },
17869   {  62, "informationNotAvailable" },
17870   {  71, "unknownAlphabet" },
17871   {  72, "ussd-Busy" },
17872   { 0, NULL }
17873 };
17874 
17875 
17876 int
17877 dissect_gsm_old_GSMMAPLocalErrorcode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17878   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17879                                                 &errorCode);
17880 
17881   return offset;
17882 }
17883 
17884 
17885 
17886 static int
17887 dissect_gsm_old_LocalErrorcode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17888   offset = dissect_gsm_old_GSMMAPLocalErrorcode(implicit_tag, tvb, offset, actx, tree, hf_index);
17889 
17890   return offset;
17891 }
17892 
17893 
17894 static const value_string gsm_old_MAP_ERROR_vals[] = {
17895   {   0, "localValue" },
17896   {   1, "globalValue" },
17897   { 0, NULL }
17898 };
17899 
17900 static const ber_choice_t gsm_old_MAP_ERROR_choice[] = {
17901   {   0, &hf_gsm_old_localValue_01, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_LocalErrorcode },
17902   {   1, &hf_gsm_old_globalValue , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OBJECT_IDENTIFIER },
17903   { 0, NULL, 0, 0, 0, NULL }
17904 };
17905 
17906 static int
17907 dissect_gsm_old_MAP_ERROR(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17908   offset = dissect_ber_choice(actx, tree, tvb, offset,
17909                                  gsm_old_MAP_ERROR_choice, hf_index, ett_gsm_old_MAP_ERROR,
17910                                  NULL);
17911 
17912   return offset;
17913 }
17914 
17915 
17916 
17917 static int
17918 dissect_gsm_old_ReturnErrorParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17919 #line 205 "./asn1/gsm_map/gsm_map.cnf"
17920 	offset = dissect_returnErrorData(tree, tvb, offset, actx);
17921 
17922 
17923 
17924   return offset;
17925 }
17926 
17927 
17928 static const ber_sequence_t gsm_old_ReturnError_sequence[] = {
17929   { &hf_gsm_old_invokeID    , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeIdType },
17930   { &hf_gsm_old_errorCode   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_MAP_ERROR },
17931   { &hf_gsm_old_parameter   , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ReturnErrorParameter },
17932   { NULL, 0, 0, 0, NULL }
17933 };
17934 
17935 static int
17936 dissect_gsm_old_ReturnError(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17937   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
17938                                    gsm_old_ReturnError_sequence, hf_index, ett_gsm_old_ReturnError);
17939 
17940   return offset;
17941 }
17942 
17943 
17944 
17945 static int
17946 dissect_gsm_old_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17947   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
17948 
17949   return offset;
17950 }
17951 
17952 
17953 static const value_string gsm_old_T_invokeIDRej_vals[] = {
17954   {   0, "derivable" },
17955   {   1, "not-derivable" },
17956   { 0, NULL }
17957 };
17958 
17959 static const ber_choice_t gsm_old_T_invokeIDRej_choice[] = {
17960   {   0, &hf_gsm_old_derivable   , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_InvokeIdType },
17961   {   1, &hf_gsm_old_not_derivable, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_gsm_old_NULL },
17962   { 0, NULL, 0, 0, 0, NULL }
17963 };
17964 
17965 static int
17966 dissect_gsm_old_T_invokeIDRej(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17967   offset = dissect_ber_choice(actx, tree, tvb, offset,
17968                                  gsm_old_T_invokeIDRej_choice, hf_index, ett_gsm_old_T_invokeIDRej,
17969                                  NULL);
17970 
17971   return offset;
17972 }
17973 
17974 
17975 static const value_string gsm_old_GeneralProblem_vals[] = {
17976   {   0, "unrecognizedComponent" },
17977   {   1, "mistypedComponent" },
17978   {   2, "badlyStructuredComponent" },
17979   { 0, NULL }
17980 };
17981 
17982 
17983 static int
17984 dissect_gsm_old_GeneralProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
17985   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
17986                                                 NULL);
17987 
17988   return offset;
17989 }
17990 
17991 
17992 static const value_string gsm_old_InvokeProblem_vals[] = {
17993   {   0, "duplicateInvokeID" },
17994   {   1, "unrecognizedOperation" },
17995   {   2, "mistypedParameter" },
17996   {   3, "resourceLimitation" },
17997   {   4, "initiatingRelease" },
17998   {   5, "unrecognizedLinkedID" },
17999   {   6, "linkedResponseUnexpected" },
18000   {   7, "unexpectedLinkedOperation" },
18001   { 0, NULL }
18002 };
18003 
18004 
18005 static int
18006 dissect_gsm_old_InvokeProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18007   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
18008                                                 NULL);
18009 
18010   return offset;
18011 }
18012 
18013 
18014 static const value_string gsm_old_ReturnResultProblem_vals[] = {
18015   {   0, "unrecognizedInvokeID" },
18016   {   1, "returnResultUnexpected" },
18017   {   2, "mistypedParameter" },
18018   { 0, NULL }
18019 };
18020 
18021 
18022 static int
18023 dissect_gsm_old_ReturnResultProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18024   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
18025                                                 NULL);
18026 
18027   return offset;
18028 }
18029 
18030 
18031 static const value_string gsm_old_ReturnErrorProblem_vals[] = {
18032   {   0, "unrecognizedInvokeID" },
18033   {   1, "returnErrorUnexpected" },
18034   {   2, "unrecognizedError" },
18035   {   3, "unexpectedError" },
18036   {   4, "mistypedParameter" },
18037   { 0, NULL }
18038 };
18039 
18040 
18041 static int
18042 dissect_gsm_old_ReturnErrorProblem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18043   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
18044                                                 NULL);
18045 
18046   return offset;
18047 }
18048 
18049 
18050 static const value_string gsm_old_T_problem_vals[] = {
18051   {   0, "generalProblem" },
18052   {   1, "invokeProblem" },
18053   {   2, "returnResultProblem" },
18054   {   3, "returnErrorProblem" },
18055   { 0, NULL }
18056 };
18057 
18058 static const ber_choice_t gsm_old_T_problem_choice[] = {
18059   {   0, &hf_gsm_old_generalProblem, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_old_GeneralProblem },
18060   {   1, &hf_gsm_old_invokeProblem, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_old_InvokeProblem },
18061   {   2, &hf_gsm_old_returnResultProblem, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnResultProblem },
18062   {   3, &hf_gsm_old_returnErrorProblem, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnErrorProblem },
18063   { 0, NULL, 0, 0, 0, NULL }
18064 };
18065 
18066 static int
18067 dissect_gsm_old_T_problem(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18068   offset = dissect_ber_choice(actx, tree, tvb, offset,
18069                                  gsm_old_T_problem_choice, hf_index, ett_gsm_old_T_problem,
18070                                  NULL);
18071 
18072   return offset;
18073 }
18074 
18075 
18076 static const ber_sequence_t gsm_old_Reject_sequence[] = {
18077   { &hf_gsm_old_invokeIDRej , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_T_invokeIDRej },
18078   { &hf_gsm_old_problem     , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_T_problem },
18079   { NULL, 0, 0, 0, NULL }
18080 };
18081 
18082 static int
18083 dissect_gsm_old_Reject(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18084   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18085                                    gsm_old_Reject_sequence, hf_index, ett_gsm_old_Reject);
18086 
18087   return offset;
18088 }
18089 
18090 
18091 static const value_string gsm_old_Component_vals[] = {
18092   {   1, "invoke" },
18093   {   2, "returnResultLast" },
18094   {   3, "returnError" },
18095   {   4, "reject" },
18096   {   7, "returnResultNotLast" },
18097   { 0, NULL }
18098 };
18099 
18100 static const ber_choice_t gsm_old_Component_choice[] = {
18101   {   1, &hf_gsm_old_invoke      , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_old_Invoke },
18102   {   2, &hf_gsm_old_returnResultLast, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnResult },
18103   {   3, &hf_gsm_old_returnError , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnError },
18104   {   4, &hf_gsm_old_reject      , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_old_Reject },
18105   {   7, &hf_gsm_old_returnResultNotLast, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_gsm_old_ReturnResult },
18106   { 0, NULL, 0, 0, 0, NULL }
18107 };
18108 
18109 static int
18110 dissect_gsm_old_Component(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18111   offset = dissect_ber_choice(actx, tree, tvb, offset,
18112                                  gsm_old_Component_choice, hf_index, ett_gsm_old_Component,
18113                                  NULL);
18114 
18115   return offset;
18116 }
18117 
18118 
18119 static const ber_sequence_t gsm_old_Bss_APDU_sequence[] = {
18120   { &hf_gsm_old_protocolId  , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ProtocolId },
18121   { &hf_gsm_old_signalInfo  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
18122   { &hf_gsm_old_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
18123   { NULL, 0, 0, 0, NULL }
18124 };
18125 
18126 static int
18127 dissect_gsm_old_Bss_APDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18128 #line 888 "./asn1/gsm_map/gsm_map.cnf"
18129  guint8		octet;
18130  guint8		length;
18131  tvbuff_t	*next_tvb;
18132  proto_tree *subtree;
18133 /*
18134 ETS 300 599: December 2000 (GSM 09.02 version 4.19.1)
18135 5.6.9.1 BSS-apdu
18136 This parameter includes one or two concatenated complete 08.06 messages, as described in GSM 03.09
18137 and GSM 09.10. The Protocol ID indicates that the message or messages are according to GSM 08.06.
18138 For the coding of the messages see GSM 08.06 and GSM 08.08.
18139 */
18140  ProtocolId = 0xffffffff;
18141  gsm_map_private_info_t *gsm_map_priv;
18142   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18143                                    gsm_old_Bss_APDU_sequence, hf_index, ett_gsm_old_Bss_APDU);
18144 
18145  gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
18146 if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
18147 	return offset;
18148  subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_externalsignalinfo);
18149  switch (ProtocolId){
18150 	case 1:
18151 	/* gsm-0408 */
18152 		/* As per comment abowe Individual IE:(s) will be found here in TLV format
18153 		 * Unfortunatly a branch for each IE must be made to call the apropriate
18154 		 * function
18155 		 */
18156 		 /* Get tag */
18157 		 octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
18158 		 proto_tree_add_item(subtree, hf_gsm_map_ie_tag, gsm_map_priv->signal_info_tvb, 0,1,ENC_BIG_ENDIAN);
18159 		 /* get length */
18160 		 length = tvb_get_guint8(gsm_map_priv->signal_info_tvb,1);
18161 		 proto_tree_add_item(subtree, hf_gsm_map_len, gsm_map_priv->signal_info_tvb, 1,1,ENC_BIG_ENDIAN);
18162 		 /* Branch on tag */
18163 		 switch(octet){
18164 		 case 4:
18165 			/* Dissect the data part */
18166 			de_bearer_cap(gsm_map_priv->signal_info_tvb, subtree, actx->pinfo, 2, length, NULL, 0);
18167 			/* TODO: There may be more than one IE */
18168 			break;
18169 		 default:
18170 			proto_tree_add_expert(subtree, actx->pinfo, &ei_gsm_map_undecoded, gsm_map_priv->signal_info_tvb, 0, length);
18171 			break;
18172 		}/* switch(octet) */
18173 		break;
18174 	case 2:
18175 		/* gsm-0806 */
18176 		octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
18177 		/* Discrimination parameter */
18178 		proto_tree_add_item(subtree, hf_gsm_map_disc_par, gsm_map_priv->signal_info_tvb, 0,1,ENC_BIG_ENDIAN);
18179 		if ( octet == 0) {/* DISCRIMINATION TS 48 006(GSM 08.06 version 5.3.0) */
18180 			/* Strip off discrimination and length */
18181 			proto_tree_add_item(subtree, hf_gsm_map_len, gsm_map_priv->signal_info_tvb, 1,1,ENC_BIG_ENDIAN);
18182 			next_tvb = tvb_new_subset_remaining(gsm_map_priv->signal_info_tvb, 2);
18183 			call_dissector_with_data(bssap_handle, next_tvb, actx->pinfo, subtree, gsm_map_priv->sccp_msg_info);
18184 		}else if(octet==1){
18185 			proto_tree_add_item(subtree, hf_gsm_map_dlci, gsm_map_priv->signal_info_tvb, 1,1,ENC_BIG_ENDIAN);
18186 			proto_tree_add_item(subtree, hf_gsm_map_len, gsm_map_priv->signal_info_tvb, 2,1,ENC_BIG_ENDIAN);
18187 			next_tvb = tvb_new_subset_remaining(gsm_map_priv->signal_info_tvb, 3);
18188 			call_dissector(dtap_handle, next_tvb, actx->pinfo, subtree);
18189 		}
18190 		break;
18191 	case 3:
18192 	/* gsm-BSSMAP -- Value 3 is reserved and must not be used*/
18193 		octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
18194 		if ( octet == 0) {/* DISCRIMINATION TS 48 006 */
18195 			next_tvb = tvb_new_subset_remaining(gsm_map_priv->signal_info_tvb, 2);
18196 			call_dissector_with_data(bssap_handle, next_tvb, actx->pinfo, subtree, gsm_map_priv->sccp_msg_info);
18197 		}
18198 		break;
18199 	/* ets-300102-1 (~Q.931 ) */
18200 	case 4:
18201 		octet = tvb_get_guint8(gsm_map_priv->signal_info_tvb,0);
18202 		length = tvb_get_guint8(gsm_map_priv->signal_info_tvb,1);
18203 		if ( octet == 4 )
18204 			dissect_q931_bearer_capability_ie(gsm_map_priv->signal_info_tvb, 2, length, subtree);
18205 		break;
18206 	default:
18207 		break;
18208 	}/*switch (ProtocolId)*/
18209 
18210 
18211 
18212   return offset;
18213 }
18214 
18215 
18216 
18217 static int
18218 dissect_gsm_old_CallDirection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18219   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
18220                                        NULL);
18221 
18222   return offset;
18223 }
18224 
18225 
18226 static const ber_sequence_t gsm_old_ProvideSIWFSNumberArg_sequence[] = {
18227   { &hf_gsm_old_gsm_BearerCapability, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
18228   { &hf_gsm_old_isdn_BearerCapability, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
18229   { &hf_gsm_old_call_Direction, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_CallDirection },
18230   { &hf_gsm_old_b_Subscriber_Address, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
18231   { &hf_gsm_old_chosenChannel, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
18232   { &hf_gsm_old_lowerLayerCompatibility, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
18233   { &hf_gsm_old_highLayerCompatibility, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
18234   { &hf_gsm_old_extensionContainer, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
18235   { NULL, 0, 0, 0, NULL }
18236 };
18237 
18238 static int
18239 dissect_gsm_old_ProvideSIWFSNumberArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18240   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18241                                    gsm_old_ProvideSIWFSNumberArg_sequence, hf_index, ett_gsm_old_ProvideSIWFSNumberArg);
18242 
18243   return offset;
18244 }
18245 
18246 
18247 static const ber_sequence_t gsm_old_ProvideSIWFSNumberRes_sequence[] = {
18248   { &hf_gsm_old_sIWFSNumber , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
18249   { &hf_gsm_old_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
18250   { NULL, 0, 0, 0, NULL }
18251 };
18252 
18253 static int
18254 dissect_gsm_old_ProvideSIWFSNumberRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18255   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18256                                    gsm_old_ProvideSIWFSNumberRes_sequence, hf_index, ett_gsm_old_ProvideSIWFSNumberRes);
18257 
18258   return offset;
18259 }
18260 
18261 
18262 static const ber_sequence_t gsm_old_PurgeMSArgV2_sequence[] = {
18263   { &hf_gsm_old_imsi        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
18264   { &hf_gsm_old_vlr_Number  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
18265   { NULL, 0, 0, 0, NULL }
18266 };
18267 
18268 static int
18269 dissect_gsm_old_PurgeMSArgV2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18270   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18271                                    gsm_old_PurgeMSArgV2_sequence, hf_index, ett_gsm_old_PurgeMSArgV2);
18272 
18273   return offset;
18274 }
18275 
18276 
18277 static const ber_sequence_t gsm_old_PrepareHO_ArgOld_sequence[] = {
18278   { &hf_gsm_old_targetCellId, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_GlobalCellId },
18279   { &hf_gsm_old_ho_NumberNotRequired, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_NULL },
18280   { &hf_gsm_old_bss_APDU    , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_Bss_APDU },
18281   { NULL, 0, 0, 0, NULL }
18282 };
18283 
18284 static int
18285 dissect_gsm_old_PrepareHO_ArgOld(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18286   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18287                                    gsm_old_PrepareHO_ArgOld_sequence, hf_index, ett_gsm_old_PrepareHO_ArgOld);
18288 
18289   return offset;
18290 }
18291 
18292 
18293 static const ber_sequence_t gsm_old_PrepareHO_ResOld_sequence[] = {
18294   { &hf_gsm_old_handoverNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
18295   { &hf_gsm_old_bss_APDU    , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_Bss_APDU },
18296   { NULL, 0, 0, 0, NULL }
18297 };
18298 
18299 static int
18300 dissect_gsm_old_PrepareHO_ResOld(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18301   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18302                                    gsm_old_PrepareHO_ResOld_sequence, hf_index, ett_gsm_old_PrepareHO_ResOld);
18303 
18304   return offset;
18305 }
18306 
18307 
18308 
18309 static int
18310 dissect_gsm_old_RAND(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18311   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
18312                                        NULL);
18313 
18314   return offset;
18315 }
18316 
18317 
18318 
18319 static int
18320 dissect_gsm_old_SRES(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18321   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
18322                                        NULL);
18323 
18324   return offset;
18325 }
18326 
18327 
18328 
18329 static int
18330 dissect_gsm_old_Kc(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18331   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
18332                                        NULL);
18333 
18334   return offset;
18335 }
18336 
18337 
18338 static const ber_sequence_t gsm_old_SendAuthenticationInfoResOld_item_sequence[] = {
18339   { &hf_gsm_old_rand        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_RAND },
18340   { &hf_gsm_old_sres        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SRES },
18341   { &hf_gsm_old_kc          , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_Kc },
18342   { NULL, 0, 0, 0, NULL }
18343 };
18344 
18345 static int
18346 dissect_gsm_old_SendAuthenticationInfoResOld_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18347   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18348                                    gsm_old_SendAuthenticationInfoResOld_item_sequence, hf_index, ett_gsm_old_SendAuthenticationInfoResOld_item);
18349 
18350   return offset;
18351 }
18352 
18353 
18354 static const ber_sequence_t gsm_old_SendAuthenticationInfoResOld_sequence_of[1] = {
18355   { &hf_gsm_old_SendAuthenticationInfoResOld_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SendAuthenticationInfoResOld_item },
18356 };
18357 
18358 static int
18359 dissect_gsm_old_SendAuthenticationInfoResOld(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18360   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
18361                                       gsm_old_SendAuthenticationInfoResOld_sequence_of, hf_index, ett_gsm_old_SendAuthenticationInfoResOld);
18362 
18363   return offset;
18364 }
18365 
18366 
18367 static const ber_sequence_t gsm_old_AuthenticationTriplet_v2_sequence[] = {
18368   { &hf_gsm_old_rand        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_RAND },
18369   { &hf_gsm_old_sres        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SRES },
18370   { &hf_gsm_old_kc          , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_Kc },
18371   { NULL, 0, 0, 0, NULL }
18372 };
18373 
18374 static int
18375 dissect_gsm_old_AuthenticationTriplet_v2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18376   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18377                                    gsm_old_AuthenticationTriplet_v2_sequence, hf_index, ett_gsm_old_AuthenticationTriplet_v2);
18378 
18379   return offset;
18380 }
18381 
18382 
18383 static const ber_sequence_t gsm_old_TripletListold_sequence_of[1] = {
18384   { &hf_gsm_old_TripletListold_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_AuthenticationTriplet_v2 },
18385 };
18386 
18387 static int
18388 dissect_gsm_old_TripletListold(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18389   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
18390                                       gsm_old_TripletListold_sequence_of, hf_index, ett_gsm_old_TripletListold);
18391 
18392   return offset;
18393 }
18394 
18395 
18396 static const ber_sequence_t gsm_old_SendIdentificationResV2_sequence[] = {
18397   { &hf_gsm_old_imsi        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
18398   { &hf_gsm_old_tripletList , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_TripletListold },
18399   { NULL, 0, 0, 0, NULL }
18400 };
18401 
18402 static int
18403 dissect_gsm_old_SendIdentificationResV2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18404   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18405                                    gsm_old_SendIdentificationResV2_sequence, hf_index, ett_gsm_old_SendIdentificationResV2);
18406 
18407   return offset;
18408 }
18409 
18410 
18411 static const ber_sequence_t gsm_old_SIWFSSignallingModifyArg_sequence[] = {
18412   { &hf_gsm_old_channelType , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
18413   { &hf_gsm_old_chosenChannel, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
18414   { &hf_gsm_old_extensionContainer, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
18415   { NULL, 0, 0, 0, NULL }
18416 };
18417 
18418 static int
18419 dissect_gsm_old_SIWFSSignallingModifyArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18420   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18421                                    gsm_old_SIWFSSignallingModifyArg_sequence, hf_index, ett_gsm_old_SIWFSSignallingModifyArg);
18422 
18423   return offset;
18424 }
18425 
18426 
18427 static const ber_sequence_t gsm_old_SIWFSSignallingModifyRes_sequence[] = {
18428   { &hf_gsm_old_channelType , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
18429   { &hf_gsm_old_extensionContainer, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExtensionContainer },
18430   { NULL, 0, 0, 0, NULL }
18431 };
18432 
18433 static int
18434 dissect_gsm_old_SIWFSSignallingModifyRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18435   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18436                                    gsm_old_SIWFSSignallingModifyRes_sequence, hf_index, ett_gsm_old_SIWFSSignallingModifyRes);
18437 
18438   return offset;
18439 }
18440 
18441 
18442 
18443 int
18444 dissect_gsm_old_NewPassword(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18445   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
18446                                             actx, tree, tvb, offset, hf_index,
18447                                             NULL);
18448 
18449   return offset;
18450 }
18451 
18452 
18453 const value_string gsm_old_GetPasswordArg_vals[] = {
18454   {   0, "enterPW" },
18455   {   1, "enterNewPW" },
18456   {   2, "enterNewPW-Again" },
18457   { 0, NULL }
18458 };
18459 
18460 
18461 int
18462 dissect_gsm_old_GetPasswordArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18463   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
18464                                   NULL);
18465 
18466   return offset;
18467 }
18468 
18469 
18470 
18471 int
18472 dissect_gsm_old_CurrentPassword(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18473   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_NumericString,
18474                                             actx, tree, tvb, offset, hf_index,
18475                                             NULL);
18476 
18477   return offset;
18478 }
18479 
18480 
18481 
18482 static int
18483 dissect_gsm_old_SecurityParametersIndex(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18484   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
18485                                        NULL);
18486 
18487   return offset;
18488 }
18489 
18490 
18491 
18492 static int
18493 dissect_gsm_old_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18494   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
18495                                                 NULL);
18496 
18497   return offset;
18498 }
18499 
18500 
18501 static const value_string gsm_old_OperationCode_vals[] = {
18502   {   0, "localValue" },
18503   {   1, "globalValue" },
18504   { 0, NULL }
18505 };
18506 
18507 static const ber_choice_t gsm_old_OperationCode_choice[] = {
18508   {   0, &hf_gsm_old_localValue_02, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_INTEGER },
18509   {   1, &hf_gsm_old_globalValue , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OBJECT_IDENTIFIER },
18510   { 0, NULL, 0, 0, 0, NULL }
18511 };
18512 
18513 static int
18514 dissect_gsm_old_OperationCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18515   offset = dissect_ber_choice(actx, tree, tvb, offset,
18516                                  gsm_old_OperationCode_choice, hf_index, ett_gsm_old_OperationCode,
18517                                  NULL);
18518 
18519   return offset;
18520 }
18521 
18522 
18523 static const value_string gsm_old_ErrorCode_vals[] = {
18524   {   0, "localValue" },
18525   {   1, "globalValue" },
18526   { 0, NULL }
18527 };
18528 
18529 static const ber_choice_t gsm_old_ErrorCode_choice[] = {
18530   {   0, &hf_gsm_old_localValue_02, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_old_INTEGER },
18531   {   1, &hf_gsm_old_globalValue , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OBJECT_IDENTIFIER },
18532   { 0, NULL, 0, 0, 0, NULL }
18533 };
18534 
18535 static int
18536 dissect_gsm_old_ErrorCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18537   offset = dissect_ber_choice(actx, tree, tvb, offset,
18538                                  gsm_old_ErrorCode_choice, hf_index, ett_gsm_old_ErrorCode,
18539                                  NULL);
18540 
18541   return offset;
18542 }
18543 
18544 
18545 static const value_string gsm_old_OriginalComponentIdentifier_vals[] = {
18546   {   0, "operationCode" },
18547   {   1, "errorCode" },
18548   {   2, "userInfo" },
18549   { 0, NULL }
18550 };
18551 
18552 static const ber_choice_t gsm_old_OriginalComponentIdentifier_choice[] = {
18553   {   0, &hf_gsm_old_operationCode, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_old_OperationCode },
18554   {   1, &hf_gsm_old_errorCode_01, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_old_ErrorCode },
18555   {   2, &hf_gsm_old_userInfo    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_NULL },
18556   { 0, NULL, 0, 0, 0, NULL }
18557 };
18558 
18559 static int
18560 dissect_gsm_old_OriginalComponentIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18561   offset = dissect_ber_choice(actx, tree, tvb, offset,
18562                                  gsm_old_OriginalComponentIdentifier_choice, hf_index, ett_gsm_old_OriginalComponentIdentifier,
18563                                  NULL);
18564 
18565   return offset;
18566 }
18567 
18568 
18569 
18570 static int
18571 dissect_gsm_old_InitialisationVector(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18572   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
18573                                        NULL);
18574 
18575   return offset;
18576 }
18577 
18578 
18579 static const ber_sequence_t gsm_old_SecurityHeader_sequence[] = {
18580   { &hf_gsm_old_securityParametersIndex, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SecurityParametersIndex },
18581   { &hf_gsm_old_originalComponentIdentifier, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_OriginalComponentIdentifier },
18582   { &hf_gsm_old_initialisationVector, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_InitialisationVector },
18583   { NULL, 0, 0, 0, NULL }
18584 };
18585 
18586 int
18587 dissect_gsm_old_SecurityHeader(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18588   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18589                                    gsm_old_SecurityHeader_sequence, hf_index, ett_gsm_old_SecurityHeader);
18590 
18591   return offset;
18592 }
18593 
18594 
18595 
18596 int
18597 dissect_gsm_old_ProtectedPayload(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18598   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
18599                                        NULL);
18600 
18601   return offset;
18602 }
18603 
18604 
18605 static const ber_sequence_t gsm_old_SecureTransportArg_sequence[] = {
18606   { &hf_gsm_old_securityHeader, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SecurityHeader },
18607   { &hf_gsm_old_protectedPayload, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ProtectedPayload },
18608   { NULL, 0, 0, 0, NULL }
18609 };
18610 
18611 static int
18612 dissect_gsm_old_SecureTransportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18613   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18614                                    gsm_old_SecureTransportArg_sequence, hf_index, ett_gsm_old_SecureTransportArg);
18615 
18616   return offset;
18617 }
18618 
18619 
18620 static const ber_sequence_t gsm_old_SecureTransportErrorParam_sequence[] = {
18621   { &hf_gsm_old_securityHeader, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SecurityHeader },
18622   { &hf_gsm_old_protectedPayload, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ProtectedPayload },
18623   { NULL, 0, 0, 0, NULL }
18624 };
18625 
18626 static int
18627 dissect_gsm_old_SecureTransportErrorParam(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18628   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18629                                    gsm_old_SecureTransportErrorParam_sequence, hf_index, ett_gsm_old_SecureTransportErrorParam);
18630 
18631   return offset;
18632 }
18633 
18634 
18635 static const ber_sequence_t gsm_old_SecureTransportRes_sequence[] = {
18636   { &hf_gsm_old_securityHeader, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_SecurityHeader },
18637   { &hf_gsm_old_protectedPayload, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_ProtectedPayload },
18638   { NULL, 0, 0, 0, NULL }
18639 };
18640 
18641 static int
18642 dissect_gsm_old_SecureTransportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18643   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18644                                    gsm_old_SecureTransportRes_sequence, hf_index, ett_gsm_old_SecureTransportRes);
18645 
18646   return offset;
18647 }
18648 
18649 
18650 
18651 static int
18652 dissect_gsm_old_Category(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18653   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
18654                                        NULL);
18655 
18656   return offset;
18657 }
18658 
18659 
18660 
18661 static int
18662 dissect_gsm_old_OCTET_STRING_SIZE_1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18663   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
18664                                        NULL);
18665 
18666   return offset;
18667 }
18668 
18669 
18670 static const ber_sequence_t gsm_old_T_operatorSS_Code_sequence_of[1] = {
18671   { &hf_gsm_old_operatorSS_Code_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_old_OCTET_STRING_SIZE_1 },
18672 };
18673 
18674 static int
18675 dissect_gsm_old_T_operatorSS_Code(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18676   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
18677                                       gsm_old_T_operatorSS_Code_sequence_of, hf_index, ett_gsm_old_T_operatorSS_Code);
18678 
18679   return offset;
18680 }
18681 
18682 
18683 static const ber_sequence_t gsm_old_PlmnContainer_U_sequence[] = {
18684   { &hf_gsm_old_msisdn      , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
18685   { &hf_gsm_old_category    , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_old_Category },
18686   { &hf_gsm_old_basicService, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_BasicServiceCode },
18687   { &hf_gsm_old_operatorSS_Code, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_old_T_operatorSS_Code },
18688   { NULL, 0, 0, 0, NULL }
18689 };
18690 
18691 static int
18692 dissect_gsm_old_PlmnContainer_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18693   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18694                                    gsm_old_PlmnContainer_U_sequence, hf_index, ett_gsm_old_PlmnContainer_U);
18695 
18696   return offset;
18697 }
18698 
18699 
18700 
18701 static int
18702 dissect_gsm_old_PlmnContainer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18703   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
18704                                       hf_index, BER_CLASS_PRI, 2, TRUE, dissect_gsm_old_PlmnContainer_U);
18705 
18706   return offset;
18707 }
18708 
18709 
18710 
18711 static int
18712 dissect_gsm_old_T_imsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18713 #line 376 "./asn1/gsm_map/gsm_map.cnf"
18714   actx->private_data = NULL;
18715   actx->pinfo->p2p_dir = P2P_DIR_SENT;
18716   offset = dissect_gsm_map_IMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
18717 
18718   if (actx->private_data) {
18719     gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
18720     gsm_map_pi->sm_rp_da_id = GSM_MAP_SM_RP_DA_IMSI;
18721     gsm_map_pi->sm_rp_da_str = (const gchar*)actx->private_data;
18722     actx->private_data = NULL;
18723   }
18724 
18725 
18726 
18727   return offset;
18728 }
18729 
18730 
18731 
18732 static int
18733 dissect_gsm_old_T_lmsi(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18734 #line 387 "./asn1/gsm_map/gsm_map.cnf"
18735   actx->private_data = NULL;
18736   actx->pinfo->p2p_dir = P2P_DIR_SENT;
18737   offset = dissect_gsm_map_LMSI(implicit_tag, tvb, offset, actx, tree, hf_index);
18738 
18739   if (actx->private_data) {
18740     gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
18741     gsm_map_pi->sm_rp_da_id = GSM_MAP_SM_RP_DA_LMSI;
18742     gsm_map_pi->sm_rp_da_str = (const gchar*)actx->private_data;
18743     actx->private_data = NULL;
18744   }
18745 
18746 
18747 
18748   return offset;
18749 }
18750 
18751 
18752 
18753 static int
18754 dissect_gsm_old_T_serviceCentreAddressDA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18755 #line 441 "./asn1/gsm_map/gsm_map.cnf"
18756   actx->private_data = NULL;
18757   actx->pinfo->p2p_dir = P2P_DIR_RECV;
18758   offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
18759 
18760   if (actx->private_data) {
18761     gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
18762     gsm_map_pi->sm_rp_da_id = GSM_MAP_SM_RP_DA_SERVICE_CENTER_ADDRESS;
18763     gsm_map_pi->sm_rp_da_str = (const gchar*)actx->private_data;
18764     actx->private_data = NULL;
18765   }
18766 
18767 
18768 
18769   return offset;
18770 }
18771 
18772 
18773 
18774 static int
18775 dissect_gsm_old_T_noSM_RP_DA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18776 #line 485 "./asn1/gsm_map/gsm_map.cnf"
18777   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
18778 
18779   if (!PINFO_FD_VISITED(actx->pinfo)) {
18780     gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, FALSE);
18781     gsm_map_packet_info_t *prev_packet_info = gsm_map_get_matching_tcap_info(actx);
18782     if (prev_packet_info) {
18783       gsm_map_pi->sm_rp_da_id = prev_packet_info->sm_rp_da_id;
18784       gsm_map_pi->sm_rp_da_str = wmem_strdup(wmem_file_scope(), prev_packet_info->sm_rp_da_str);
18785     }
18786   }
18787 
18788 
18789 
18790   return offset;
18791 }
18792 
18793 
18794 static const value_string gsm_old_SM_RP_DAold_vals[] = {
18795   {   0, "imsi" },
18796   {   1, "lmsi" },
18797   {   4, "serviceCentreAddressDA" },
18798   {   5, "noSM-RP-DA" },
18799   { 0, NULL }
18800 };
18801 
18802 static const ber_choice_t gsm_old_SM_RP_DAold_choice[] = {
18803   {   0, &hf_gsm_old_imsi_01     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_old_T_imsi },
18804   {   1, &hf_gsm_old_lmsi        , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_old_T_lmsi },
18805   {   4, &hf_gsm_old_serviceCentreAddressDA, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_old_T_serviceCentreAddressDA },
18806   {   5, &hf_gsm_old_noSM_RP_DA  , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_old_T_noSM_RP_DA },
18807   { 0, NULL, 0, 0, 0, NULL }
18808 };
18809 
18810 static int
18811 dissect_gsm_old_SM_RP_DAold(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18812   offset = dissect_ber_choice(actx, tree, tvb, offset,
18813                                  gsm_old_SM_RP_DAold_choice, hf_index, ett_gsm_old_SM_RP_DAold,
18814                                  NULL);
18815 
18816   return offset;
18817 }
18818 
18819 
18820 
18821 static int
18822 dissect_gsm_old_T_msisdn(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18823 #line 420 "./asn1/gsm_map/gsm_map.cnf"
18824   actx->private_data = NULL;
18825   actx->pinfo->p2p_dir = P2P_DIR_RECV;
18826   offset = dissect_gsm_map_ISDN_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
18827 
18828   if (actx->private_data) {
18829     gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
18830     gsm_map_pi->sm_rp_oa_id = GSM_MAP_SM_RP_OA_MSISDN;
18831     gsm_map_pi->sm_rp_oa_str = (const gchar*)actx->private_data;
18832     actx->private_data = NULL;
18833   }
18834 
18835 
18836 
18837   return offset;
18838 }
18839 
18840 
18841 
18842 static int
18843 dissect_gsm_old_T_serviceCentreAddressOA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18844 #line 354 "./asn1/gsm_map/gsm_map.cnf"
18845   actx->private_data = NULL;
18846   actx->pinfo->p2p_dir = P2P_DIR_SENT;
18847   offset = dissect_gsm_map_AddressString(implicit_tag, tvb, offset, actx, tree, hf_index);
18848 
18849   if (actx->private_data) {
18850     gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, TRUE);
18851     gsm_map_pi->sm_rp_oa_id = GSM_MAP_SM_RP_OA_SERVICE_CENTER_ADDRESS;
18852     gsm_map_pi->sm_rp_oa_str = (const gchar*)actx->private_data;
18853     actx->private_data = NULL;
18854   }
18855 
18856 
18857 
18858   return offset;
18859 }
18860 
18861 
18862 
18863 static int
18864 dissect_gsm_old_T_noSM_RP_OA(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18865 #line 463 "./asn1/gsm_map/gsm_map.cnf"
18866   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
18867 
18868   if (!PINFO_FD_VISITED(actx->pinfo)) {
18869     gsm_map_packet_info_t *gsm_map_pi = gsm_map_get_packet_info(actx, FALSE);
18870     gsm_map_packet_info_t *prev_packet_info = gsm_map_get_matching_tcap_info(actx);
18871     if (prev_packet_info) {
18872       gsm_map_pi->sm_rp_oa_id = prev_packet_info->sm_rp_oa_id;
18873       gsm_map_pi->sm_rp_oa_str = wmem_strdup(wmem_file_scope(), prev_packet_info->sm_rp_oa_str);
18874     }
18875   }
18876 
18877 
18878 
18879   return offset;
18880 }
18881 
18882 
18883 static const value_string gsm_old_SM_RP_OAold_vals[] = {
18884   {   2, "msisdn" },
18885   {   4, "serviceCentreAddressOA" },
18886   {   5, "noSM-RP-OA" },
18887   { 0, NULL }
18888 };
18889 
18890 static const ber_choice_t gsm_old_SM_RP_OAold_choice[] = {
18891   {   2, &hf_gsm_old_msisdn_01   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_old_T_msisdn },
18892   {   4, &hf_gsm_old_serviceCentreAddressOA, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_old_T_serviceCentreAddressOA },
18893   {   5, &hf_gsm_old_noSM_RP_OA  , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_old_T_noSM_RP_OA },
18894   { 0, NULL, 0, 0, 0, NULL }
18895 };
18896 
18897 static int
18898 dissect_gsm_old_SM_RP_OAold(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18899   offset = dissect_ber_choice(actx, tree, tvb, offset,
18900                                  gsm_old_SM_RP_OAold_choice, hf_index, ett_gsm_old_SM_RP_OAold,
18901                                  NULL);
18902 
18903   return offset;
18904 }
18905 
18906 
18907 static const ber_sequence_t gsm_old_ForwardSM_Arg_sequence[] = {
18908   { &hf_gsm_old_sm_RP_DA    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_SM_RP_DAold },
18909   { &hf_gsm_old_sm_RP_OA    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_SM_RP_OAold },
18910   { &hf_gsm_old_sm_RP_UI    , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
18911   { &hf_gsm_old_moreMessagesToSend, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_old_NULL },
18912   { NULL, 0, 0, 0, NULL }
18913 };
18914 
18915 static int
18916 dissect_gsm_old_ForwardSM_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18917 #line 529 "./asn1/gsm_map/gsm_map.cnf"
18918   /* dissect_gsm_map_SignalInfo will return parameter_tvb in actx */
18919   gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
18920   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18921                                    gsm_old_ForwardSM_Arg_sequence, hf_index, ett_gsm_old_ForwardSM_Arg);
18922 
18923 
18924   if (!gsm_map_priv || !gsm_map_priv->signal_info_tvb)
18925     return offset;
18926   if (actx->pinfo->p2p_dir == P2P_DIR_UNKNOWN) {
18927     if (gsmmap_pdu_type == 1) {
18928       actx->pinfo->p2p_dir = P2P_DIR_SENT;
18929     } else {
18930       actx->pinfo->p2p_dir = P2P_DIR_RECV;
18931     }
18932   }
18933   call_dissector_only(gsm_sms_handle, gsm_map_priv->signal_info_tvb, actx->pinfo, actx->subtree.top_tree, NULL);
18934 
18935 
18936 
18937   return offset;
18938 }
18939 
18940 
18941 static const ber_sequence_t gsm_old_SendRoutingInfoArgV2_sequence[] = {
18942   { &hf_gsm_old_msisdn      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
18943   { &hf_gsm_old_cug_CheckInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_CUG_CheckInfo },
18944   { &hf_gsm_old_numberOfForwarding, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ch_NumberOfForwarding },
18945   { &hf_gsm_old_networkSignalInfo, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ExternalSignalInfo },
18946   { NULL, 0, 0, 0, NULL }
18947 };
18948 
18949 static int
18950 dissect_gsm_old_SendRoutingInfoArgV2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18951   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18952                                    gsm_old_SendRoutingInfoArgV2_sequence, hf_index, ett_gsm_old_SendRoutingInfoArgV2);
18953 
18954   return offset;
18955 }
18956 
18957 
18958 static const ber_sequence_t gsm_old_SendRoutingInfoResV2_sequence[] = {
18959   { &hf_gsm_old_imsi        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
18960   { &hf_gsm_old_routingInfo , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_RoutingInfo },
18961   { &hf_gsm_old_cug_CheckInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ch_CUG_CheckInfo },
18962   { NULL, 0, 0, 0, NULL }
18963 };
18964 
18965 static int
18966 dissect_gsm_old_SendRoutingInfoResV2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18967   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18968                                    gsm_old_SendRoutingInfoResV2_sequence, hf_index, ett_gsm_old_SendRoutingInfoResV2);
18969 
18970   return offset;
18971 }
18972 
18973 
18974 static const ber_sequence_t gsm_old_BeginSubscriberActivityArg_sequence[] = {
18975   { &hf_gsm_old_imsi        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
18976   { &hf_gsm_old_originatingEntityNumber, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
18977   { &hf_gsm_old_msisdn_02   , BER_CLASS_PRI, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
18978   { NULL, 0, 0, 0, NULL }
18979 };
18980 
18981 static int
18982 dissect_gsm_old_BeginSubscriberActivityArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18983   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
18984                                    gsm_old_BeginSubscriberActivityArg_sequence, hf_index, ett_gsm_old_BeginSubscriberActivityArg);
18985 
18986   return offset;
18987 }
18988 
18989 
18990 
18991 static int
18992 dissect_gsm_old_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
18993   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
18994 
18995   return offset;
18996 }
18997 
18998 
18999 static const ber_sequence_t gsm_old_RoutingInfoForSM_ArgV1_sequence[] = {
19000   { &hf_gsm_old_msisdn      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
19001   { &hf_gsm_old_sm_RP_PRI   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_old_BOOLEAN },
19002   { &hf_gsm_old_serviceCentreAddress, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
19003   { &hf_gsm_old_cug_Interlock, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CUG_Interlock },
19004   { &hf_gsm_old_teleserviceCode, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_TeleserviceCode },
19005   { &hf_gsm_old_imsi        , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
19006   { NULL, 0, 0, 0, NULL }
19007 };
19008 
19009 static int
19010 dissect_gsm_old_RoutingInfoForSM_ArgV1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19011   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19012                                    gsm_old_RoutingInfoForSM_ArgV1_sequence, hf_index, ett_gsm_old_RoutingInfoForSM_ArgV1);
19013 
19014   return offset;
19015 }
19016 
19017 
19018 static const value_string gsm_old_LocationInfo_vals[] = {
19019   {   0, "roamingNumber" },
19020   {   1, "msc-Number" },
19021   { 0, NULL }
19022 };
19023 
19024 static const ber_choice_t gsm_old_LocationInfo_choice[] = {
19025   {   0, &hf_gsm_old_roamingNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
19026   {   1, &hf_gsm_old_msc_Number  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
19027   { 0, NULL, 0, 0, 0, NULL }
19028 };
19029 
19030 static int
19031 dissect_gsm_old_LocationInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19032   offset = dissect_ber_choice(actx, tree, tvb, offset,
19033                                  gsm_old_LocationInfo_choice, hf_index, ett_gsm_old_LocationInfo,
19034                                  NULL);
19035 
19036   return offset;
19037 }
19038 
19039 
19040 static const ber_sequence_t gsm_old_LocationInfoWithLMSIv2_sequence[] = {
19041   { &hf_gsm_old_locationInfo, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_LocationInfo },
19042   { &hf_gsm_old_lmsi_01     , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_LMSI },
19043   { NULL, 0, 0, 0, NULL }
19044 };
19045 
19046 static int
19047 dissect_gsm_old_LocationInfoWithLMSIv2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19048   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19049                                    gsm_old_LocationInfoWithLMSIv2_sequence, hf_index, ett_gsm_old_LocationInfoWithLMSIv2);
19050 
19051   return offset;
19052 }
19053 
19054 
19055 static const ber_sequence_t gsm_old_RoutingInfoForSM_ResV2_sequence[] = {
19056   { &hf_gsm_old_imsi        , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMSI },
19057   { &hf_gsm_old_locationInfoWithLMSI, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_old_LocationInfoWithLMSIv2 },
19058   { &hf_gsm_old_mwd_Set     , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_old_BOOLEAN },
19059   { NULL, 0, 0, 0, NULL }
19060 };
19061 
19062 static int
19063 dissect_gsm_old_RoutingInfoForSM_ResV2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19064   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19065                                    gsm_old_RoutingInfoForSM_ResV2_sequence, hf_index, ett_gsm_old_RoutingInfoForSM_ResV2);
19066 
19067   return offset;
19068 }
19069 
19070 
19071 
19072 static int
19073 dissect_gsm_old_Ki(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19074   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
19075                                        NULL);
19076 
19077   return offset;
19078 }
19079 
19080 
19081 static const value_string gsm_old_RequestParameter_vals[] = {
19082   {   0, "requestIMSI" },
19083   {   1, "requestAuthenticationSet" },
19084   {   2, "requestSubscriberData" },
19085   {   4, "requestKi" },
19086   { 0, NULL }
19087 };
19088 
19089 
19090 static int
19091 dissect_gsm_old_RequestParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19092   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19093                                   NULL);
19094 
19095   return offset;
19096 }
19097 
19098 
19099 static const ber_sequence_t gsm_old_RequestParameterList_sequence_of[1] = {
19100   { &hf_gsm_old_RequestParameterList_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_gsm_old_RequestParameter },
19101 };
19102 
19103 static int
19104 dissect_gsm_old_RequestParameterList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19105   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
19106                                       gsm_old_RequestParameterList_sequence_of, hf_index, ett_gsm_old_RequestParameterList);
19107 
19108   return offset;
19109 }
19110 
19111 
19112 static const ber_sequence_t gsm_old_SendParametersArg_sequence[] = {
19113   { &hf_gsm_old_subscriberId, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SubscriberIdentity },
19114   { &hf_gsm_old_requestParameterList, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_old_RequestParameterList },
19115   { NULL, 0, 0, 0, NULL }
19116 };
19117 
19118 static int
19119 dissect_gsm_old_SendParametersArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19120   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19121                                    gsm_old_SendParametersArg_sequence, hf_index, ett_gsm_old_SendParametersArg);
19122 
19123   return offset;
19124 }
19125 
19126 
19127 static const value_string gsm_old_AuthenticationSetListOld_vals[] = {
19128   {   0, "tripletList" },
19129   {   1, "quintupletList" },
19130   { 0, NULL }
19131 };
19132 
19133 static const ber_choice_t gsm_old_AuthenticationSetListOld_choice[] = {
19134   {   0, &hf_gsm_old_tripletList_01, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_TripletList },
19135   {   1, &hf_gsm_old_quintupletList, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_QuintupletList },
19136   { 0, NULL, 0, 0, 0, NULL }
19137 };
19138 
19139 static int
19140 dissect_gsm_old_AuthenticationSetListOld(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19141   offset = dissect_ber_choice(actx, tree, tvb, offset,
19142                                  gsm_old_AuthenticationSetListOld_choice, hf_index, ett_gsm_old_AuthenticationSetListOld,
19143                                  NULL);
19144 
19145   return offset;
19146 }
19147 
19148 
19149 static const value_string gsm_old_SentParameter_vals[] = {
19150   {   0, "imsi" },
19151   {   1, "authenticationSet" },
19152   {   2, "subscriberData" },
19153   {   4, "ki" },
19154   { 0, NULL }
19155 };
19156 
19157 static const ber_choice_t gsm_old_SentParameter_choice[] = {
19158   {   0, &hf_gsm_old_imsi        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
19159   {   1, &hf_gsm_old_authenticationSet, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_old_AuthenticationSetListOld },
19160   {   2, &hf_gsm_old_subscriberData, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_SubscriberData },
19161   {   4, &hf_gsm_old_ki          , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_old_Ki },
19162   { 0, NULL, 0, 0, 0, NULL }
19163 };
19164 
19165 static int
19166 dissect_gsm_old_SentParameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19167   offset = dissect_ber_choice(actx, tree, tvb, offset,
19168                                  gsm_old_SentParameter_choice, hf_index, ett_gsm_old_SentParameter,
19169                                  NULL);
19170 
19171   return offset;
19172 }
19173 
19174 
19175 static const ber_sequence_t gsm_old_SentParameterList_sequence_of[1] = {
19176   { &hf_gsm_old_SentParameterList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_old_SentParameter },
19177 };
19178 
19179 static int
19180 dissect_gsm_old_SentParameterList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19181   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
19182                                       gsm_old_SentParameterList_sequence_of, hf_index, ett_gsm_old_SentParameterList);
19183 
19184   return offset;
19185 }
19186 
19187 
19188 static const ber_sequence_t gsm_old_ResetArgV1_sequence[] = {
19189   { &hf_gsm_old_networkResource, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_NetworkResource },
19190   { &hf_gsm_old_hlr_Number  , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
19191   { &hf_gsm_old_hlr_List    , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_HLR_List },
19192   { NULL, 0, 0, 0, NULL }
19193 };
19194 
19195 static int
19196 dissect_gsm_old_ResetArgV1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19197   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19198                                    gsm_old_ResetArgV1_sequence, hf_index, ett_gsm_old_ResetArgV1);
19199 
19200   return offset;
19201 }
19202 
19203 
19204 /* --- Module SS-DataTypes --- --- ---                                        */
19205 
19206 
19207 
19208 static int
19209 dissect_gsm_ss_SS_UserData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19210   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
19211                                             actx, tree, tvb, offset, hf_index,
19212                                             NULL);
19213 
19214   return offset;
19215 }
19216 
19217 
19218 
19219 static int
19220 dissect_gsm_ss_SS_Notification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19221   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
19222                                        NULL);
19223 
19224   return offset;
19225 }
19226 
19227 
19228 
19229 static int
19230 dissect_gsm_ss_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19231   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
19232 
19233   return offset;
19234 }
19235 
19236 
19237 static const value_string gsm_ss_CallOnHold_Indicator_vals[] = {
19238   {   0, "callRetrieved" },
19239   {   1, "callOnHold" },
19240   { 0, NULL }
19241 };
19242 
19243 
19244 static int
19245 dissect_gsm_ss_CallOnHold_Indicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19246   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19247                                   NULL);
19248 
19249   return offset;
19250 }
19251 
19252 
19253 static const value_string gsm_ss_ECT_CallState_vals[] = {
19254   {   0, "alerting" },
19255   {   1, "active" },
19256   { 0, NULL }
19257 };
19258 
19259 
19260 static int
19261 dissect_gsm_ss_ECT_CallState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19262   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19263                                   NULL);
19264 
19265   return offset;
19266 }
19267 
19268 
19269 static const ber_sequence_t gsm_ss_RemotePartyNumber_sequence[] = {
19270   { &hf_gsm_ss_partyNumber  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
19271   { &hf_gsm_ss_partyNumberSubaddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
19272   { NULL, 0, 0, 0, NULL }
19273 };
19274 
19275 static int
19276 dissect_gsm_ss_RemotePartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19277   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19278                                    gsm_ss_RemotePartyNumber_sequence, hf_index, ett_gsm_ss_RemotePartyNumber);
19279 
19280   return offset;
19281 }
19282 
19283 
19284 static const value_string gsm_ss_RDN_vals[] = {
19285   {   0, "presentationAllowedAddress" },
19286   {   1, "presentationRestricted" },
19287   {   2, "numberNotAvailableDueToInterworking" },
19288   {   3, "presentationRestrictedAddress" },
19289   { 0, NULL }
19290 };
19291 
19292 static const ber_choice_t gsm_ss_RDN_choice[] = {
19293   {   0, &hf_gsm_ss_presentationAllowedAddress, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_RemotePartyNumber },
19294   {   1, &hf_gsm_ss_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19295   {   2, &hf_gsm_ss_numberNotAvailableDueToInterworking, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19296   {   3, &hf_gsm_ss_presentationRestrictedAddress, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_ss_RemotePartyNumber },
19297   { 0, NULL, 0, 0, 0, NULL }
19298 };
19299 
19300 static int
19301 dissect_gsm_ss_RDN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19302   offset = dissect_ber_choice(actx, tree, tvb, offset,
19303                                  gsm_ss_RDN_choice, hf_index, ett_gsm_ss_RDN,
19304                                  NULL);
19305 
19306   return offset;
19307 }
19308 
19309 
19310 static const ber_sequence_t gsm_ss_ECT_Indicator_sequence[] = {
19311   { &hf_gsm_ss_ect_CallState, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_ECT_CallState },
19312   { &hf_gsm_ss_rdn          , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_ss_RDN },
19313   { NULL, 0, 0, 0, NULL }
19314 };
19315 
19316 static int
19317 dissect_gsm_ss_ECT_Indicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19318   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19319                                    gsm_ss_ECT_Indicator_sequence, hf_index, ett_gsm_ss_ECT_Indicator);
19320 
19321   return offset;
19322 }
19323 
19324 
19325 
19326 static int
19327 dissect_gsm_ss_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19328   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19329                                                 NULL);
19330 
19331   return offset;
19332 }
19333 
19334 
19335 static const ber_sequence_t gsm_ss_NameSet_sequence[] = {
19336   { &hf_gsm_ss_dataCodingScheme, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_DataCodingScheme },
19337   { &hf_gsm_ss_lengthInCharacters, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_INTEGER },
19338   { &hf_gsm_ss_nameString   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_USSD_String },
19339   { NULL, 0, 0, 0, NULL }
19340 };
19341 
19342 static int
19343 dissect_gsm_ss_NameSet(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19344   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19345                                    gsm_ss_NameSet_sequence, hf_index, ett_gsm_ss_NameSet);
19346 
19347   return offset;
19348 }
19349 
19350 
19351 static const value_string gsm_ss_Name_vals[] = {
19352   {   0, "namePresentationAllowed" },
19353   {   1, "presentationRestricted" },
19354   {   2, "nameUnavailable" },
19355   {   3, "namePresentationRestricted" },
19356   { 0, NULL }
19357 };
19358 
19359 static const ber_choice_t gsm_ss_Name_choice[] = {
19360   {   0, &hf_gsm_ss_namePresentationAllowed, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NameSet },
19361   {   1, &hf_gsm_ss_presentationRestricted, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19362   {   2, &hf_gsm_ss_nameUnavailable, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19363   {   3, &hf_gsm_ss_namePresentationRestricted, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_ss_NameSet },
19364   { 0, NULL, 0, 0, 0, NULL }
19365 };
19366 
19367 static int
19368 dissect_gsm_ss_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19369   offset = dissect_ber_choice(actx, tree, tvb, offset,
19370                                  gsm_ss_Name_choice, hf_index, ett_gsm_ss_Name,
19371                                  NULL);
19372 
19373   return offset;
19374 }
19375 
19376 
19377 static const ber_sequence_t gsm_ss_NameIndicator_sequence[] = {
19378   { &hf_gsm_ss_callingName  , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_ss_Name },
19379   { NULL, 0, 0, 0, NULL }
19380 };
19381 
19382 static int
19383 dissect_gsm_ss_NameIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19384   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19385                                    gsm_ss_NameIndicator_sequence, hf_index, ett_gsm_ss_NameIndicator);
19386 
19387   return offset;
19388 }
19389 
19390 
19391 static const value_string gsm_ss_Multicall_Indicator_vals[] = {
19392   {   0, "nbr-SNexceeded" },
19393   {   1, "nbr-Userexceeded" },
19394   { 0, NULL }
19395 };
19396 
19397 
19398 static int
19399 dissect_gsm_ss_Multicall_Indicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19400   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19401                                   NULL);
19402 
19403   return offset;
19404 }
19405 
19406 
19407 static const ber_sequence_t gsm_ss_NotifySS_Arg_sequence[] = {
19408   { &hf_gsm_ss_ss_Code      , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
19409   { &hf_gsm_ss_ss_Status    , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_SS_Status },
19410   { &hf_gsm_ss_ss_Notification, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_SS_Notification },
19411   { &hf_gsm_ss_callIsWaiting_Indicator, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19412   { &hf_gsm_ss_callOnHold_Indicator, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_CallOnHold_Indicator },
19413   { &hf_gsm_ss_mpty_Indicator, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19414   { &hf_gsm_ss_cug_Index    , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CUG_Index },
19415   { &hf_gsm_ss_clirSuppressionRejected, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19416   { &hf_gsm_ss_ect_Indicator, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_ECT_Indicator },
19417   { &hf_gsm_ss_nameIndicator, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NameIndicator },
19418   { &hf_gsm_ss_ccbs_Feature , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ss_CCBS_Feature },
19419   { &hf_gsm_ss_alertingPattern, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AlertingPattern },
19420   { &hf_gsm_ss_multicall_Indicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_Multicall_Indicator },
19421   { NULL, 0, 0, 0, NULL }
19422 };
19423 
19424 static int
19425 dissect_gsm_ss_NotifySS_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19426   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19427                                    gsm_ss_NotifySS_Arg_sequence, hf_index, ett_gsm_ss_NotifySS_Arg);
19428 
19429   return offset;
19430 }
19431 
19432 
19433 
19434 static int
19435 dissect_gsm_ss_E1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19436   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19437                                                 NULL);
19438 
19439   return offset;
19440 }
19441 
19442 
19443 
19444 static int
19445 dissect_gsm_ss_E2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19446   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19447                                                 NULL);
19448 
19449   return offset;
19450 }
19451 
19452 
19453 
19454 static int
19455 dissect_gsm_ss_E3(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19456   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19457                                                 NULL);
19458 
19459   return offset;
19460 }
19461 
19462 
19463 
19464 static int
19465 dissect_gsm_ss_E4(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19466   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19467                                                 NULL);
19468 
19469   return offset;
19470 }
19471 
19472 
19473 
19474 static int
19475 dissect_gsm_ss_E5(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19476   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19477                                                 NULL);
19478 
19479   return offset;
19480 }
19481 
19482 
19483 
19484 static int
19485 dissect_gsm_ss_E6(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19486   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19487                                                 NULL);
19488 
19489   return offset;
19490 }
19491 
19492 
19493 
19494 static int
19495 dissect_gsm_ss_E7(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19496   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19497                                                 NULL);
19498 
19499   return offset;
19500 }
19501 
19502 
19503 static const ber_sequence_t gsm_ss_ChargingInformation_sequence[] = {
19504   { &hf_gsm_ss_e1           , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E1 },
19505   { &hf_gsm_ss_e2           , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E2 },
19506   { &hf_gsm_ss_e3           , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E3 },
19507   { &hf_gsm_ss_e4           , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E4 },
19508   { &hf_gsm_ss_e5           , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E5 },
19509   { &hf_gsm_ss_e6           , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E6 },
19510   { &hf_gsm_ss_e7           , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_E7 },
19511   { NULL, 0, 0, 0, NULL }
19512 };
19513 
19514 static int
19515 dissect_gsm_ss_ChargingInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19516   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19517                                    gsm_ss_ChargingInformation_sequence, hf_index, ett_gsm_ss_ChargingInformation);
19518 
19519   return offset;
19520 }
19521 
19522 
19523 static const ber_sequence_t gsm_ss_ForwardChargeAdviceArg_sequence[] = {
19524   { &hf_gsm_ss_ss_Code      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_SS_Code },
19525   { &hf_gsm_ss_chargingInformation, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_ChargingInformation },
19526   { NULL, 0, 0, 0, NULL }
19527 };
19528 
19529 static int
19530 dissect_gsm_ss_ForwardChargeAdviceArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19531   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19532                                    gsm_ss_ForwardChargeAdviceArg_sequence, hf_index, ett_gsm_ss_ForwardChargeAdviceArg);
19533 
19534   return offset;
19535 }
19536 
19537 
19538 static const ber_sequence_t gsm_ss_ForwardCUG_InfoArg_sequence[] = {
19539   { &hf_gsm_ss_cug_Index    , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CUG_Index },
19540   { &hf_gsm_ss_suppressPrefCUG, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19541   { &hf_gsm_ss_suppressOA   , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19542   { NULL, 0, 0, 0, NULL }
19543 };
19544 
19545 static int
19546 dissect_gsm_ss_ForwardCUG_InfoArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19547   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19548                                    gsm_ss_ForwardCUG_InfoArg_sequence, hf_index, ett_gsm_ss_ForwardCUG_InfoArg);
19549 
19550   return offset;
19551 }
19552 
19553 
19554 static const ber_sequence_t gsm_ss_AccessRegisterCCEntryArg_sequence[] = {
19555   { NULL, 0, 0, 0, NULL }
19556 };
19557 
19558 static int
19559 dissect_gsm_ss_AccessRegisterCCEntryArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19560   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19561                                    gsm_ss_AccessRegisterCCEntryArg_sequence, hf_index, ett_gsm_ss_AccessRegisterCCEntryArg);
19562 
19563   return offset;
19564 }
19565 
19566 
19567 static const ber_sequence_t gsm_ss_CallDeflectionArg_sequence[] = {
19568   { &hf_gsm_ss_deflectedToNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
19569   { &hf_gsm_ss_deflectedToSubaddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_SubaddressString },
19570   { NULL, 0, 0, 0, NULL }
19571 };
19572 
19573 static int
19574 dissect_gsm_ss_CallDeflectionArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19575   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19576                                    gsm_ss_CallDeflectionArg_sequence, hf_index, ett_gsm_ss_CallDeflectionArg);
19577 
19578   return offset;
19579 }
19580 
19581 
19582 static const value_string gsm_ss_UUS_Service_vals[] = {
19583   {   1, "uUS1" },
19584   {   2, "uUS2" },
19585   {   3, "uUS3" },
19586   { 0, NULL }
19587 };
19588 
19589 
19590 static int
19591 dissect_gsm_ss_UUS_Service(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19592   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19593                                   NULL);
19594 
19595   return offset;
19596 }
19597 
19598 
19599 
19600 static int
19601 dissect_gsm_ss_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19602   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
19603 
19604   return offset;
19605 }
19606 
19607 
19608 static const ber_sequence_t gsm_ss_UserUserServiceArg_sequence[] = {
19609   { &hf_gsm_ss_uUS_Service  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_UUS_Service },
19610   { &hf_gsm_ss_uUS_Required , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_BOOLEAN },
19611   { NULL, 0, 0, 0, NULL }
19612 };
19613 
19614 static int
19615 dissect_gsm_ss_UserUserServiceArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19616   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19617                                    gsm_ss_UserUserServiceArg_sequence, hf_index, ett_gsm_ss_UserUserServiceArg);
19618 
19619   return offset;
19620 }
19621 
19622 
19623 static int * const gsm_ss_DeferredLocationExt_bits[] = {
19624   &hf_gsm_ss_DeferredLocationExt_motionEvent,
19625   NULL
19626 };
19627 
19628 static int
19629 dissect_gsm_ss_DeferredLocationExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19630   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
19631                                     gsm_ss_DeferredLocationExt_bits, 1, hf_index, ett_gsm_ss_DeferredLocationExt,
19632                                     NULL);
19633 
19634   return offset;
19635 }
19636 
19637 
19638 static const ber_sequence_t gsm_ss_LocationNotificationArg_sequence[] = {
19639   { &hf_gsm_ss_notificationType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_NotificationToMSUser },
19640   { &hf_gsm_ss_locationType , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LocationType },
19641   { &hf_gsm_ss_lcsClientExternalID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID },
19642   { &hf_gsm_ss_lcsClientName, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSClientName },
19643   { &hf_gsm_ss_lcsRequestorID, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSRequestorID },
19644   { &hf_gsm_ss_lcsCodeword  , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCSCodeword },
19645   { &hf_gsm_ss_lcsServiceTypeID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSServiceTypeID },
19646   { &hf_gsm_ss_deferredLocationExt, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_DeferredLocationExt },
19647   { NULL, 0, 0, 0, NULL }
19648 };
19649 
19650 static int
19651 dissect_gsm_ss_LocationNotificationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19652   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19653                                    gsm_ss_LocationNotificationArg_sequence, hf_index, ett_gsm_ss_LocationNotificationArg);
19654 
19655   return offset;
19656 }
19657 
19658 
19659 static const value_string gsm_ss_VerificationResponse_vals[] = {
19660   {   0, "permissionDenied" },
19661   {   1, "permissionGranted" },
19662   { 0, NULL }
19663 };
19664 
19665 
19666 static int
19667 dissect_gsm_ss_VerificationResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19668   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19669                                   NULL);
19670 
19671   return offset;
19672 }
19673 
19674 
19675 static const ber_sequence_t gsm_ss_LocationNotificationRes_sequence[] = {
19676   { &hf_gsm_ss_verificationResponse, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_VerificationResponse },
19677   { NULL, 0, 0, 0, NULL }
19678 };
19679 
19680 static int
19681 dissect_gsm_ss_LocationNotificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19682   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19683                                    gsm_ss_LocationNotificationRes_sequence, hf_index, ett_gsm_ss_LocationNotificationRes);
19684 
19685   return offset;
19686 }
19687 
19688 
19689 static const value_string gsm_ss_MOLR_Type_vals[] = {
19690   {   0, "locationEstimate" },
19691   {   1, "assistanceData" },
19692   {   2, "deCipheringKeys" },
19693   {   3, "deferredMo-lrTTTPInitiation" },
19694   {   4, "deferredMo-lrSelfLocationInitiation" },
19695   {   5, "deferredMt-lrOrmo-lrTTTPLocationEstimate" },
19696   {   6, "deferredMt-lrOrmo-lrCancellation" },
19697   {   7, "periodicEvent" },
19698   {   8, "enteringAreaEvent" },
19699   {   9, "leavingAreaEvent" },
19700   {  10, "beingInsideAreaEvent" },
19701   {  11, "motionEvent" },
19702   {  12, "maximumIntervalExpirationEvent" },
19703   { 0, NULL }
19704 };
19705 
19706 
19707 static int
19708 dissect_gsm_ss_MOLR_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19709   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19710                                   NULL);
19711 
19712   return offset;
19713 }
19714 
19715 
19716 const value_string gsm_ss_LocationMethod_vals[] = {
19717   {   0, "msBasedEOTD" },
19718   {   1, "msAssistedEOTD" },
19719   {   2, "assistedGPS" },
19720   {   3, "msBasedOTDOA" },
19721   {   4, "assistedGANSS" },
19722   {   5, "assistedGPSandGANSS" },
19723   { 0, NULL }
19724 };
19725 
19726 
19727 int
19728 dissect_gsm_ss_LocationMethod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19729   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19730                                   NULL);
19731 
19732   return offset;
19733 }
19734 
19735 
19736 
19737 static int
19738 dissect_gsm_ss_GPSAssistanceData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19739   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
19740                                        NULL);
19741 
19742   return offset;
19743 }
19744 
19745 
19746 static const value_string gsm_ss_TerminationCause_vals[] = {
19747   {   0, "subscriberTermination" },
19748   {   1, "uETermination" },
19749   { 0, NULL }
19750 };
19751 
19752 
19753 static int
19754 dissect_gsm_ss_TerminationCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19755   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
19756                                   NULL);
19757 
19758   return offset;
19759 }
19760 
19761 
19762 
19763 static int
19764 dissect_gsm_ss_GANSSAssistanceData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19765   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
19766                                        NULL);
19767 
19768   return offset;
19769 }
19770 
19771 
19772 
19773 static int
19774 dissect_gsm_ss_PositioningProtocolPDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19775   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
19776                                        NULL);
19777 
19778   return offset;
19779 }
19780 
19781 
19782 static const ber_sequence_t gsm_ss_MultiplePositioningProtocolPDUs_sequence_of[1] = {
19783   { &hf_gsm_ss_MultiplePositioningProtocolPDUs_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_ss_PositioningProtocolPDU },
19784 };
19785 
19786 static int
19787 dissect_gsm_ss_MultiplePositioningProtocolPDUs(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19788   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
19789                                       gsm_ss_MultiplePositioningProtocolPDUs_sequence_of, hf_index, ett_gsm_ss_MultiplePositioningProtocolPDUs);
19790 
19791   return offset;
19792 }
19793 
19794 
19795 static int * const gsm_ss_Location_Info_bits[] = {
19796   &hf_gsm_ss_Location_Info_locationEstimate,
19797   NULL
19798 };
19799 
19800 static int
19801 dissect_gsm_ss_Location_Info(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19802   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
19803                                     gsm_ss_Location_Info_bits, 1, hf_index, ett_gsm_ss_Location_Info,
19804                                     NULL);
19805 
19806   return offset;
19807 }
19808 
19809 
19810 static const ber_sequence_t gsm_ss_LCS_MOLRArg_sequence[] = {
19811   { &hf_gsm_ss_molr_Type    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_MOLR_Type },
19812   { &hf_gsm_ss_locationMethod, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_LocationMethod },
19813   { &hf_gsm_ss_lcs_QoS      , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_QoS },
19814   { &hf_gsm_ss_lcsClientExternalID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID },
19815   { &hf_gsm_ss_mlc_Number   , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
19816   { &hf_gsm_ss_gpsAssistanceData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_GPSAssistanceData },
19817   { &hf_gsm_ss_supportedGADShapes, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SupportedGADShapes },
19818   { &hf_gsm_ss_lcsServiceTypeID, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSServiceTypeID },
19819   { &hf_gsm_ss_ageOfLocationInfo, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AgeOfLocationInformation },
19820   { &hf_gsm_ss_locationType , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LocationType },
19821   { &hf_gsm_ss_pseudonymIndicator, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19822   { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
19823   { &hf_gsm_ss_locationEstimate, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
19824   { &hf_gsm_ss_velocityEstimate, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate },
19825   { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
19826   { &hf_gsm_ss_periodicLDRInfo, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PeriodicLDRInfo },
19827   { &hf_gsm_ss_locationUpdateRequest, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19828   { &hf_gsm_ss_sequenceNumber, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SequenceNumber },
19829   { &hf_gsm_ss_terminationCause, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_TerminationCause },
19830   { &hf_gsm_ss_mo_lrShortCircuit, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19831   { &hf_gsm_ss_ganssAssistanceData, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_GANSSAssistanceData },
19832   { &hf_gsm_ss_multiplePositioningProtocolPDUs, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_MultiplePositioningProtocolPDUs },
19833   { &hf_gsm_ss_locationInfo , BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_Location_Info },
19834   { NULL, 0, 0, 0, NULL }
19835 };
19836 
19837 static int
19838 dissect_gsm_ss_LCS_MOLRArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19839   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19840                                    gsm_ss_LCS_MOLRArg_sequence, hf_index, ett_gsm_ss_LCS_MOLRArg);
19841 
19842   return offset;
19843 }
19844 
19845 
19846 
19847 static int
19848 dissect_gsm_ss_DecipheringKeys(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19849   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
19850                                        NULL);
19851 
19852   return offset;
19853 }
19854 
19855 
19856 static const ber_sequence_t gsm_ss_LCS_MOLRRes_sequence[] = {
19857   { &hf_gsm_ss_locationEstimate, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Ext_GeographicalInformation },
19858   { &hf_gsm_ss_decipheringKeys, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_DecipheringKeys },
19859   { &hf_gsm_ss_add_LocationEstimate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Add_GeographicalInformation },
19860   { &hf_gsm_ss_velocityEstimate, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate },
19861   { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
19862   { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
19863   { &hf_gsm_ss_mo_lrShortCircuit, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19864   { &hf_gsm_ss_reportingPLMNList, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ReportingPLMNList },
19865   { NULL, 0, 0, 0, NULL }
19866 };
19867 
19868 static int
19869 dissect_gsm_ss_LCS_MOLRRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19870   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19871                                    gsm_ss_LCS_MOLRRes_sequence, hf_index, ett_gsm_ss_LCS_MOLRRes);
19872 
19873   return offset;
19874 }
19875 
19876 
19877 static const ber_sequence_t gsm_ss_LCS_AreaEventRequestArg_sequence[] = {
19878   { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
19879   { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
19880   { &hf_gsm_ss_deferredLocationEventType, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_DeferredLocationEventType },
19881   { &hf_gsm_ss_areaEventInfo, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_AreaEventInfo },
19882   { NULL, 0, 0, 0, NULL }
19883 };
19884 
19885 static int
19886 dissect_gsm_ss_LCS_AreaEventRequestArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19887   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19888                                    gsm_ss_LCS_AreaEventRequestArg_sequence, hf_index, ett_gsm_ss_LCS_AreaEventRequestArg);
19889 
19890   return offset;
19891 }
19892 
19893 
19894 static const ber_sequence_t gsm_ss_LCS_AreaEventReportArg_sequence[] = {
19895   { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
19896   { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
19897   { NULL, 0, 0, 0, NULL }
19898 };
19899 
19900 static int
19901 dissect_gsm_ss_LCS_AreaEventReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19902   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19903                                    gsm_ss_LCS_AreaEventReportArg_sequence, hf_index, ett_gsm_ss_LCS_AreaEventReportArg);
19904 
19905   return offset;
19906 }
19907 
19908 
19909 static const ber_sequence_t gsm_ss_LCS_AreaEventCancellationArg_sequence[] = {
19910   { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
19911   { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
19912   { NULL, 0, 0, 0, NULL }
19913 };
19914 
19915 static int
19916 dissect_gsm_ss_LCS_AreaEventCancellationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19917   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19918                                    gsm_ss_LCS_AreaEventCancellationArg_sequence, hf_index, ett_gsm_ss_LCS_AreaEventCancellationArg);
19919 
19920   return offset;
19921 }
19922 
19923 
19924 static const ber_sequence_t gsm_ss_LCS_PeriodicLocationRequestArg_sequence[] = {
19925   { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
19926   { &hf_gsm_ss_periodicLDRInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PeriodicLDRInfo },
19927   { &hf_gsm_ss_lcsClientExternalID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_LCSClientExternalID },
19928   { &hf_gsm_ss_qoS          , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_QoS },
19929   { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
19930   { &hf_gsm_ss_mo_lrShortCircuit, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19931   { &hf_gsm_ss_reportingPLMNList, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ReportingPLMNList },
19932   { NULL, 0, 0, 0, NULL }
19933 };
19934 
19935 static int
19936 dissect_gsm_ss_LCS_PeriodicLocationRequestArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19937   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19938                                    gsm_ss_LCS_PeriodicLocationRequestArg_sequence, hf_index, ett_gsm_ss_LCS_PeriodicLocationRequestArg);
19939 
19940   return offset;
19941 }
19942 
19943 
19944 static const ber_sequence_t gsm_ss_LCS_PeriodicLocationRequestRes_sequence[] = {
19945   { &hf_gsm_ss_mo_lrShortCircuit, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_NULL },
19946   { NULL, 0, 0, 0, NULL }
19947 };
19948 
19949 static int
19950 dissect_gsm_ss_LCS_PeriodicLocationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19951   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19952                                    gsm_ss_LCS_PeriodicLocationRequestRes_sequence, hf_index, ett_gsm_ss_LCS_PeriodicLocationRequestRes);
19953 
19954   return offset;
19955 }
19956 
19957 
19958 static const ber_sequence_t gsm_ss_LCS_LocationUpdateArg_sequence[] = {
19959   { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
19960   { &hf_gsm_ss_add_LocationEstimate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_Add_GeographicalInformation },
19961   { &hf_gsm_ss_velocityEstimate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_VelocityEstimate },
19962   { &hf_gsm_ss_sequenceNumber, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_SequenceNumber },
19963   { NULL, 0, 0, 0, NULL }
19964 };
19965 
19966 static int
19967 dissect_gsm_ss_LCS_LocationUpdateArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19968   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19969                                    gsm_ss_LCS_LocationUpdateArg_sequence, hf_index, ett_gsm_ss_LCS_LocationUpdateArg);
19970 
19971   return offset;
19972 }
19973 
19974 
19975 static const ber_sequence_t gsm_ss_LCS_LocationUpdateRes_sequence[] = {
19976   { &hf_gsm_ss_terminationCause, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_TerminationCause },
19977   { NULL, 0, 0, 0, NULL }
19978 };
19979 
19980 static int
19981 dissect_gsm_ss_LCS_LocationUpdateRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19982   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19983                                    gsm_ss_LCS_LocationUpdateRes_sequence, hf_index, ett_gsm_ss_LCS_LocationUpdateRes);
19984 
19985   return offset;
19986 }
19987 
19988 
19989 static const ber_sequence_t gsm_ss_LCS_PeriodicLocationCancellationArg_sequence[] = {
19990   { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
19991   { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
19992   { NULL, 0, 0, 0, NULL }
19993 };
19994 
19995 static int
19996 dissect_gsm_ss_LCS_PeriodicLocationCancellationArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
19997   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
19998                                    gsm_ss_LCS_PeriodicLocationCancellationArg_sequence, hf_index, ett_gsm_ss_LCS_PeriodicLocationCancellationArg);
19999 
20000   return offset;
20001 }
20002 
20003 
20004 static const ber_sequence_t gsm_ss_PeriodicLocation_sequence[] = {
20005   { &hf_gsm_ss_periodicLDRInfo, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_PeriodicLDRInfo },
20006   { NULL, 0, 0, 0, NULL }
20007 };
20008 
20009 static int
20010 dissect_gsm_ss_PeriodicLocation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20011   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20012                                    gsm_ss_PeriodicLocation_sequence, hf_index, ett_gsm_ss_PeriodicLocation);
20013 
20014   return offset;
20015 }
20016 
20017 
20018 static const value_string gsm_ss_AreaType_vals[] = {
20019   {   0, "trackingArea" },
20020   {   1, "ecgi" },
20021   { 0, NULL }
20022 };
20023 
20024 
20025 static int
20026 dissect_gsm_ss_AreaType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20027   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
20028                                   NULL);
20029 
20030   return offset;
20031 }
20032 
20033 
20034 
20035 static int
20036 dissect_gsm_ss_AreaIdentification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20037   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
20038                                        NULL);
20039 
20040   return offset;
20041 }
20042 
20043 
20044 static const ber_sequence_t gsm_ss_Area_sequence[] = {
20045   { &hf_gsm_ss_areaType     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_AreaType },
20046   { &hf_gsm_ss_areaIdentification, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_AreaIdentification },
20047   { NULL, 0, 0, 0, NULL }
20048 };
20049 
20050 static int
20051 dissect_gsm_ss_Area(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20052   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20053                                    gsm_ss_Area_sequence, hf_index, ett_gsm_ss_Area);
20054 
20055   return offset;
20056 }
20057 
20058 
20059 static const ber_sequence_t gsm_ss_AreaList_sequence_of[1] = {
20060   { &hf_gsm_ss_AreaList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_ss_Area },
20061 };
20062 
20063 static int
20064 dissect_gsm_ss_AreaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20065   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
20066                                       gsm_ss_AreaList_sequence_of, hf_index, ett_gsm_ss_AreaList);
20067 
20068   return offset;
20069 }
20070 
20071 
20072 
20073 static int
20074 dissect_gsm_ss_MaximumInterval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20075   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
20076                                                 NULL);
20077 
20078   return offset;
20079 }
20080 
20081 
20082 
20083 static int
20084 dissect_gsm_ss_SamplingInterval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20085   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
20086                                                 NULL);
20087 
20088   return offset;
20089 }
20090 
20091 
20092 
20093 static int
20094 dissect_gsm_ss_Duration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20095   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
20096                                                 NULL);
20097 
20098   return offset;
20099 }
20100 
20101 
20102 static const ber_sequence_t gsm_ss_AreaEventReporting_sequence[] = {
20103   { &hf_gsm_ss_deferredLocationEventType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_DeferredLocationEventType },
20104   { &hf_gsm_ss_areaList     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_ss_AreaList },
20105   { &hf_gsm_ss_occurrenceInfo, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_OccurrenceInfo },
20106   { &hf_gsm_ss_intervalTime , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_IntervalTime },
20107   { &hf_gsm_ss_maximumInterval, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_MaximumInterval },
20108   { &hf_gsm_ss_samplingInterval, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_SamplingInterval },
20109   { &hf_gsm_ss_duration     , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_Duration },
20110   { &hf_gsm_ss_locationInfo , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_Location_Info },
20111   { NULL, 0, 0, 0, NULL }
20112 };
20113 
20114 static int
20115 dissect_gsm_ss_AreaEventReporting(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20116   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20117                                    gsm_ss_AreaEventReporting_sequence, hf_index, ett_gsm_ss_AreaEventReporting);
20118 
20119   return offset;
20120 }
20121 
20122 
20123 
20124 static int
20125 dissect_gsm_ss_LinearDistance(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20126   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
20127                                                 NULL);
20128 
20129   return offset;
20130 }
20131 
20132 
20133 static const ber_sequence_t gsm_ss_MotionEventReporting_sequence[] = {
20134   { &hf_gsm_ss_linearDistance, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_ss_LinearDistance },
20135   { &hf_gsm_ss_occurrenceInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_OccurrenceInfo },
20136   { &hf_gsm_ss_intervalTime , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_IntervalTime },
20137   { &hf_gsm_ss_maximumInterval, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_MaximumInterval },
20138   { &hf_gsm_ss_samplingInterval, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_SamplingInterval },
20139   { &hf_gsm_ss_duration     , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_Duration },
20140   { &hf_gsm_ss_locationInfo , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_Location_Info },
20141   { NULL, 0, 0, 0, NULL }
20142 };
20143 
20144 static int
20145 dissect_gsm_ss_MotionEventReporting(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20146   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20147                                    gsm_ss_MotionEventReporting_sequence, hf_index, ett_gsm_ss_MotionEventReporting);
20148 
20149   return offset;
20150 }
20151 
20152 
20153 static const ber_sequence_t gsm_ss_LCS_PeriodicTriggeredInvokeArg_sequence[] = {
20154   { &hf_gsm_ss_referenceNumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_ReferenceNumber },
20155   { &hf_gsm_ss_h_gmlc_address, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_GSN_Address },
20156   { &hf_gsm_ss_qoS          , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_LCS_QoS },
20157   { &hf_gsm_ss_reportingPLMNList, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_lcs_ReportingPLMNList },
20158   { &hf_gsm_ss_periodicLocation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_PeriodicLocation },
20159   { &hf_gsm_ss_areaEventReporting, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_AreaEventReporting },
20160   { &hf_gsm_ss_motionEventReporting, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ss_MotionEventReporting },
20161   { NULL, 0, 0, 0, NULL }
20162 };
20163 
20164 static int
20165 dissect_gsm_ss_LCS_PeriodicTriggeredInvokeArg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20166   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20167                                    gsm_ss_LCS_PeriodicTriggeredInvokeArg_sequence, hf_index, ett_gsm_ss_LCS_PeriodicTriggeredInvokeArg);
20168 
20169   return offset;
20170 }
20171 
20172 
20173 static const ber_sequence_t gsm_ss_LCS_PeriodicTriggeredInvokeRes_sequence[] = {
20174   { NULL, 0, 0, 0, NULL }
20175 };
20176 
20177 static int
20178 dissect_gsm_ss_LCS_PeriodicTriggeredInvokeRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20179   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20180                                    gsm_ss_LCS_PeriodicTriggeredInvokeRes_sequence, hf_index, ett_gsm_ss_LCS_PeriodicTriggeredInvokeRes);
20181 
20182   return offset;
20183 }
20184 
20185 
20186 /* --- Module SS-Operations --- --- ---                                       */
20187 
20188 
20189 /* --- Module EricssonMAP --- --- ---                                         */
20190 
20191 
20192 
20193 static int
20194 dissect_gsm_map_ericsson_T_locationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20195 #line 1108 "./asn1/gsm_map/gsm_map.cnf"
20196   tvbuff_t *parameter_tvb;
20197   proto_tree *subtree;
20198   guint8 rat;
20199   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
20200                                        &parameter_tvb);
20201 
20202   if (parameter_tvb) {
20203     subtree = proto_item_add_subtree(actx->created_item, ett_gsm_map_ericsson_locationInformation);
20204     rat = tvb_get_guint8(parameter_tvb, 0);
20205     proto_tree_add_uint(subtree, hf_gsm_map_ericsson_locationInformation_rat, parameter_tvb, 0, 1, rat);
20206     switch (rat) {
20207       case 0:
20208         /* GSM */
20209         proto_tree_add_item(subtree, hf_gsm_map_ericsson_locationInformation_lac, parameter_tvb, 1, 2, ENC_BIG_ENDIAN);
20210         proto_tree_add_item(subtree, hf_gsm_map_ericsson_locationInformation_ci, parameter_tvb, 3, 2, ENC_BIG_ENDIAN);
20211         break;
20212       case 1:
20213         /* UMTS */
20214         proto_tree_add_item(subtree, hf_gsm_map_ericsson_locationInformation_lac, parameter_tvb, 1, 2, ENC_BIG_ENDIAN);
20215         proto_tree_add_item(subtree, hf_gsm_map_ericsson_locationInformation_sac, parameter_tvb, 3, 2, ENC_BIG_ENDIAN);
20216         break;
20217       default:
20218         break;
20219     }
20220   }
20221 
20222 
20223 
20224   return offset;
20225 }
20226 
20227 
20228 static const ber_sequence_t gsm_map_ericsson_EnhancedCheckIMEI_Arg_sequence[] = {
20229   { &hf_gsm_map_ericsson_imei, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_IMEI },
20230   { &hf_gsm_map_ericsson_requestedEquipmentInfo, BER_CLASS_UNI, BER_UNI_TAG_BITSTRING, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ms_RequestedEquipmentInfo },
20231   { &hf_gsm_map_ericsson_imsi, BER_CLASS_PRI, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
20232   { &hf_gsm_map_ericsson_locationInformation, BER_CLASS_PRI, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_T_locationInformation },
20233   { &hf_gsm_map_ericsson_extensionContainer, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_gsm_map_ExtensionContainer },
20234   { NULL, 0, 0, 0, NULL }
20235 };
20236 
20237 static int
20238 dissect_gsm_map_ericsson_EnhancedCheckIMEI_Arg(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20239   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20240                                    gsm_map_ericsson_EnhancedCheckIMEI_Arg_sequence, hf_index, ett_gsm_map_ericsson_EnhancedCheckIMEI_Arg);
20241 
20242   return offset;
20243 }
20244 
20245 
20246 
20247 static int
20248 dissect_gsm_map_ericsson_PrivateFeatureCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20249   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
20250                                        NULL);
20251 
20252   return offset;
20253 }
20254 
20255 
20256 
20257 static int
20258 dissect_gsm_map_ericsson_SubscriptionType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20259   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
20260                                        NULL);
20261 
20262   return offset;
20263 }
20264 
20265 
20266 static const ber_sequence_t gsm_map_ericsson_SubscriptionTypeInfo_sequence[] = {
20267   { &hf_gsm_map_ericsson_subscriptionType, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ericsson_SubscriptionType },
20268   { NULL, 0, 0, 0, NULL }
20269 };
20270 
20271 static int
20272 dissect_gsm_map_ericsson_SubscriptionTypeInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20273   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20274                                    gsm_map_ericsson_SubscriptionTypeInfo_sequence, hf_index, ett_gsm_map_ericsson_SubscriptionTypeInfo);
20275 
20276   return offset;
20277 }
20278 
20279 
20280 
20281 static int
20282 dissect_gsm_map_ericsson_INCategoryKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20283   offset = dissect_gsm_map_TBCD_STRING(implicit_tag, tvb, offset, actx, tree, hf_index);
20284 
20285   return offset;
20286 }
20287 
20288 
20289 static const ber_sequence_t gsm_map_ericsson_OickInfo_sequence[] = {
20290   { &hf_gsm_map_ericsson_ss_Status, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_Ext_SS_Status },
20291   { &hf_gsm_map_ericsson_inCategoryKey, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ericsson_INCategoryKey },
20292   { NULL, 0, 0, 0, NULL }
20293 };
20294 
20295 static int
20296 dissect_gsm_map_ericsson_OickInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20297   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20298                                    gsm_map_ericsson_OickInfo_sequence, hf_index, ett_gsm_map_ericsson_OickInfo);
20299 
20300   return offset;
20301 }
20302 
20303 
20304 static const value_string gsm_map_ericsson_PrivateFeatureData_vals[] = {
20305   {   3, "subscriptionTypeInfo" },
20306   {   7, "oickInfo" },
20307   { 0, NULL }
20308 };
20309 
20310 static const ber_choice_t gsm_map_ericsson_PrivateFeatureData_choice[] = {
20311   {   3, &hf_gsm_map_ericsson_subscriptionTypeInfo, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_SubscriptionTypeInfo },
20312   {   7, &hf_gsm_map_ericsson_oickInfo, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_OickInfo },
20313   { 0, NULL, 0, 0, 0, NULL }
20314 };
20315 
20316 static int
20317 dissect_gsm_map_ericsson_PrivateFeatureData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20318   offset = dissect_ber_choice(actx, tree, tvb, offset,
20319                                  gsm_map_ericsson_PrivateFeatureData_choice, hf_index, ett_gsm_map_ericsson_PrivateFeatureData,
20320                                  NULL);
20321 
20322   return offset;
20323 }
20324 
20325 
20326 static const ber_sequence_t gsm_map_ericsson_IsdArgData_sequence[] = {
20327   { &hf_gsm_map_ericsson_privateFeatureCode, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_PrivateFeatureCode },
20328   { &hf_gsm_map_ericsson_privateFeatureData, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ericsson_PrivateFeatureData },
20329   { NULL, 0, 0, 0, NULL }
20330 };
20331 
20332 static int
20333 dissect_gsm_map_ericsson_IsdArgData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20334   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20335                                    gsm_map_ericsson_IsdArgData_sequence, hf_index, ett_gsm_map_ericsson_IsdArgData);
20336 
20337   return offset;
20338 }
20339 
20340 
20341 static const ber_sequence_t gsm_map_ericsson_IsdArgType_sequence_of[1] = {
20342   { &hf_gsm_map_ericsson_IsdArgType_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ericsson_IsdArgData },
20343 };
20344 
20345 static int
20346 dissect_gsm_map_ericsson_IsdArgType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20347   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
20348                                       gsm_map_ericsson_IsdArgType_sequence_of, hf_index, ett_gsm_map_ericsson_IsdArgType);
20349 
20350   return offset;
20351 }
20352 
20353 
20354 static const ber_sequence_t gsm_map_ericsson_IsdResData_sequence[] = {
20355   { &hf_gsm_map_ericsson_supportedPrivateFeature, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_PrivateFeatureCode },
20356   { NULL, 0, 0, 0, NULL }
20357 };
20358 
20359 static int
20360 dissect_gsm_map_ericsson_IsdResData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20361   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20362                                    gsm_map_ericsson_IsdResData_sequence, hf_index, ett_gsm_map_ericsson_IsdResData);
20363 
20364   return offset;
20365 }
20366 
20367 
20368 static const ber_sequence_t gsm_map_ericsson_IsdResType_sequence_of[1] = {
20369   { &hf_gsm_map_ericsson_IsdResType_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ericsson_IsdResData },
20370 };
20371 
20372 static int
20373 dissect_gsm_map_ericsson_IsdResType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20374   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
20375                                       gsm_map_ericsson_IsdResType_sequence_of, hf_index, ett_gsm_map_ericsson_IsdResType);
20376 
20377   return offset;
20378 }
20379 
20380 
20381 static const ber_sequence_t gsm_map_ericsson_DsdArgData_sequence[] = {
20382   { &hf_gsm_map_ericsson_privateFeatureWithdraw, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ericsson_PrivateFeatureCode },
20383   { NULL, 0, 0, 0, NULL }
20384 };
20385 
20386 static int
20387 dissect_gsm_map_ericsson_DsdArgData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20388   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20389                                    gsm_map_ericsson_DsdArgData_sequence, hf_index, ett_gsm_map_ericsson_DsdArgData);
20390 
20391   return offset;
20392 }
20393 
20394 
20395 static const ber_sequence_t gsm_map_ericsson_DsdArgType_sequence_of[1] = {
20396   { &hf_gsm_map_ericsson_DsdArgType_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ericsson_DsdArgData },
20397 };
20398 
20399 static int
20400 dissect_gsm_map_ericsson_DsdArgType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20401   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
20402                                       gsm_map_ericsson_DsdArgType_sequence_of, hf_index, ett_gsm_map_ericsson_DsdArgType);
20403 
20404   return offset;
20405 }
20406 
20407 
20408 static const value_string gsm_map_ericsson_ExtraProtocolId_vals[] = {
20409   {   1, "q763" },
20410   { 0, NULL }
20411 };
20412 
20413 
20414 static int
20415 dissect_gsm_map_ericsson_ExtraProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20416   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
20417                                                 NULL);
20418 
20419   return offset;
20420 }
20421 
20422 
20423 static const ber_sequence_t gsm_map_ericsson_ExtraSignalInfo_U_sequence[] = {
20424   { &hf_gsm_map_ericsson_protocolId, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ericsson_ExtraProtocolId },
20425   { &hf_gsm_map_ericsson_signalInfo, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
20426   { NULL, 0, 0, 0, NULL }
20427 };
20428 
20429 static int
20430 dissect_gsm_map_ericsson_ExtraSignalInfo_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20431   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20432                                    gsm_map_ericsson_ExtraSignalInfo_U_sequence, hf_index, ett_gsm_map_ericsson_ExtraSignalInfo_U);
20433 
20434   return offset;
20435 }
20436 
20437 
20438 
20439 static int
20440 dissect_gsm_map_ericsson_ExtraSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20441   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
20442                                       hf_index, BER_CLASS_PRI, 1, TRUE, dissect_gsm_map_ericsson_ExtraSignalInfo_U);
20443 
20444   return offset;
20445 }
20446 
20447 
20448 static const ber_sequence_t gsm_map_ericsson_SriArgData_sequence[] = {
20449   { &hf_gsm_map_ericsson_privateFeatureCode, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_PrivateFeatureCode },
20450   { &hf_gsm_map_ericsson_extraNetworkInfo, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_ExtraSignalInfo },
20451   { NULL, 0, 0, 0, NULL }
20452 };
20453 
20454 static int
20455 dissect_gsm_map_ericsson_SriArgData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20456   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20457                                    gsm_map_ericsson_SriArgData_sequence, hf_index, ett_gsm_map_ericsson_SriArgData);
20458 
20459   return offset;
20460 }
20461 
20462 
20463 static const ber_sequence_t gsm_map_ericsson_SRIArgType_sequence_of[1] = {
20464   { &hf_gsm_map_ericsson_SRIArgType_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ericsson_SriArgData },
20465 };
20466 
20467 static int
20468 dissect_gsm_map_ericsson_SRIArgType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20469   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
20470                                       gsm_map_ericsson_SRIArgType_sequence_of, hf_index, ett_gsm_map_ericsson_SRIArgType);
20471 
20472   return offset;
20473 }
20474 
20475 
20476 static const ber_sequence_t gsm_map_ericsson_SriResData_sequence[] = {
20477   { &hf_gsm_map_ericsson_privateFeatureCode, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_PrivateFeatureCode },
20478   { &hf_gsm_map_ericsson_inCategoryKey, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_INCategoryKey },
20479   { &hf_gsm_map_ericsson_subscriptionType, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_SubscriptionType },
20480   { NULL, 0, 0, 0, NULL }
20481 };
20482 
20483 static int
20484 dissect_gsm_map_ericsson_SriResData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20485   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20486                                    gsm_map_ericsson_SriResData_sequence, hf_index, ett_gsm_map_ericsson_SriResData);
20487 
20488   return offset;
20489 }
20490 
20491 
20492 static const ber_sequence_t gsm_map_ericsson_SRIResType_sequence_of[1] = {
20493   { &hf_gsm_map_ericsson_SRIResType_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ericsson_SriResData },
20494 };
20495 
20496 static int
20497 dissect_gsm_map_ericsson_SRIResType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20498   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
20499                                       gsm_map_ericsson_SRIResType_sequence_of, hf_index, ett_gsm_map_ericsson_SRIResType);
20500 
20501   return offset;
20502 }
20503 
20504 
20505 static const ber_sequence_t gsm_map_ericsson_PrnArgData_sequence[] = {
20506   { &hf_gsm_map_ericsson_privateFeatureCode, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_PrivateFeatureCode },
20507   { &hf_gsm_map_ericsson_extraNetworkInfo, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_ExtraSignalInfo },
20508   { NULL, 0, 0, 0, NULL }
20509 };
20510 
20511 static int
20512 dissect_gsm_map_ericsson_PrnArgData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20513   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20514                                    gsm_map_ericsson_PrnArgData_sequence, hf_index, ett_gsm_map_ericsson_PrnArgData);
20515 
20516   return offset;
20517 }
20518 
20519 
20520 static const ber_sequence_t gsm_map_ericsson_PrnArgType_sequence_of[1] = {
20521   { &hf_gsm_map_ericsson_PrnArgType_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ericsson_PrnArgData },
20522 };
20523 
20524 static int
20525 dissect_gsm_map_ericsson_PrnArgType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20526   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
20527                                       gsm_map_ericsson_PrnArgType_sequence_of, hf_index, ett_gsm_map_ericsson_PrnArgType);
20528 
20529   return offset;
20530 }
20531 
20532 
20533 static const value_string gsm_map_ericsson_PrivateFeatureUlArgData_vals[] = {
20534   {   3, "adc" },
20535   { 0, NULL }
20536 };
20537 
20538 static const ber_choice_t gsm_map_ericsson_PrivateFeatureUlArgData_choice[] = {
20539   {   3, &hf_gsm_map_ericsson_adc, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMEI },
20540   { 0, NULL, 0, 0, 0, NULL }
20541 };
20542 
20543 static int
20544 dissect_gsm_map_ericsson_PrivateFeatureUlArgData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20545   offset = dissect_ber_choice(actx, tree, tvb, offset,
20546                                  gsm_map_ericsson_PrivateFeatureUlArgData_choice, hf_index, ett_gsm_map_ericsson_PrivateFeatureUlArgData,
20547                                  NULL);
20548 
20549   return offset;
20550 }
20551 
20552 
20553 static const ber_sequence_t gsm_map_ericsson_UlArgData_sequence[] = {
20554   { &hf_gsm_map_ericsson_privateFeatureCode, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_PrivateFeatureCode },
20555   { &hf_gsm_map_ericsson_privateFeatureUlArgData, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_gsm_map_ericsson_PrivateFeatureUlArgData },
20556   { NULL, 0, 0, 0, NULL }
20557 };
20558 
20559 static int
20560 dissect_gsm_map_ericsson_UlArgData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20561   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20562                                    gsm_map_ericsson_UlArgData_sequence, hf_index, ett_gsm_map_ericsson_UlArgData);
20563 
20564   return offset;
20565 }
20566 
20567 
20568 static const ber_sequence_t gsm_map_ericsson_UlArgType_sequence_of[1] = {
20569   { &hf_gsm_map_ericsson_UlArgType_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ericsson_UlArgData },
20570 };
20571 
20572 static int
20573 dissect_gsm_map_ericsson_UlArgType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20574   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
20575                                       gsm_map_ericsson_UlArgType_sequence_of, hf_index, ett_gsm_map_ericsson_UlArgType);
20576 
20577   return offset;
20578 }
20579 
20580 
20581 
20582 static int
20583 dissect_gsm_map_ericsson_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_) {
20584   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
20585 
20586   return offset;
20587 }
20588 
20589 
20590 static const ber_sequence_t gsm_map_ericsson_RdArgType_sequence[] = {
20591   { &hf_gsm_map_ericsson_toBeDecidedOne, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_NULL },
20592   { NULL, 0, 0, 0, NULL }
20593 };
20594 
20595 static int
20596 dissect_gsm_map_ericsson_RdArgType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20597   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20598                                    gsm_map_ericsson_RdArgType_sequence, hf_index, ett_gsm_map_ericsson_RdArgType);
20599 
20600   return offset;
20601 }
20602 
20603 
20604 static const ber_sequence_t gsm_map_ericsson_SaiArgType_sequence[] = {
20605   { &hf_gsm_map_ericsson_msisdn, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_NULL },
20606   { &hf_gsm_map_ericsson_noAuthenVectorsRequested, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_NULL },
20607   { NULL, 0, 0, 0, NULL }
20608 };
20609 
20610 static int
20611 dissect_gsm_map_ericsson_SaiArgType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20612   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20613                                    gsm_map_ericsson_SaiArgType_sequence, hf_index, ett_gsm_map_ericsson_SaiArgType);
20614 
20615   return offset;
20616 }
20617 
20618 
20619 static const ber_sequence_t gsm_map_ericsson_SaiResType_sequence[] = {
20620   { &hf_gsm_map_ericsson_msIsdn, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
20621   { NULL, 0, 0, 0, NULL }
20622 };
20623 
20624 static int
20625 dissect_gsm_map_ericsson_SaiResType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20626   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20627                                    gsm_map_ericsson_SaiResType_sequence, hf_index, ett_gsm_map_ericsson_SaiResType);
20628 
20629   return offset;
20630 }
20631 
20632 
20633 static const ber_sequence_t gsm_map_ericsson_RequestedInfoType_sequence[] = {
20634   { &hf_gsm_map_ericsson_sgsnNumber, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_NULL },
20635   { NULL, 0, 0, 0, NULL }
20636 };
20637 
20638 static int
20639 dissect_gsm_map_ericsson_RequestedInfoType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20640   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20641                                    gsm_map_ericsson_RequestedInfoType_sequence, hf_index, ett_gsm_map_ericsson_RequestedInfoType);
20642 
20643   return offset;
20644 }
20645 
20646 
20647 static const ber_sequence_t gsm_map_ericsson_AtiArgType_sequence[] = {
20648   { &hf_gsm_map_ericsson_requestedInfoType, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_RequestedInfoType },
20649   { NULL, 0, 0, 0, NULL }
20650 };
20651 
20652 static int
20653 dissect_gsm_map_ericsson_AtiArgType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20654   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20655                                    gsm_map_ericsson_AtiArgType_sequence, hf_index, ett_gsm_map_ericsson_AtiArgType);
20656 
20657   return offset;
20658 }
20659 
20660 
20661 static const ber_sequence_t gsm_map_ericsson_AtiResType_sequence[] = {
20662   { &hf_gsm_map_ericsson_toBeDecided, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_NULL },
20663   { NULL, 0, 0, 0, NULL }
20664 };
20665 
20666 static int
20667 dissect_gsm_map_ericsson_AtiResType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20668   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20669                                    gsm_map_ericsson_AtiResType_sequence, hf_index, ett_gsm_map_ericsson_AtiResType);
20670 
20671   return offset;
20672 }
20673 
20674 
20675 static const ber_sequence_t gsm_map_ericsson_AtiArgData_sequence[] = {
20676   { &hf_gsm_map_ericsson_privateFeatureCode, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_PrivateFeatureCode },
20677   { NULL, 0, 0, 0, NULL }
20678 };
20679 
20680 static int
20681 dissect_gsm_map_ericsson_AtiArgData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20682   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20683                                    gsm_map_ericsson_AtiArgData_sequence, hf_index, ett_gsm_map_ericsson_AtiArgData);
20684 
20685   return offset;
20686 }
20687 
20688 
20689 static const ber_sequence_t gsm_map_ericsson_ExtAtiArgType_sequence_of[1] = {
20690   { &hf_gsm_map_ericsson_ExtAtiArgType_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ericsson_AtiArgData },
20691 };
20692 
20693 static int
20694 dissect_gsm_map_ericsson_ExtAtiArgType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20695   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
20696                                       gsm_map_ericsson_ExtAtiArgType_sequence_of, hf_index, ett_gsm_map_ericsson_ExtAtiArgType);
20697 
20698   return offset;
20699 }
20700 
20701 
20702 static const ber_choice_t gsm_map_ericsson_ExtensionType_choice[] = {
20703   {   1, &hf_gsm_map_ericsson_isdArgType, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_IsdArgType },
20704   {   2, &hf_gsm_map_ericsson_isdResType, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_IsdResType },
20705   {   3, &hf_gsm_map_ericsson_dsdArgType, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_DsdArgType },
20706   {   4, &hf_gsm_map_ericsson_sriArgType, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_SRIArgType },
20707   {   5, &hf_gsm_map_ericsson_sriResType, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_SRIResType },
20708   {   6, &hf_gsm_map_ericsson_prnArgType, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_PrnArgType },
20709   {   7, &hf_gsm_map_ericsson_ulArgType, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_UlArgType },
20710   {   8, &hf_gsm_map_ericsson_rdArgType, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_RdArgType },
20711   {   9, &hf_gsm_map_ericsson_saiArgType, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_SaiArgType },
20712   {  10, &hf_gsm_map_ericsson_saiResType, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_SaiResType },
20713   {  11, &hf_gsm_map_ericsson_atiArgType, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_AtiArgType },
20714   {  12, &hf_gsm_map_ericsson_atiResType, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_AtiResType },
20715   {  13, &hf_gsm_map_ericsson_extAtiArgType, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_gsm_map_ericsson_ExtAtiArgType },
20716   { 0, NULL, 0, 0, 0, NULL }
20717 };
20718 
20719 static int
20720 dissect_gsm_map_ericsson_ExtensionType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20721   offset = dissect_ber_choice(actx, tree, tvb, offset,
20722                                  gsm_map_ericsson_ExtensionType_choice, hf_index, ett_gsm_map_ericsson_ExtensionType,
20723                                  NULL);
20724 
20725   return offset;
20726 }
20727 
20728 
20729 /* --- Module NokiaMAP-Extensions --- --- ---                                 */
20730 
20731 
20732 
20733 static int
20734 dissect_NokiaMAP_Extensions_RoutingCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20735   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
20736                                        NULL);
20737 
20738   return offset;
20739 }
20740 
20741 
20742 
20743 static int
20744 dissect_NokiaMAP_Extensions_ActiveSS_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_) {
20745   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
20746                                        NULL);
20747 
20748   return offset;
20749 }
20750 
20751 
20752 
20753 static int
20754 dissect_NokiaMAP_Extensions_ExtRoutingCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20755   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
20756                                                 NULL);
20757 
20758   return offset;
20759 }
20760 
20761 
20762 
20763 static int
20764 dissect_NokiaMAP_Extensions_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_) {
20765   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
20766 
20767   return offset;
20768 }
20769 
20770 
20771 
20772 static int
20773 dissect_NokiaMAP_Extensions_MAPserviceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20774   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
20775                                        NULL);
20776 
20777   return offset;
20778 }
20779 
20780 
20781 
20782 static int
20783 dissect_NokiaMAP_Extensions_MAPserviceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20784   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
20785                                        NULL);
20786 
20787   return offset;
20788 }
20789 
20790 
20791 
20792 static int
20793 dissect_NokiaMAP_Extensions_VersionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20794   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
20795                                        NULL);
20796 
20797   return offset;
20798 }
20799 
20800 
20801 
20802 static int
20803 dissect_NokiaMAP_Extensions_MKeyVer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20804   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
20805                                        NULL);
20806 
20807   return offset;
20808 }
20809 
20810 
20811 
20812 static int
20813 dissect_NokiaMAP_Extensions_MmTdpName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20814   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
20815                                        NULL);
20816 
20817   return offset;
20818 }
20819 
20820 
20821 
20822 int
20823 dissect_NokiaMAP_Extensions_ServiceKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20824   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
20825                                                 NULL);
20826 
20827   return offset;
20828 }
20829 
20830 
20831 
20832 static int
20833 dissect_NokiaMAP_Extensions_LocupType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20834   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
20835                                        NULL);
20836 
20837   return offset;
20838 }
20839 
20840 
20841 static const ber_sequence_t NokiaMAP_Extensions_MKey_sequence[] = {
20842   { &hf_NokiaMAP_Extensions_mKeyVer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_MKeyVer },
20843   { &hf_NokiaMAP_Extensions_mmScfAddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
20844   { &hf_NokiaMAP_Extensions_mmTdpName, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_MmTdpName },
20845   { &hf_NokiaMAP_Extensions_serviceKey, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_ServiceKey },
20846   { &hf_NokiaMAP_Extensions_locupType, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_LocupType },
20847   { NULL, 0, 0, 0, NULL }
20848 };
20849 
20850 static int
20851 dissect_NokiaMAP_Extensions_MKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20852   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20853                                    NokiaMAP_Extensions_MKey_sequence, hf_index, ett_NokiaMAP_Extensions_MKey);
20854 
20855   return offset;
20856 }
20857 
20858 
20859 
20860 static int
20861 dissect_NokiaMAP_Extensions_SmsTdpName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20862   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
20863                                        NULL);
20864 
20865   return offset;
20866 }
20867 
20868 
20869 static const ber_sequence_t NokiaMAP_Extensions_SMSKey_sequence[] = {
20870   { &hf_NokiaMAP_Extensions_mmSCPAddress, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
20871   { &hf_NokiaMAP_Extensions_smsTdpName, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_SmsTdpName },
20872   { &hf_NokiaMAP_Extensions_serviceKey, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_ServiceKey },
20873   { &hf_NokiaMAP_Extensions_mmsFlag, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
20874   { NULL, 0, 0, 0, NULL }
20875 };
20876 
20877 static int
20878 dissect_NokiaMAP_Extensions_SMSKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20879   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20880                                    NokiaMAP_Extensions_SMSKey_sequence, hf_index, ett_NokiaMAP_Extensions_SMSKey);
20881 
20882   return offset;
20883 }
20884 
20885 
20886 static const value_string NokiaMAP_Extensions_INKey_vals[] = {
20887   {   2, "mobile-IN-key" },
20888   {   3, "sms-IN-key" },
20889   { 0, NULL }
20890 };
20891 
20892 static const ber_choice_t NokiaMAP_Extensions_INKey_choice[] = {
20893   {   2, &hf_NokiaMAP_Extensions_mobile_IN_key, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_MKey },
20894   {   3, &hf_NokiaMAP_Extensions_sms_IN_key, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_SMSKey },
20895   { 0, NULL, 0, 0, 0, NULL }
20896 };
20897 
20898 static int
20899 dissect_NokiaMAP_Extensions_INKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20900   offset = dissect_ber_choice(actx, tree, tvb, offset,
20901                                  NokiaMAP_Extensions_INKey_choice, hf_index, ett_NokiaMAP_Extensions_INKey,
20902                                  NULL);
20903 
20904   return offset;
20905 }
20906 
20907 
20908 
20909 static int
20910 dissect_NokiaMAP_Extensions_TimeLimit(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20911   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
20912                                                 NULL);
20913 
20914   return offset;
20915 }
20916 
20917 
20918 
20919 static int
20920 dissect_NokiaMAP_Extensions_ActionType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20921   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
20922                                        NULL);
20923 
20924   return offset;
20925 }
20926 
20927 
20928 
20929 static int
20930 dissect_NokiaMAP_Extensions_FraudMaxCount(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20931   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
20932                                                 NULL);
20933 
20934   return offset;
20935 }
20936 
20937 
20938 static const ber_sequence_t NokiaMAP_Extensions_FraudData_sequence[] = {
20939   { &hf_NokiaMAP_Extensions_time, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_TimeLimit },
20940   { &hf_NokiaMAP_Extensions_timeAction, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_ActionType },
20941   { &hf_NokiaMAP_Extensions_maxCount, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_FraudMaxCount },
20942   { &hf_NokiaMAP_Extensions_maxCountAction, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_ActionType },
20943   { NULL, 0, 0, 0, NULL }
20944 };
20945 
20946 static int
20947 dissect_NokiaMAP_Extensions_FraudData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20948   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20949                                    NokiaMAP_Extensions_FraudData_sequence, hf_index, ett_NokiaMAP_Extensions_FraudData);
20950 
20951   return offset;
20952 }
20953 
20954 
20955 static const ber_sequence_t NokiaMAP_Extensions_FraudInfo_sequence[] = {
20956   { &hf_NokiaMAP_Extensions_moc, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_FraudData },
20957   { &hf_NokiaMAP_Extensions_cf, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_FraudData },
20958   { &hf_NokiaMAP_Extensions_ct, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_FraudData },
20959   { NULL, 0, 0, 0, NULL }
20960 };
20961 
20962 static int
20963 dissect_NokiaMAP_Extensions_FraudInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20964   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20965                                    NokiaMAP_Extensions_FraudInfo_sequence, hf_index, ett_NokiaMAP_Extensions_FraudInfo);
20966 
20967   return offset;
20968 }
20969 
20970 
20971 static const ber_sequence_t NokiaMAP_Extensions_ServiceWithInfo_sequence[] = {
20972   { &hf_NokiaMAP_Extensions_serviceCode, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_MAPserviceCode },
20973   { &hf_NokiaMAP_Extensions_versionInfo, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_VersionInfo },
20974   { &hf_NokiaMAP_Extensions_in_key, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_NokiaMAP_Extensions_INKey },
20975   { &hf_NokiaMAP_Extensions_fraudInfo, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_NokiaMAP_Extensions_FraudInfo },
20976   { NULL, 0, 0, 0, NULL }
20977 };
20978 
20979 static int
20980 dissect_NokiaMAP_Extensions_ServiceWithInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20981   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
20982                                    NokiaMAP_Extensions_ServiceWithInfo_sequence, hf_index, ett_NokiaMAP_Extensions_ServiceWithInfo);
20983 
20984   return offset;
20985 }
20986 
20987 
20988 static const ber_sequence_t NokiaMAP_Extensions_ServiceListWithInfo_sequence_of[1] = {
20989   { &hf_NokiaMAP_Extensions_ServiceListWithInfo_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_NokiaMAP_Extensions_ServiceWithInfo },
20990 };
20991 
20992 static int
20993 dissect_NokiaMAP_Extensions_ServiceListWithInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
20994   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
20995                                       NokiaMAP_Extensions_ServiceListWithInfo_sequence_of, hf_index, ett_NokiaMAP_Extensions_ServiceListWithInfo);
20996 
20997   return offset;
20998 }
20999 
21000 
21001 static const ber_sequence_t NokiaMAP_Extensions_IsdArgExt_U_sequence[] = {
21002   { &hf_NokiaMAP_Extensions_alsLineIndicator, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21003   { &hf_NokiaMAP_Extensions_routingCategory, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_RoutingCategory },
21004   { &hf_NokiaMAP_Extensions_serviceList, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_MAPserviceList },
21005   { &hf_NokiaMAP_Extensions_serv_info_list, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_ServiceListWithInfo },
21006   { &hf_NokiaMAP_Extensions_extRoutingCategory, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_ExtRoutingCategory },
21007   { &hf_NokiaMAP_Extensions_ownMSISDN, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
21008   { NULL, 0, 0, 0, NULL }
21009 };
21010 
21011 static int
21012 dissect_NokiaMAP_Extensions_IsdArgExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21013   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21014                                    NokiaMAP_Extensions_IsdArgExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_IsdArgExt_U);
21015 
21016   return offset;
21017 }
21018 
21019 
21020 
21021 static int
21022 dissect_NokiaMAP_Extensions_IsdArgExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21023   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21024                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_IsdArgExt_U);
21025 
21026   return offset;
21027 }
21028 
21029 
21030 static const ber_sequence_t NokiaMAP_Extensions_DsdArgExt_U_sequence[] = {
21031   { &hf_NokiaMAP_Extensions_alsLineIndicator, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21032   { &hf_NokiaMAP_Extensions_serviceList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_MAPserviceList },
21033   { NULL, 0, 0, 0, NULL }
21034 };
21035 
21036 static int
21037 dissect_NokiaMAP_Extensions_DsdArgExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21038   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21039                                    NokiaMAP_Extensions_DsdArgExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_DsdArgExt_U);
21040 
21041   return offset;
21042 }
21043 
21044 
21045 
21046 static int
21047 dissect_NokiaMAP_Extensions_DsdArgExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21048   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21049                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_DsdArgExt_U);
21050 
21051   return offset;
21052 }
21053 
21054 
21055 static const ber_sequence_t NokiaMAP_Extensions_UlResExt_U_sequence[] = {
21056   { &hf_NokiaMAP_Extensions_mwd_Set, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21057   { NULL, 0, 0, 0, NULL }
21058 };
21059 
21060 static int
21061 dissect_NokiaMAP_Extensions_UlResExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21062   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21063                                    NokiaMAP_Extensions_UlResExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_UlResExt_U);
21064 
21065   return offset;
21066 }
21067 
21068 
21069 
21070 static int
21071 dissect_NokiaMAP_Extensions_UlResExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21072   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21073                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_UlResExt_U);
21074 
21075   return offset;
21076 }
21077 
21078 
21079 
21080 static int
21081 dissect_NokiaMAP_Extensions_InTriggerKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21082   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
21083                                                 NULL);
21084 
21085   return offset;
21086 }
21087 
21088 
21089 
21090 static int
21091 dissect_NokiaMAP_Extensions_PnpIndex(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21092   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21093                                        NULL);
21094 
21095   return offset;
21096 }
21097 
21098 
21099 
21100 static int
21101 dissect_NokiaMAP_Extensions_CallRedirectionIndex(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21102   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
21103                                                 NULL);
21104 
21105   return offset;
21106 }
21107 
21108 
21109 
21110 static int
21111 dissect_NokiaMAP_Extensions_ChargingArea(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21112   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
21113                                                 NULL);
21114 
21115   return offset;
21116 }
21117 
21118 
21119 static const ber_sequence_t NokiaMAP_Extensions_ChargingAreaList_sequence_of[1] = {
21120   { &hf_NokiaMAP_Extensions_ChargingAreaList_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_NokiaMAP_Extensions_ChargingArea },
21121 };
21122 
21123 static int
21124 dissect_NokiaMAP_Extensions_ChargingAreaList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21125   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
21126                                       NokiaMAP_Extensions_ChargingAreaList_sequence_of, hf_index, ett_NokiaMAP_Extensions_ChargingAreaList);
21127 
21128   return offset;
21129 }
21130 
21131 
21132 static const ber_sequence_t NokiaMAP_Extensions_RegionalChargingData_sequence[] = {
21133   { &hf_NokiaMAP_Extensions_chargingAreaList, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_ChargingAreaList },
21134   { NULL, 0, 0, 0, NULL }
21135 };
21136 
21137 static int
21138 dissect_NokiaMAP_Extensions_RegionalChargingData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21139   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21140                                    NokiaMAP_Extensions_RegionalChargingData_sequence, hf_index, ett_NokiaMAP_Extensions_RegionalChargingData);
21141 
21142   return offset;
21143 }
21144 
21145 
21146 static const ber_sequence_t NokiaMAP_Extensions_SS_DataExtension_U_sequence[] = {
21147   { &hf_NokiaMAP_Extensions_inTriggerKey, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_InTriggerKey },
21148   { &hf_NokiaMAP_Extensions_pnpIndex, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_PnpIndex },
21149   { &hf_NokiaMAP_Extensions_callRedirectionIndex, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_CallRedirectionIndex },
21150   { &hf_NokiaMAP_Extensions_regionalChargingData, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_RegionalChargingData },
21151   { NULL, 0, 0, 0, NULL }
21152 };
21153 
21154 static int
21155 dissect_NokiaMAP_Extensions_SS_DataExtension_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21156   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21157                                    NokiaMAP_Extensions_SS_DataExtension_U_sequence, hf_index, ett_NokiaMAP_Extensions_SS_DataExtension_U);
21158 
21159   return offset;
21160 }
21161 
21162 
21163 
21164 static int
21165 dissect_NokiaMAP_Extensions_SS_DataExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21166   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21167                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_SS_DataExtension_U);
21168 
21169   return offset;
21170 }
21171 
21172 
21173 
21174 static int
21175 dissect_NokiaMAP_Extensions_CallingCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21176   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21177                                        NULL);
21178 
21179   return offset;
21180 }
21181 
21182 
21183 
21184 static int
21185 dissect_NokiaMAP_Extensions_InternalServiceIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21186   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21187                                        NULL);
21188 
21189   return offset;
21190 }
21191 
21192 
21193 static const ber_sequence_t NokiaMAP_Extensions_SriExtension_U_sequence[] = {
21194   { &hf_NokiaMAP_Extensions_callForwardingOverride, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21195   { &hf_NokiaMAP_Extensions_in_Capability, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21196   { &hf_NokiaMAP_Extensions_callingCategory, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_CallingCategory },
21197   { &hf_NokiaMAP_Extensions_internalServiceIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_InternalServiceIndicator },
21198   { &hf_NokiaMAP_Extensions_srbtSupportIndicator, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21199   { &hf_NokiaMAP_Extensions_gmscSupportIndicator, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21200   { NULL, 0, 0, 0, NULL }
21201 };
21202 
21203 static int
21204 dissect_NokiaMAP_Extensions_SriExtension_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21205   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21206                                    NokiaMAP_Extensions_SriExtension_U_sequence, hf_index, ett_NokiaMAP_Extensions_SriExtension_U);
21207 
21208   return offset;
21209 }
21210 
21211 
21212 
21213 static int
21214 dissect_NokiaMAP_Extensions_SriExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21215   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21216                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_SriExtension_U);
21217 
21218   return offset;
21219 }
21220 
21221 
21222 static const value_string NokiaMAP_Extensions_ExtraProtocolId_vals[] = {
21223   {   1, "q763" },
21224   { 0, NULL }
21225 };
21226 
21227 
21228 static int
21229 dissect_NokiaMAP_Extensions_ExtraProtocolId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21230   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
21231                                                 NULL);
21232 
21233   return offset;
21234 }
21235 
21236 
21237 static const ber_sequence_t NokiaMAP_Extensions_ExtraSignalInfo_U_sequence[] = {
21238   { &hf_NokiaMAP_Extensions_protocolId, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_NokiaMAP_Extensions_ExtraProtocolId },
21239   { &hf_NokiaMAP_Extensions_signalInfo, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_SignalInfo },
21240   { NULL, 0, 0, 0, NULL }
21241 };
21242 
21243 static int
21244 dissect_NokiaMAP_Extensions_ExtraSignalInfo_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21245   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21246                                    NokiaMAP_Extensions_ExtraSignalInfo_U_sequence, hf_index, ett_NokiaMAP_Extensions_ExtraSignalInfo_U);
21247 
21248   return offset;
21249 }
21250 
21251 
21252 
21253 static int
21254 dissect_NokiaMAP_Extensions_ExtraSignalInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21255   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21256                                       hf_index, BER_CLASS_PRI, 1, TRUE, dissect_NokiaMAP_Extensions_ExtraSignalInfo_U);
21257 
21258   return offset;
21259 }
21260 
21261 
21262 
21263 static int
21264 dissect_NokiaMAP_Extensions_CUG_CallInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21265   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21266                                        NULL);
21267 
21268   return offset;
21269 }
21270 
21271 
21272 
21273 static int
21274 dissect_NokiaMAP_Extensions_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21275   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
21276 
21277   return offset;
21278 }
21279 
21280 
21281 static const ber_sequence_t NokiaMAP_Extensions_Nokia_CUG_Data_sequence[] = {
21282   { &hf_NokiaMAP_Extensions_cug_Interlock, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_CUG_Interlock },
21283   { &hf_NokiaMAP_Extensions_cug_OutgoingAccess, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_BOOLEAN },
21284   { &hf_NokiaMAP_Extensions_cug_CallInfo, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_CUG_CallInfo },
21285   { NULL, 0, 0, 0, NULL }
21286 };
21287 
21288 static int
21289 dissect_NokiaMAP_Extensions_Nokia_CUG_Data(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21290   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21291                                    NokiaMAP_Extensions_Nokia_CUG_Data_sequence, hf_index, ett_NokiaMAP_Extensions_Nokia_CUG_Data);
21292 
21293   return offset;
21294 }
21295 
21296 
21297 
21298 static int
21299 dissect_NokiaMAP_Extensions_LeaId(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21300   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
21301                                                 NULL);
21302 
21303   return offset;
21304 }
21305 
21306 
21307 
21308 static int
21309 dissect_NokiaMAP_Extensions_OlcmTraceReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21310   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21311                                        NULL);
21312 
21313   return offset;
21314 }
21315 
21316 
21317 static const ber_sequence_t NokiaMAP_Extensions_OlcmInfo_sequence[] = {
21318   { &hf_NokiaMAP_Extensions_traceReference, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference },
21319   { &hf_NokiaMAP_Extensions_traceType, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceType },
21320   { &hf_NokiaMAP_Extensions_leaId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_LeaId },
21321   { &hf_NokiaMAP_Extensions_olcmTraceReference, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_OlcmTraceReference },
21322   { NULL, 0, 0, 0, NULL }
21323 };
21324 
21325 static int
21326 dissect_NokiaMAP_Extensions_OlcmInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21327   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21328                                    NokiaMAP_Extensions_OlcmInfo_sequence, hf_index, ett_NokiaMAP_Extensions_OlcmInfo);
21329 
21330   return offset;
21331 }
21332 
21333 
21334 static const ber_sequence_t NokiaMAP_Extensions_OlcmInfoTable_sequence_of[1] = {
21335   { &hf_NokiaMAP_Extensions_OlcmInfoTable_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_NokiaMAP_Extensions_OlcmInfo },
21336 };
21337 
21338 static int
21339 dissect_NokiaMAP_Extensions_OlcmInfoTable(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21340   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
21341                                       NokiaMAP_Extensions_OlcmInfoTable_sequence_of, hf_index, ett_NokiaMAP_Extensions_OlcmInfoTable);
21342 
21343   return offset;
21344 }
21345 
21346 
21347 
21348 static int
21349 dissect_NokiaMAP_Extensions_NoAnswerTimer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21350   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21351                                        NULL);
21352 
21353   return offset;
21354 }
21355 
21356 
21357 static const ber_sequence_t NokiaMAP_Extensions_MemberList_sequence_of[1] = {
21358   { &hf_NokiaMAP_Extensions_MemberList_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_gsm_map_ISDN_AddressString },
21359 };
21360 
21361 static int
21362 dissect_NokiaMAP_Extensions_MemberList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21363   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
21364                                       NokiaMAP_Extensions_MemberList_sequence_of, hf_index, ett_NokiaMAP_Extensions_MemberList);
21365 
21366   return offset;
21367 }
21368 
21369 
21370 
21371 static int
21372 dissect_NokiaMAP_Extensions_AlertingMethod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21373   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21374                                        NULL);
21375 
21376   return offset;
21377 }
21378 
21379 
21380 
21381 static int
21382 dissect_NokiaMAP_Extensions_UserType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21383   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21384                                        NULL);
21385 
21386   return offset;
21387 }
21388 
21389 
21390 static const ber_sequence_t NokiaMAP_Extensions_RgData_sequence[] = {
21391   { &hf_NokiaMAP_Extensions_noAnswerTimer, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NoAnswerTimer },
21392   { &hf_NokiaMAP_Extensions_memberList, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_MemberList },
21393   { &hf_NokiaMAP_Extensions_alertingMethod, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_AlertingMethod },
21394   { &hf_NokiaMAP_Extensions_userType, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_UserType },
21395   { &hf_NokiaMAP_Extensions_divertedToNbr, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
21396   { &hf_NokiaMAP_Extensions_memberOfSuppression, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21397   { &hf_NokiaMAP_Extensions_ringbacktone, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21398   { NULL, 0, 0, 0, NULL }
21399 };
21400 
21401 static int
21402 dissect_NokiaMAP_Extensions_RgData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21403   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21404                                    NokiaMAP_Extensions_RgData_sequence, hf_index, ett_NokiaMAP_Extensions_RgData);
21405 
21406   return offset;
21407 }
21408 
21409 
21410 static const ber_sequence_t NokiaMAP_Extensions_SriResExtension_U_sequence[] = {
21411   { &hf_NokiaMAP_Extensions_inTriggerKey, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_InTriggerKey },
21412   { &hf_NokiaMAP_Extensions_vlrNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
21413   { &hf_NokiaMAP_Extensions_activeSs, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_ActiveSS_List },
21414   { &hf_NokiaMAP_Extensions_traceReference, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference },
21415   { &hf_NokiaMAP_Extensions_traceType, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceType },
21416   { &hf_NokiaMAP_Extensions_omc_Id, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_AddressString },
21417   { &hf_NokiaMAP_Extensions_hotBilling, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_BOOLEAN },
21418   { &hf_NokiaMAP_Extensions_cfoIsDone, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_BOOLEAN },
21419   { &hf_NokiaMAP_Extensions_cfInCug, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_BOOLEAN },
21420   { &hf_NokiaMAP_Extensions_basicService, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_BasicServiceCode },
21421   { &hf_NokiaMAP_Extensions_category, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_Category },
21422   { &hf_NokiaMAP_Extensions_routingCategory, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_RoutingCategory },
21423   { &hf_NokiaMAP_Extensions_pnpIndex, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_PnpIndex },
21424   { &hf_NokiaMAP_Extensions_nokia_CUG, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_Nokia_CUG_Data },
21425   { &hf_NokiaMAP_Extensions_noBarrings, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21426   { &hf_NokiaMAP_Extensions_odb_Data, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ms_ODB_Data },
21427   { &hf_NokiaMAP_Extensions_fraudData, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_FraudData },
21428   { &hf_NokiaMAP_Extensions_extRoutingCategory, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_ExtRoutingCategory },
21429   { &hf_NokiaMAP_Extensions_leaId, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_LeaId },
21430   { &hf_NokiaMAP_Extensions_olcmInfoTable, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_OlcmInfoTable },
21431   { &hf_NokiaMAP_Extensions_callingCategory, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_CallingCategory },
21432   { &hf_NokiaMAP_Extensions_commonMSISDN, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
21433   { &hf_NokiaMAP_Extensions_rgData, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_RgData },
21434   { &hf_NokiaMAP_Extensions_olcmTraceReference, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_OlcmTraceReference },
21435   { NULL, 0, 0, 0, NULL }
21436 };
21437 
21438 static int
21439 dissect_NokiaMAP_Extensions_SriResExtension_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21440   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21441                                    NokiaMAP_Extensions_SriResExtension_U_sequence, hf_index, ett_NokiaMAP_Extensions_SriResExtension_U);
21442 
21443   return offset;
21444 }
21445 
21446 
21447 
21448 static int
21449 dissect_NokiaMAP_Extensions_SriResExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21450   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21451                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_SriResExtension_U);
21452 
21453   return offset;
21454 }
21455 
21456 
21457 
21458 static int
21459 dissect_NokiaMAP_Extensions_OCTET_STRING_SIZE_1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21460   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21461                                        NULL);
21462 
21463   return offset;
21464 }
21465 
21466 
21467 static const ber_sequence_t NokiaMAP_Extensions_CanLocArgExt_U_sequence[] = {
21468   { &hf_NokiaMAP_Extensions_termination, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_OCTET_STRING_SIZE_1 },
21469   { NULL, 0, 0, 0, NULL }
21470 };
21471 
21472 static int
21473 dissect_NokiaMAP_Extensions_CanLocArgExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21474   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21475                                    NokiaMAP_Extensions_CanLocArgExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_CanLocArgExt_U);
21476 
21477   return offset;
21478 }
21479 
21480 
21481 
21482 static int
21483 dissect_NokiaMAP_Extensions_CanLocArgExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21484   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21485                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_CanLocArgExt_U);
21486 
21487   return offset;
21488 }
21489 
21490 
21491 static const ber_sequence_t NokiaMAP_Extensions_ATMargExt_U_sequence[] = {
21492   { &hf_NokiaMAP_Extensions_traceReference, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceReference },
21493   { &hf_NokiaMAP_Extensions_traceType, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceType },
21494   { &hf_NokiaMAP_Extensions_leaId, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_LeaId },
21495   { &hf_NokiaMAP_Extensions_olcmInfoTable, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_OlcmInfoTable },
21496   { &hf_NokiaMAP_Extensions_olcmTraceReference, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_OlcmTraceReference },
21497   { NULL, 0, 0, 0, NULL }
21498 };
21499 
21500 static int
21501 dissect_NokiaMAP_Extensions_ATMargExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21502   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21503                                    NokiaMAP_Extensions_ATMargExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_ATMargExt_U);
21504 
21505   return offset;
21506 }
21507 
21508 
21509 
21510 static int
21511 dissect_NokiaMAP_Extensions_ATMargExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21512   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21513                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_ATMargExt_U);
21514 
21515   return offset;
21516 }
21517 
21518 
21519 static const ber_sequence_t NokiaMAP_Extensions_ATMresExt_U_sequence[] = {
21520   { &hf_NokiaMAP_Extensions_olcmActive, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21521   { NULL, 0, 0, 0, NULL }
21522 };
21523 
21524 static int
21525 dissect_NokiaMAP_Extensions_ATMresExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21526   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21527                                    NokiaMAP_Extensions_ATMresExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_ATMresExt_U);
21528 
21529   return offset;
21530 }
21531 
21532 
21533 
21534 static int
21535 dissect_NokiaMAP_Extensions_ATMresExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21536   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21537                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_ATMresExt_U);
21538 
21539   return offset;
21540 }
21541 
21542 
21543 static const ber_sequence_t NokiaMAP_Extensions_DTMargExt_U_sequence[] = {
21544   { &hf_NokiaMAP_Extensions_traceType, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_om_TraceType },
21545   { &hf_NokiaMAP_Extensions_leaId, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_LeaId },
21546   { &hf_NokiaMAP_Extensions_olcmTraceReference, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_OlcmTraceReference },
21547   { NULL, 0, 0, 0, NULL }
21548 };
21549 
21550 static int
21551 dissect_NokiaMAP_Extensions_DTMargExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21552   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21553                                    NokiaMAP_Extensions_DTMargExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_DTMargExt_U);
21554 
21555   return offset;
21556 }
21557 
21558 
21559 
21560 static int
21561 dissect_NokiaMAP_Extensions_DTMargExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21562   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21563                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_DTMargExt_U);
21564 
21565   return offset;
21566 }
21567 
21568 
21569 
21570 static int
21571 dissect_NokiaMAP_Extensions_NumberPorted_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21572   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
21573                                   NULL);
21574 
21575   return offset;
21576 }
21577 
21578 
21579 
21580 static int
21581 dissect_NokiaMAP_Extensions_NumberPorted(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21582   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21583                                       hf_index, BER_CLASS_PRI, 20, TRUE, dissect_NokiaMAP_Extensions_NumberPorted_U);
21584 
21585   return offset;
21586 }
21587 
21588 
21589 
21590 static int
21591 dissect_NokiaMAP_Extensions_MapOptFields(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21592   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21593                                        NULL);
21594 
21595   return offset;
21596 }
21597 
21598 
21599 
21600 static int
21601 dissect_NokiaMAP_Extensions_CodecExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21602   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21603                                        NULL);
21604 
21605   return offset;
21606 }
21607 
21608 
21609 static const ber_sequence_t NokiaMAP_Extensions_CodecListExt_sequence_of[1] = {
21610   { &hf_NokiaMAP_Extensions_CodecListExt_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_NokiaMAP_Extensions_CodecExt },
21611 };
21612 
21613 static int
21614 dissect_NokiaMAP_Extensions_CodecListExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21615   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
21616                                       NokiaMAP_Extensions_CodecListExt_sequence_of, hf_index, ett_NokiaMAP_Extensions_CodecListExt);
21617 
21618   return offset;
21619 }
21620 
21621 
21622 
21623 static int
21624 dissect_NokiaMAP_Extensions_Modes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21625   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21626                                        NULL);
21627 
21628   return offset;
21629 }
21630 
21631 
21632 static const ber_sequence_t NokiaMAP_Extensions_SelectedCodec_sequence[] = {
21633   { &hf_NokiaMAP_Extensions_codec, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_CodecExt },
21634   { &hf_NokiaMAP_Extensions_modes, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_Modes },
21635   { NULL, 0, 0, 0, NULL }
21636 };
21637 
21638 static int
21639 dissect_NokiaMAP_Extensions_SelectedCodec(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21640   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21641                                    NokiaMAP_Extensions_SelectedCodec_sequence, hf_index, ett_NokiaMAP_Extensions_SelectedCodec);
21642 
21643   return offset;
21644 }
21645 
21646 
21647 
21648 static int
21649 dissect_NokiaMAP_Extensions_OCTET_STRING_SIZE_5_17(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21650   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21651                                        NULL);
21652 
21653   return offset;
21654 }
21655 
21656 
21657 
21658 static int
21659 dissect_NokiaMAP_Extensions_IPPortNb(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21660   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
21661                                                 NULL);
21662 
21663   return offset;
21664 }
21665 
21666 
21667 static const ber_sequence_t NokiaMAP_Extensions_HO_Ext_U_sequence[] = {
21668   { &hf_NokiaMAP_Extensions_map_Opt, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_MapOptFields },
21669   { &hf_NokiaMAP_Extensions_codec_List, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_CodecListExt },
21670   { &hf_NokiaMAP_Extensions_selected_Codec, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_SelectedCodec },
21671   { &hf_NokiaMAP_Extensions_uma_access, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21672   { &hf_NokiaMAP_Extensions_uma_ip_address, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_OCTET_STRING_SIZE_5_17 },
21673   { &hf_NokiaMAP_Extensions_uma_ip_port_nb, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_IPPortNb },
21674   { NULL, 0, 0, 0, NULL }
21675 };
21676 
21677 static int
21678 dissect_NokiaMAP_Extensions_HO_Ext_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21679   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21680                                    NokiaMAP_Extensions_HO_Ext_U_sequence, hf_index, ett_NokiaMAP_Extensions_HO_Ext_U);
21681 
21682   return offset;
21683 }
21684 
21685 
21686 
21687 static int
21688 dissect_NokiaMAP_Extensions_HO_Ext(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21689   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21690                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_HO_Ext_U);
21691 
21692   return offset;
21693 }
21694 
21695 
21696 static const ber_sequence_t NokiaMAP_Extensions_AbsentSubscriberExt_U_sequence[] = {
21697   { &hf_NokiaMAP_Extensions_olcmInfoTable, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_OlcmInfoTable },
21698   { &hf_NokiaMAP_Extensions_imsi, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
21699   { NULL, 0, 0, 0, NULL }
21700 };
21701 
21702 static int
21703 dissect_NokiaMAP_Extensions_AbsentSubscriberExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21704   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21705                                    NokiaMAP_Extensions_AbsentSubscriberExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_AbsentSubscriberExt_U);
21706 
21707   return offset;
21708 }
21709 
21710 
21711 
21712 static int
21713 dissect_NokiaMAP_Extensions_AbsentSubscriberExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21714   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21715                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_AbsentSubscriberExt_U);
21716 
21717   return offset;
21718 }
21719 
21720 
21721 static const ber_sequence_t NokiaMAP_Extensions_ErrOlcmInfoTableExt_U_sequence[] = {
21722   { &hf_NokiaMAP_Extensions_olcmInfoTable, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_OlcmInfoTable },
21723   { &hf_NokiaMAP_Extensions_imsi, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
21724   { NULL, 0, 0, 0, NULL }
21725 };
21726 
21727 static int
21728 dissect_NokiaMAP_Extensions_ErrOlcmInfoTableExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21729   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21730                                    NokiaMAP_Extensions_ErrOlcmInfoTableExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_ErrOlcmInfoTableExt_U);
21731 
21732   return offset;
21733 }
21734 
21735 
21736 
21737 static int
21738 dissect_NokiaMAP_Extensions_ErrOlcmInfoTableExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21739   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21740                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_ErrOlcmInfoTableExt_U);
21741 
21742   return offset;
21743 }
21744 
21745 
21746 static const ber_sequence_t NokiaMAP_Extensions_RoutingCategoryExt_U_sequence[] = {
21747   { &hf_NokiaMAP_Extensions_routingCategory, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_RoutingCategory },
21748   { &hf_NokiaMAP_Extensions_extRoutingCategory, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_ExtRoutingCategory },
21749   { NULL, 0, 0, 0, NULL }
21750 };
21751 
21752 static int
21753 dissect_NokiaMAP_Extensions_RoutingCategoryExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21754   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21755                                    NokiaMAP_Extensions_RoutingCategoryExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_RoutingCategoryExt_U);
21756 
21757   return offset;
21758 }
21759 
21760 
21761 
21762 static int
21763 dissect_NokiaMAP_Extensions_RoutingCategoryExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21764   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21765                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_RoutingCategoryExt_U);
21766 
21767   return offset;
21768 }
21769 
21770 
21771 
21772 static int
21773 dissect_NokiaMAP_Extensions_CfuSMSCounter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21774   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21775                                        NULL);
21776 
21777   return offset;
21778 }
21779 
21780 
21781 static const ber_sequence_t NokiaMAP_Extensions_SriForSMArgExt_U_sequence[] = {
21782   { &hf_NokiaMAP_Extensions_cfuSMSCounter, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_CfuSMSCounter },
21783   { &hf_NokiaMAP_Extensions_cfusmcfo, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21784   { &hf_NokiaMAP_Extensions_memberInterrogate, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21785   { NULL, 0, 0, 0, NULL }
21786 };
21787 
21788 static int
21789 dissect_NokiaMAP_Extensions_SriForSMArgExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21790   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21791                                    NokiaMAP_Extensions_SriForSMArgExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_SriForSMArgExt_U);
21792 
21793   return offset;
21794 }
21795 
21796 
21797 
21798 static int
21799 dissect_NokiaMAP_Extensions_SriForSMArgExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21800   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21801                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_SriForSMArgExt_U);
21802 
21803   return offset;
21804 }
21805 
21806 
21807 static const ber_sequence_t NokiaMAP_Extensions_ReportSMDelStatArgExt_U_sequence[] = {
21808   { &hf_NokiaMAP_Extensions_cfuSMSCounter, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_CfuSMSCounter },
21809   { &hf_NokiaMAP_Extensions_cfusmcfo, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21810   { NULL, 0, 0, 0, NULL }
21811 };
21812 
21813 static int
21814 dissect_NokiaMAP_Extensions_ReportSMDelStatArgExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21815   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21816                                    NokiaMAP_Extensions_ReportSMDelStatArgExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_ReportSMDelStatArgExt_U);
21817 
21818   return offset;
21819 }
21820 
21821 
21822 
21823 static int
21824 dissect_NokiaMAP_Extensions_ReportSMDelStatArgExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21825   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21826                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_ReportSMDelStatArgExt_U);
21827 
21828   return offset;
21829 }
21830 
21831 
21832 
21833 static int
21834 dissect_NokiaMAP_Extensions_LocationAreaCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21835   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
21836                                        NULL);
21837 
21838   return offset;
21839 }
21840 
21841 
21842 static const ber_sequence_t NokiaMAP_Extensions_MO_ForwardSM_ArgExt_U_sequence[] = {
21843   { &hf_NokiaMAP_Extensions_locationAreaCode, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_LocationAreaCode },
21844   { &hf_NokiaMAP_Extensions_cellId, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength },
21845   { NULL, 0, 0, 0, NULL }
21846 };
21847 
21848 static int
21849 dissect_NokiaMAP_Extensions_MO_ForwardSM_ArgExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21850   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21851                                    NokiaMAP_Extensions_MO_ForwardSM_ArgExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_MO_ForwardSM_ArgExt_U);
21852 
21853   return offset;
21854 }
21855 
21856 
21857 
21858 static int
21859 dissect_NokiaMAP_Extensions_MO_ForwardSM_ArgExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21860   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21861                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_MO_ForwardSM_ArgExt_U);
21862 
21863   return offset;
21864 }
21865 
21866 
21867 static const ber_sequence_t NokiaMAP_Extensions_UdlArgExt_U_sequence[] = {
21868   { &hf_NokiaMAP_Extensions_lai, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_LAIFixedLength },
21869   { &hf_NokiaMAP_Extensions_sendImmResp, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_NULL },
21870   { NULL, 0, 0, 0, NULL }
21871 };
21872 
21873 static int
21874 dissect_NokiaMAP_Extensions_UdlArgExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21875   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21876                                    NokiaMAP_Extensions_UdlArgExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_UdlArgExt_U);
21877 
21878   return offset;
21879 }
21880 
21881 
21882 
21883 static int
21884 dissect_NokiaMAP_Extensions_UdlArgExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21885   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21886                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_UdlArgExt_U);
21887 
21888   return offset;
21889 }
21890 
21891 
21892 static const ber_sequence_t NokiaMAP_Extensions_RoamNotAllowedExt_U_sequence[] = {
21893   { &hf_NokiaMAP_Extensions_rejectCause, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_NokiaMAP_Extensions_OCTET_STRING_SIZE_1 },
21894   { NULL, 0, 0, 0, NULL }
21895 };
21896 
21897 static int
21898 dissect_NokiaMAP_Extensions_RoamNotAllowedExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21899   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21900                                    NokiaMAP_Extensions_RoamNotAllowedExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_RoamNotAllowedExt_U);
21901 
21902   return offset;
21903 }
21904 
21905 
21906 
21907 static int
21908 dissect_NokiaMAP_Extensions_RoamNotAllowedExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21909   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21910                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_RoamNotAllowedExt_U);
21911 
21912   return offset;
21913 }
21914 
21915 
21916 static const ber_sequence_t NokiaMAP_Extensions_AnyTimeModArgExt_U_sequence[] = {
21917   { &hf_NokiaMAP_Extensions_senderMSISDN, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_ISDN_AddressString },
21918   { NULL, 0, 0, 0, NULL }
21919 };
21920 
21921 static int
21922 dissect_NokiaMAP_Extensions_AnyTimeModArgExt_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21923   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21924                                    NokiaMAP_Extensions_AnyTimeModArgExt_U_sequence, hf_index, ett_NokiaMAP_Extensions_AnyTimeModArgExt_U);
21925 
21926   return offset;
21927 }
21928 
21929 
21930 
21931 static int
21932 dissect_NokiaMAP_Extensions_AnyTimeModArgExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21933   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
21934                                       hf_index, BER_CLASS_PRI, 0, TRUE, dissect_NokiaMAP_Extensions_AnyTimeModArgExt_U);
21935 
21936   return offset;
21937 }
21938 
21939 
21940 static const value_string NokiaMAP_Extensions_Access_vals[] = {
21941   {   1, "gsm" },
21942   {   2, "geran" },
21943   {   3, "utran" },
21944   { 0, NULL }
21945 };
21946 
21947 
21948 static int
21949 dissect_NokiaMAP_Extensions_Access(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21950   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
21951                                   NULL);
21952 
21953   return offset;
21954 }
21955 
21956 
21957 
21958 static int
21959 dissect_NokiaMAP_Extensions_Version(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21960   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
21961                                                 NULL);
21962 
21963   return offset;
21964 }
21965 
21966 
21967 static const ber_sequence_t NokiaMAP_Extensions_AccessTypeExt_sequence[] = {
21968   { &hf_NokiaMAP_Extensions_access, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_NokiaMAP_Extensions_Access },
21969   { &hf_NokiaMAP_Extensions_version, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_NokiaMAP_Extensions_Version },
21970   { NULL, 0, 0, 0, NULL }
21971 };
21972 
21973 static int
21974 dissect_NokiaMAP_Extensions_AccessTypeExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21975   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
21976                                    NokiaMAP_Extensions_AccessTypeExt_sequence, hf_index, ett_NokiaMAP_Extensions_AccessTypeExt);
21977 
21978   return offset;
21979 }
21980 
21981 
21982 static const ber_sequence_t NokiaMAP_Extensions_AccessSubscriptionListExt_sequence_of[1] = {
21983   { &hf_NokiaMAP_Extensions_AccessSubscriptionListExt_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_NokiaMAP_Extensions_Access },
21984 };
21985 
21986 static int
21987 dissect_NokiaMAP_Extensions_AccessSubscriptionListExt(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
21988   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
21989                                       NokiaMAP_Extensions_AccessSubscriptionListExt_sequence_of, hf_index, ett_NokiaMAP_Extensions_AccessSubscriptionListExt);
21990 
21991   return offset;
21992 }
21993 
21994 
21995 static int * const NokiaMAP_Extensions_AllowedServiceData_bits[] = {
21996   &hf_NokiaMAP_Extensions_AllowedServiceData_amr_wb_allowed,
21997   NULL
21998 };
21999 
22000 static int
22001 dissect_NokiaMAP_Extensions_AllowedServiceData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
22002   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
22003                                     NokiaMAP_Extensions_AllowedServiceData_bits, 1, hf_index, ett_NokiaMAP_Extensions_AllowedServiceData,
22004                                     NULL);
22005 
22006   return offset;
22007 }
22008 
22009 
22010 /*--- End of included file: packet-gsm_map-fn.c ---*/
22011 #line 1044 "./asn1/gsm_map/packet-gsm_map-template.c"
22012 
22013 /* Specific translation for MAP V3 */
22014 const value_string gsm_map_V1V2_opr_code_strings[] = {
22015   {  44, "forwardSM" },
22016   {  45, "sendRoutingInfoForSM" },
22017   {  46, "forwardSM" },
22018   { 0, NULL }
22019 };
22020 /* Generic translation for MAP operation */
22021 const value_string gsm_map_opr_code_strings[] = {
22022 
22023 /*--- Included file: packet-gsm_map-table.c ---*/
22024 #line 1 "./asn1/gsm_map/packet-gsm_map-table.c"
22025 
22026 /* --- Module Remote-Operations-Information-Objects --- --- ---               */
22027 
22028 /* Unknown or empty loop list OPERATION */
22029 
22030 /* --- Module MobileDomainDefinitions --- --- ---                             */
22031 
22032 /* Unknown or empty loop list OPERATION */
22033 
22034 /* --- Module MAP-ApplicationContexts --- --- ---                             */
22035 
22036 /* Unknown or empty loop list OPERATION */
22037 
22038 /* --- Module MAP-SS-Code --- --- ---                                         */
22039 
22040 /* Unknown or empty loop list OPERATION */
22041 
22042 /* --- Module MAP-BS-Code --- --- ---                                         */
22043 
22044 /* Unknown or empty loop list OPERATION */
22045 
22046 /* --- Module MAP-TS-Code --- --- ---                                         */
22047 
22048 /* Unknown or empty loop list OPERATION */
22049 
22050 /* --- Module MAP-ExtensionDataTypes --- --- ---                              */
22051 
22052 /* Unknown or empty loop list OPERATION */
22053 
22054 /* --- Module MAP-CommonDataTypes --- --- ---                                 */
22055 
22056 /* Unknown or empty loop list OPERATION */
22057 
22058 /* --- Module MAP-SS-DataTypes --- --- ---                                    */
22059 
22060 /* Unknown or empty loop list OPERATION */
22061 
22062 /* --- Module MAP-ER-DataTypes --- --- ---                                    */
22063 
22064 /* Unknown or empty loop list OPERATION */
22065 
22066 /* --- Module MAP-SM-DataTypes --- --- ---                                    */
22067 
22068 /* Unknown or empty loop list OPERATION */
22069 
22070 /* --- Module MAP-OM-DataTypes --- --- ---                                    */
22071 
22072 /* Unknown or empty loop list OPERATION */
22073 
22074 /* --- Module MAP-MS-DataTypes --- --- ---                                    */
22075 
22076 /* Unknown or empty loop list OPERATION */
22077 
22078 /* --- Module MAP-CH-DataTypes --- --- ---                                    */
22079 
22080 /* Unknown or empty loop list OPERATION */
22081 
22082 /* --- Module MAP-LCS-DataTypes --- --- ---                                   */
22083 
22084 /* Unknown or empty loop list OPERATION */
22085 
22086 /* --- Module MAP-GR-DataTypes --- --- ---                                    */
22087 
22088 /* Unknown or empty loop list OPERATION */
22089 
22090 /* --- Module MAP-DialogueInformation --- --- ---                             */
22091 
22092 /* Unknown or empty loop list OPERATION */
22093 
22094 /* --- Module MAP-LocationServiceOperations --- --- ---                       */
22095 
22096 	{ 85, "sendRoutingInfoForLCS" },
22097 	{ 83, "provideSubscriberLocation" },
22098 	{ 86, "subscriberLocationReport" },
22099 
22100 /* --- Module MAP-Group-Call-Operations --- --- ---                           */
22101 
22102 	{ 39, "prepareGroupCall" },
22103 	{ 40, "sendGroupCallEndSignal" },
22104 	{ 41, "processGroupCallSignalling" },
22105 	{ 42, "forwardGroupCallSignalling" },
22106 	{ 84, "sendGroupCallInfo" },
22107 
22108 /* --- Module MAP-ShortMessageServiceOperations --- --- ---                   */
22109 
22110 	{ 45, "sendRoutingInfoForSM" },
22111 	{ 46, "mo_ForwardSM" },
22112 	{ 44, "mt_ForwardSM" },
22113 	{ 47, "reportSM_DeliveryStatus" },
22114 	{ 64, "alertServiceCentre" },
22115 	{ 63, "informServiceCentre" },
22116 	{ 66, "readyForSM" },
22117 	{ 21, "mt_ForwardSM_VGCS" },
22118 
22119 /* --- Module MAP-SupplementaryServiceOperations --- --- ---                  */
22120 
22121 	{ 10, "registerSS" },
22122 	{ 11, "eraseSS" },
22123 	{ 12, "activateSS" },
22124 	{ 13, "deactivateSS" },
22125 	{ 14, "interrogateSS" },
22126 	{ 59, "processUnstructuredSS_Request" },
22127 	{ 60, "unstructuredSS_Request" },
22128 	{ 61, "unstructuredSS_Notify" },
22129 	{ 17, "registerPassword" },
22130 	{ 18, "getPassword" },
22131 	{ 72, "ss_InvocationNotification" },
22132 	{ 76, "registerCC_Entry" },
22133 	{ 77, "eraseCC_Entry" },
22134 
22135 /* --- Module MAP-CallHandlingOperations --- --- ---                          */
22136 
22137 	{ 22, "sendRoutingInfo" },
22138 	{ 4, "provideRoamingNumber" },
22139 	{ 6, "resumeCallHandling" },
22140 	{ 73, "setReportingState" },
22141 	{ 74, "statusReport" },
22142 	{ 75, "remoteUserFree" },
22143 	{ 87, "ist_Alert" },
22144 	{ 88, "ist_Command" },
22145 	{ 20, "releaseResources" },
22146 
22147 /* --- Module MAP-OperationAndMaintenanceOperations --- --- ---               */
22148 
22149 	{ 50, "activateTraceMode" },
22150 	{ 51, "deactivateTraceMode" },
22151 	{ 58, "sendIMSI" },
22152 
22153 /* --- Module MAP-MobileServiceOperations --- --- ---                         */
22154 
22155 	{ 2, "updateLocation" },
22156 	{ 3, "cancelLocation" },
22157 	{ 67, "purgeMS" },
22158 	{ 55, "sendIdentification" },
22159 	{ 23, "updateGprsLocation" },
22160 	{ 70, "provideSubscriberInfo" },
22161 	{ 71, "anyTimeInterrogation" },
22162 	{ 62, "anyTimeSubscriptionInterrogation" },
22163 	{ 65, "anyTimeModification" },
22164 	{ 5, "noteSubscriberDataModified" },
22165 	{ 68, "prepareHandover" },
22166 	{ 29, "sendEndSignal" },
22167 	{ 33, "processAccessSignalling" },
22168 	{ 34, "forwardAccessSignalling" },
22169 	{ 69, "prepareSubsequentHandover" },
22170 	{ 56, "sendAuthenticationInfo" },
22171 	{ 15, "authenticationFailureReport" },
22172 	{ 43, "checkIMEI" },
22173 	{ 7, "insertSubscriberData" },
22174 	{ 8, "deleteSubscriberData" },
22175 	{ 37, "reset" },
22176 	{ 38, "forwardCheckSS_Indication" },
22177 	{ 57, "restoreData" },
22178 	{ 24, "sendRoutingInfoForGprs" },
22179 	{ 25, "failureReport" },
22180 	{ 26, "noteMsPresentForGprs" },
22181 	{ 89, "noteMM_Event" },
22182 	{ 53, "updateVcsgLocation" },
22183 	{ 36, "cancelVcsgLocation" },
22184 
22185 /* --- Module MAP-Errors --- --- ---                                          */
22186 
22187 /* Unknown or empty loop list OPERATION */
22188 
22189 /* --- Module MAP-Protocol --- --- ---                                        */
22190 
22191 /* Unknown or empty loop list OPERATION */
22192 
22193 /* --- Module DummyMAP --- --- ---                                            */
22194 
22195 	{ 9, "sendParameters" },
22196 
22197 /* --- Module SS-DataTypes --- --- ---                                        */
22198 
22199 /* Unknown or empty loop list OPERATION */
22200 
22201 /* --- Module SS-Operations --- --- ---                                       */
22202 
22203 	{ 19, "processUnstructuredSS_Data" },
22204 	{ 16, "notifySS" },
22205 	{ 125, "forwardChargeAdvice" },
22206 	{ 120, "forwardCUG_Info" },
22207 	{ 124, "buildMPTY" },
22208 	{ 123, "holdMPTY" },
22209 	{ 122, "retrieveMPTY" },
22210 	{ 121, "splitMPTY" },
22211 	{ 126, "explicitCT" },
22212 	{ 119, "accessRegisterCCEntry" },
22213 	{ 117, "callDeflection" },
22214 	{ 118, "userUserService" },
22215 	{ 116, "lcs_LocationNotification" },
22216 	{ 115, "lcs_MOLR" },
22217 	{ 114, "lcs_AreaEventRequest" },
22218 	{ 113, "lcs_AreaEventReport" },
22219 	{ 112, "lcs_AreaEventCancellation" },
22220 	{ 111, "lcs_PeriodicLocationRequest" },
22221 	{ 110, "lcs_LocationUpdate" },
22222 	{ 109, "lcs_PeriodicLocationCancellation" },
22223 	{ 108, "lcs_PeriodicTriggeredInvoke" },
22224 
22225 /* --- Module EricssonMAP --- --- ---                                         */
22226 
22227 /* Unknown or empty loop list OPERATION */
22228 
22229 /* --- Module NokiaMAP-Extensions --- --- ---                                 */
22230 
22231 /* Unknown or empty loop list OPERATION */
22232 
22233 /*--- End of included file: packet-gsm_map-table.c ---*/
22234 #line 1055 "./asn1/gsm_map/packet-gsm_map-template.c"
22235   { 0, NULL }
22236 };
22237 
22238 #if 0
22239 static const value_string gsm_map_err_code_string_vals[] = {
22240 
22241 /*--- Included file: packet-gsm_map-table.c ---*/
22242 #line 1 "./asn1/gsm_map/packet-gsm_map-table.c"
22243 
22244 /* --- Module Remote-Operations-Information-Objects --- --- ---               */
22245 
22246 /* Unknown or empty loop list OPERATION */
22247 
22248 /* --- Module MobileDomainDefinitions --- --- ---                             */
22249 
22250 /* Unknown or empty loop list OPERATION */
22251 
22252 /* --- Module MAP-ApplicationContexts --- --- ---                             */
22253 
22254 /* Unknown or empty loop list OPERATION */
22255 
22256 /* --- Module MAP-SS-Code --- --- ---                                         */
22257 
22258 /* Unknown or empty loop list OPERATION */
22259 
22260 /* --- Module MAP-BS-Code --- --- ---                                         */
22261 
22262 /* Unknown or empty loop list OPERATION */
22263 
22264 /* --- Module MAP-TS-Code --- --- ---                                         */
22265 
22266 /* Unknown or empty loop list OPERATION */
22267 
22268 /* --- Module MAP-ExtensionDataTypes --- --- ---                              */
22269 
22270 /* Unknown or empty loop list OPERATION */
22271 
22272 /* --- Module MAP-CommonDataTypes --- --- ---                                 */
22273 
22274 /* Unknown or empty loop list OPERATION */
22275 
22276 /* --- Module MAP-SS-DataTypes --- --- ---                                    */
22277 
22278 /* Unknown or empty loop list OPERATION */
22279 
22280 /* --- Module MAP-ER-DataTypes --- --- ---                                    */
22281 
22282 /* Unknown or empty loop list OPERATION */
22283 
22284 /* --- Module MAP-SM-DataTypes --- --- ---                                    */
22285 
22286 /* Unknown or empty loop list OPERATION */
22287 
22288 /* --- Module MAP-OM-DataTypes --- --- ---                                    */
22289 
22290 /* Unknown or empty loop list OPERATION */
22291 
22292 /* --- Module MAP-MS-DataTypes --- --- ---                                    */
22293 
22294 /* Unknown or empty loop list OPERATION */
22295 
22296 /* --- Module MAP-CH-DataTypes --- --- ---                                    */
22297 
22298 /* Unknown or empty loop list OPERATION */
22299 
22300 /* --- Module MAP-LCS-DataTypes --- --- ---                                   */
22301 
22302 /* Unknown or empty loop list OPERATION */
22303 
22304 /* --- Module MAP-GR-DataTypes --- --- ---                                    */
22305 
22306 /* Unknown or empty loop list OPERATION */
22307 
22308 /* --- Module MAP-DialogueInformation --- --- ---                             */
22309 
22310 /* Unknown or empty loop list OPERATION */
22311 
22312 /* --- Module MAP-LocationServiceOperations --- --- ---                       */
22313 
22314 	{ 85, "sendRoutingInfoForLCS" },
22315 	{ 83, "provideSubscriberLocation" },
22316 	{ 86, "subscriberLocationReport" },
22317 
22318 /* --- Module MAP-Group-Call-Operations --- --- ---                           */
22319 
22320 	{ 39, "prepareGroupCall" },
22321 	{ 40, "sendGroupCallEndSignal" },
22322 	{ 41, "processGroupCallSignalling" },
22323 	{ 42, "forwardGroupCallSignalling" },
22324 	{ 84, "sendGroupCallInfo" },
22325 
22326 /* --- Module MAP-ShortMessageServiceOperations --- --- ---                   */
22327 
22328 	{ 45, "sendRoutingInfoForSM" },
22329 	{ 46, "mo_ForwardSM" },
22330 	{ 44, "mt_ForwardSM" },
22331 	{ 47, "reportSM_DeliveryStatus" },
22332 	{ 64, "alertServiceCentre" },
22333 	{ 63, "informServiceCentre" },
22334 	{ 66, "readyForSM" },
22335 	{ 21, "mt_ForwardSM_VGCS" },
22336 
22337 /* --- Module MAP-SupplementaryServiceOperations --- --- ---                  */
22338 
22339 	{ 10, "registerSS" },
22340 	{ 11, "eraseSS" },
22341 	{ 12, "activateSS" },
22342 	{ 13, "deactivateSS" },
22343 	{ 14, "interrogateSS" },
22344 	{ 59, "processUnstructuredSS_Request" },
22345 	{ 60, "unstructuredSS_Request" },
22346 	{ 61, "unstructuredSS_Notify" },
22347 	{ 17, "registerPassword" },
22348 	{ 18, "getPassword" },
22349 	{ 72, "ss_InvocationNotification" },
22350 	{ 76, "registerCC_Entry" },
22351 	{ 77, "eraseCC_Entry" },
22352 
22353 /* --- Module MAP-CallHandlingOperations --- --- ---                          */
22354 
22355 	{ 22, "sendRoutingInfo" },
22356 	{ 4, "provideRoamingNumber" },
22357 	{ 6, "resumeCallHandling" },
22358 	{ 73, "setReportingState" },
22359 	{ 74, "statusReport" },
22360 	{ 75, "remoteUserFree" },
22361 	{ 87, "ist_Alert" },
22362 	{ 88, "ist_Command" },
22363 	{ 20, "releaseResources" },
22364 
22365 /* --- Module MAP-OperationAndMaintenanceOperations --- --- ---               */
22366 
22367 	{ 50, "activateTraceMode" },
22368 	{ 51, "deactivateTraceMode" },
22369 	{ 58, "sendIMSI" },
22370 
22371 /* --- Module MAP-MobileServiceOperations --- --- ---                         */
22372 
22373 	{ 2, "updateLocation" },
22374 	{ 3, "cancelLocation" },
22375 	{ 67, "purgeMS" },
22376 	{ 55, "sendIdentification" },
22377 	{ 23, "updateGprsLocation" },
22378 	{ 70, "provideSubscriberInfo" },
22379 	{ 71, "anyTimeInterrogation" },
22380 	{ 62, "anyTimeSubscriptionInterrogation" },
22381 	{ 65, "anyTimeModification" },
22382 	{ 5, "noteSubscriberDataModified" },
22383 	{ 68, "prepareHandover" },
22384 	{ 29, "sendEndSignal" },
22385 	{ 33, "processAccessSignalling" },
22386 	{ 34, "forwardAccessSignalling" },
22387 	{ 69, "prepareSubsequentHandover" },
22388 	{ 56, "sendAuthenticationInfo" },
22389 	{ 15, "authenticationFailureReport" },
22390 	{ 43, "checkIMEI" },
22391 	{ 7, "insertSubscriberData" },
22392 	{ 8, "deleteSubscriberData" },
22393 	{ 37, "reset" },
22394 	{ 38, "forwardCheckSS_Indication" },
22395 	{ 57, "restoreData" },
22396 	{ 24, "sendRoutingInfoForGprs" },
22397 	{ 25, "failureReport" },
22398 	{ 26, "noteMsPresentForGprs" },
22399 	{ 89, "noteMM_Event" },
22400 	{ 53, "updateVcsgLocation" },
22401 	{ 36, "cancelVcsgLocation" },
22402 
22403 /* --- Module MAP-Errors --- --- ---                                          */
22404 
22405 /* Unknown or empty loop list OPERATION */
22406 
22407 /* --- Module MAP-Protocol --- --- ---                                        */
22408 
22409 /* Unknown or empty loop list OPERATION */
22410 
22411 /* --- Module DummyMAP --- --- ---                                            */
22412 
22413 	{ 9, "sendParameters" },
22414 
22415 /* --- Module SS-DataTypes --- --- ---                                        */
22416 
22417 /* Unknown or empty loop list OPERATION */
22418 
22419 /* --- Module SS-Operations --- --- ---                                       */
22420 
22421 	{ 19, "processUnstructuredSS_Data" },
22422 	{ 16, "notifySS" },
22423 	{ 125, "forwardChargeAdvice" },
22424 	{ 120, "forwardCUG_Info" },
22425 	{ 124, "buildMPTY" },
22426 	{ 123, "holdMPTY" },
22427 	{ 122, "retrieveMPTY" },
22428 	{ 121, "splitMPTY" },
22429 	{ 126, "explicitCT" },
22430 	{ 119, "accessRegisterCCEntry" },
22431 	{ 117, "callDeflection" },
22432 	{ 118, "userUserService" },
22433 	{ 116, "lcs_LocationNotification" },
22434 	{ 115, "lcs_MOLR" },
22435 	{ 114, "lcs_AreaEventRequest" },
22436 	{ 113, "lcs_AreaEventReport" },
22437 	{ 112, "lcs_AreaEventCancellation" },
22438 	{ 111, "lcs_PeriodicLocationRequest" },
22439 	{ 110, "lcs_LocationUpdate" },
22440 	{ 109, "lcs_PeriodicLocationCancellation" },
22441 	{ 108, "lcs_PeriodicTriggeredInvoke" },
22442 
22443 /* --- Module EricssonMAP --- --- ---                                         */
22444 
22445 /* Unknown or empty loop list OPERATION */
22446 
22447 /* --- Module NokiaMAP-Extensions --- --- ---                                 */
22448 
22449 /* Unknown or empty loop list OPERATION */
22450 
22451 /*--- End of included file: packet-gsm_map-table.c ---*/
22452 #line 1061 "./asn1/gsm_map/packet-gsm_map-template.c"
22453     { 0, NULL }
22454 };
22455 #endif
22456 
22457 
22458 static const value_string gsm_map_nature_of_number_values[] = {
22459   { 0x00, "unknown" },
22460   { 0x01, "International Number" },
22461   { 0x02, "National Significant Number" },
22462   { 0x03, "Network Specific Number" },
22463   { 0x04, "Subscriber Number" },
22464   { 0x05, "Reserved" },
22465   { 0x06, "Abbreviated Number" },
22466   { 0x07, "Reserved for extension" },
22467   { 0, NULL }
22468 };
22469 static value_string_ext gsm_map_nature_of_number_values_ext = VALUE_STRING_EXT_INIT(gsm_map_nature_of_number_values);
22470 
22471 static const value_string gsm_map_number_plan_values[] = {
22472   { 0x00, "unknown" },
22473   { 0x01, "ISDN/Telephony Numbering (Rec ITU-T E.164)" },
22474   { 0x02, "spare" },
22475   { 0x03, "Data Numbering (ITU-T Rec. X.121)" },
22476   { 0x04, "Telex Numbering (ITU-T Rec. F.69)" },
22477   { 0x05, "spare" },
22478   { 0x06, "Land Mobile Numbering (ITU-T Rec. E.212)" },
22479   { 0x07, "spare" },
22480   { 0x08, "National Numbering" },
22481   { 0x09, "Private Numbering" },
22482   { 0x0a, "spare" },
22483   { 0x0b, "spare" },
22484   { 0x0c, "spare" },
22485   { 0x0d, "spare" },
22486   { 0x0e, "spare" },
22487   { 0x0f, "Reserved for extension" },
22488   { 0, NULL }
22489 };
22490 static value_string_ext gsm_map_number_plan_values_ext = VALUE_STRING_EXT_INIT(gsm_map_number_plan_values);
22491 
22492 static const true_false_string gsm_map_Ss_Status_q_bit_values = {
22493   "Quiescent",
22494   "Operative"
22495 };
22496 static const true_false_string gsm_map_Ss_Status_p_values = {
22497   "Provisioned",
22498   "Not Provisioned"
22499 };
22500 static const true_false_string gsm_map_Ss_Status_r_values = {
22501   "Registered",
22502   "Not Registered"
22503 };
22504 static const true_false_string gsm_map_Ss_Status_a_values = {
22505   "Active",
22506   "not Active"
22507 };
22508 
22509 /*
22510  * Translate the MAP operation code value to a text string
22511  * Take into account the MAP version for ForwardSM
22512  */
22513 const gchar* gsm_map_opr_code(guint32 val, proto_item *item) {
22514   switch (val) {
22515   case 44: /*mt-forwardSM*/
22516     /* FALLTHRU */
22517   case 46: /*mo-forwardSM*/
22518     if (application_context_version < 3) {
22519       proto_item_set_text(item, "%s (%d)", val_to_str_const(val, gsm_map_V1V2_opr_code_strings, "Unknown GSM-MAP opcode"), val);
22520       return val_to_str_const(val, gsm_map_V1V2_opr_code_strings, "Unknown GSM-MAP opcode");
22521     }
22522     /* Else use the default map operation translation */
22523     /* FALLTHRU */
22524   default:
22525     return val_to_str_ext_const(val, &gsm_old_GSMMAPOperationLocalvalue_vals_ext, "Unknown GSM-MAP opcode");
22526     break;
22527   }
22528 }
22529 
22530 /* Prototype for a decoding function */
22531 typedef int (* dissect_function_t)( gboolean,
22532                                     tvbuff_t *,
22533                                     int ,
22534                                     asn1_ctx_t *,
22535                                     proto_tree *,
22536                                     int);
22537 
22538 /*
22539  * Dissect Multiple Choice Message
22540  * This function is used to decode a message, when several encoding may be used.
22541  * For exemple, in the last MAP version, the Cancel Location is defined like this:
22542  * CancelLocationArg ::= [3] IMPLICIT SEQUENCE
22543  * But in the previous MAP version, it was a CHOICE between a SEQUENCE and an IMSI
22544  * As ASN1 encoders (or software) still uses the old encoding, this function allows
22545  * the decoding of both versions.
22546  * Moreover, some optimizations (or bad practice ?) in ASN1 encoder, removes the
22547  * SEQUENCE tag, when only one parameter is present in the SEQUENCE.
22548  * This explain why the function expects 3 parameters:
22549  * - a [3] SEQUENCE corresponding the recent ASN1 MAP encoding
22550  * - a SEQUENCE for old style
22551  * - and a single parameter, for old version or optimizations
22552  *
22553  * The analyze of the first ASN1 tag, indicate what kind of decoding should be used,
22554  * if the decoding function is provided (so not a NULL function)
22555  */
22556 static int dissect_mc_message(tvbuff_t *tvb,
22557                               int offset,
22558                               asn1_ctx_t *actx,
22559                               proto_tree *tree,
22560                               gboolean implicit_param _U_, dissect_function_t parameter, int hf_index_param _U_,
22561                               gboolean implicit_seq   _U_, dissect_function_t sequence,  int hf_index_seq   _U_,
22562                               gboolean implicit_seq3 _U_, dissect_function_t sequence3, int hf_index_seq3 _U_ )
22563 {
22564   guint8 octet;
22565   gint8 bug_class;
22566   gboolean bug_pc, bug_ind_field;
22567   gint32 bug_tag;
22568   guint32 bug_len;
22569 
22570   octet = tvb_get_guint8(tvb,0);
22571   if ( (octet & 0xf) == 3) {
22572     /* XXX  asn2wrs can not yet handle tagged assignment yes so this
22573      * XXX is some conformance file magic to work around that bug
22574      */
22575     offset = get_ber_identifier(tvb, offset, &bug_class, &bug_pc, &bug_tag);
22576     offset = get_ber_length(tvb, offset, &bug_len, &bug_ind_field);
22577     if (sequence3 != NULL) {
22578       offset= (sequence3) (implicit_seq3, tvb, offset, actx, tree, hf_index_seq3);
22579     } else {
22580       proto_tree_add_expert(tree, actx->pinfo, &ei_gsm_map_unknown_sequence3, tvb, offset, -1);
22581     }
22582   } else if (octet == 0x30) {
22583     if (sequence != NULL) {
22584       offset= (sequence) (implicit_seq, tvb, 0, actx, tree, hf_index_seq);
22585     } else {
22586       proto_tree_add_expert(tree, actx->pinfo, &ei_gsm_map_unknown_sequence, tvb, offset, -1);
22587     }
22588   } else {
22589     if (parameter != NULL) {
22590       offset= (parameter) (implicit_param, tvb, offset, actx, tree, hf_index_param);
22591     } else {
22592       proto_tree_add_expert(tree, actx->pinfo, &ei_gsm_map_unknown_parameter, tvb, offset, -1);
22593     }
22594   }
22595   return offset;
22596 }
22597 
22598 static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
22599 
22600   switch(opcode){
22601   case  2: /*updateLocation*/
22602     offset=dissect_gsm_map_ms_UpdateLocationArg(FALSE, tvb, offset, actx, tree, -1);
22603     break;
22604   case  3: /*cancelLocation*/
22605     offset=dissect_mc_message(tvb, offset, actx, tree,
22606                               FALSE, dissect_gsm_map_Identity, hf_gsm_map_ms_identity,
22607                               FALSE, dissect_gsm_map_Identity, hf_gsm_map_ms_identity,
22608                               TRUE , dissect_gsm_map_ms_CancelLocationArg, -1);/*undefined*/
22609     break;
22610   case  4: /*provideRoamingNumber*/
22611     offset=dissect_gsm_map_ch_ProvideRoamingNumberArg(FALSE, tvb, offset, actx, tree, -1);
22612     break;
22613   case  5: /*noteSubscriberDataModified*/
22614     offset=dissect_gsm_map_ms_NoteSubscriberDataModifiedArg(FALSE, tvb, offset, actx, tree, -1);
22615     break;
22616   case  6: /*resumeCallHandling*/
22617     offset=dissect_gsm_map_ch_ResumeCallHandlingArg(FALSE, tvb, offset, actx, tree, -1);
22618     break;
22619   case  7: /*insertSubscriberData*/
22620     offset=dissect_gsm_map_ms_InsertSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1);
22621     break;
22622   case  8: /*deleteSubscriberData*/
22623     offset=dissect_gsm_map_ms_DeleteSubscriberDataArg(FALSE, tvb, offset, actx, tree, -1);
22624     break;
22625   case  9: /*sendParameters*/
22626     offset = dissect_gsm_old_SendParametersArg(FALSE, tvb, offset, actx, tree, -1);
22627     break;
22628   case  10: /*registerSS*/
22629     offset=dissect_gsm_map_ss_RegisterSS_Arg(FALSE, tvb, offset, actx, tree, -1);
22630     break;
22631   case  11: /*eraseSS*/
22632     offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
22633     break;
22634   case 12: /*activateSS*/
22635     offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
22636     break;
22637   case 13: /*deactivateSS*/
22638     offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
22639     break;
22640   case 14: /*interrogateSS*/
22641     offset=dissect_gsm_map_ss_SS_ForBS_Code(FALSE, tvb, offset, actx, tree, -1);
22642     break;
22643   case 15: /*authenticationFailureReport*/
22644     offset=dissect_gsm_map_ms_AuthenticationFailureReportArg(FALSE, tvb, offset, actx, tree, -1);
22645     break;
22646   case 16: /*SS-protocol notifySS*/
22647     offset=dissect_gsm_ss_NotifySS_Arg(FALSE, tvb, offset, actx, tree, -1);
22648     break;
22649   case 17: /*registerPassword*/
22650     offset=dissect_gsm_map_SS_Code(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_Code);
22651     break;
22652   case 18: /*getPassword*/
22653     offset=dissect_gsm_old_GetPasswordArg(FALSE, tvb, offset, actx, tree, hf_gsm_map_getPassword);
22654     break;
22655   case 19: /* SS-Protocol processUnstructuredSS-Data (19) */
22656     offset=dissect_gsm_ss_SS_UserData(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_SS_UserData);
22657     break;
22658   case 20: /*releaseResources*/
22659     offset=dissect_gsm_map_ch_ReleaseResourcesArg(FALSE, tvb, offset, actx, tree, -1);
22660     break;
22661   case 21: /*mt-ForwardSM-VGCS*/
22662     offset=dissect_gsm_map_sm_MT_ForwardSM_VGCS_Arg(FALSE, tvb, offset, actx, tree, -1);
22663     break;
22664   case 22: /*sendRoutingInfo*/
22665       if (application_context_version == 3){
22666           offset=dissect_gsm_map_ch_SendRoutingInfoArg(FALSE, tvb, offset, actx, tree, -1);
22667       }else{
22668           offset = dissect_gsm_old_SendRoutingInfoArgV2(FALSE, tvb, offset, actx, tree, -1);
22669       }
22670     break;
22671   case 23: /*updateGprsLocation*/
22672     offset=dissect_gsm_map_ms_UpdateGprsLocationArg(FALSE, tvb, offset, actx, tree, -1);
22673     break;
22674   case 24: /*sendRoutingInfoForGprs*/
22675     offset=dissect_gsm_map_ms_SendRoutingInfoForGprsArg(FALSE, tvb, offset, actx, tree, -1);
22676     break;
22677   case 25: /*failureReport*/
22678     offset=dissect_gsm_map_ms_FailureReportArg(FALSE, tvb, offset, actx, tree, -1);
22679     break;
22680   case 26: /*noteMsPresentForGprs*/
22681     offset=dissect_gsm_map_ms_NoteMsPresentForGprsArg(FALSE, tvb, offset, actx, tree, -1);
22682     break;
22683     /* undefined 27 */
22684     /* reserved performHandover (28) */
22685   case 29: /*sendEndSignal*/
22686     offset=dissect_mc_message(tvb, offset, actx, tree,
22687                               FALSE, NULL, -1,
22688                               FALSE, dissect_gsm_old_Bss_APDU, -1,
22689                               TRUE , dissect_gsm_map_ms_SendEndSignal_Arg, -1);
22690     break;
22691     /* reserved performSubsequentHandover (30) */
22692   case 31: /*provideSIWFSNumber*/
22693     offset=dissect_gsm_old_ProvideSIWFSNumberArg(FALSE, tvb, offset, actx, tree, -1);
22694     break;
22695   case 32: /*sIWFSSignallingModify*/
22696     offset=dissect_gsm_old_SIWFSSignallingModifyArg(FALSE, tvb, offset, actx, tree, -1);
22697     break;
22698   case 33: /*processAccessSignalling*/
22699     offset=dissect_mc_message(tvb, offset, actx, tree,
22700                               FALSE, NULL, -1,
22701                               FALSE, dissect_gsm_old_Bss_APDU, -1,
22702                               TRUE , dissect_gsm_map_ms_ProcessAccessSignalling_Arg, -1);
22703     break;
22704   case 34: /*forwardAccessSignalling*/
22705     offset=dissect_mc_message(tvb, offset, actx, tree,
22706                               FALSE, NULL, -1,
22707                               FALSE, dissect_gsm_old_Bss_APDU, -1,
22708                               TRUE , dissect_gsm_map_ms_ForwardAccessSignalling_Arg, -1);
22709     break;
22710     /* reserved noteInternalHandover (35) */
22711   case 36: /*cancelVcsgLocation*/
22712     offset=dissect_gsm_map_ms_CancelVcsgLocationArg(FALSE, tvb, offset, actx, tree, -1);
22713     break;
22714   case 37: /*reset*/
22715       if (application_context_version == 1) {
22716           offset = dissect_gsm_old_ResetArgV1(FALSE, tvb, offset, actx, tree, -1);
22717       } else {
22718           offset = dissect_gsm_map_ms_ResetArg(FALSE, tvb, offset, actx, tree, -1);
22719       }
22720     break;
22721   case 38: /*forwardCheckSS-Indication*/
22722     return offset;
22723     break;
22724   case 39: /*prepareGroupCall*/
22725     offset=dissect_gsm_map_gr_PrepareGroupCallArg(FALSE, tvb, offset, actx, tree, -1);
22726     break;
22727   case 40: /*sendGroupCallEndSignal*/
22728     offset = dissect_gsm_map_gr_SendGroupCallEndSignalArg(FALSE, tvb, offset, actx, tree, -1);
22729     break;
22730   case 41: /*processGroupCallSignalling*/
22731     offset = dissect_gsm_map_gr_ProcessGroupCallSignallingArg(FALSE, tvb, offset, actx, tree, -1);
22732     break;
22733   case 42: /*forwardGroupCallSignalling*/
22734     offset=dissect_gsm_map_gr_ForwardGroupCallSignallingArg(FALSE, tvb, offset, actx, tree, -1);
22735     break;
22736   case 43: /*checkIMEI*/
22737     if (pref_ericsson_proprietary_ext) {
22738       offset=dissect_mc_message(tvb, offset, actx, tree,
22739                     FALSE, dissect_gsm_map_IMEI, hf_gsm_map_ms_imei,
22740                     FALSE, dissect_gsm_map_ericsson_EnhancedCheckIMEI_Arg, -1,
22741                     TRUE , NULL, -1); /* no [3] SEQUENCE */
22742     } else {
22743       offset=dissect_mc_message(tvb, offset, actx, tree,
22744                     FALSE, dissect_gsm_map_IMEI, hf_gsm_map_ms_imei,
22745                     FALSE, dissect_gsm_map_ms_CheckIMEI_Arg, -1,
22746                     TRUE , NULL, -1); /* no [3] SEQUENCE */
22747     }
22748     break;
22749   case 44: /*mt-forwardSM(v3) or ForwardSM(v1/v2)*/
22750     if (application_context_version == 3)
22751       offset=dissect_gsm_map_sm_MT_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
22752     else {
22753       offset=dissect_gsm_old_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
22754     }
22755     break;
22756   case 45: /*sendRoutingInfoForSM*/
22757     if (application_context_version < 2) {
22758       offset=dissect_gsm_old_RoutingInfoForSM_ArgV1(FALSE, tvb, offset, actx, tree, -1);
22759     } else {
22760       offset=dissect_gsm_map_sm_RoutingInfoForSM_Arg(FALSE, tvb, offset, actx, tree, -1);
22761     }
22762     break;
22763   case 46: /*mo-forwardSM(v3) or ForwardSM(v1/v2)*/
22764     if (application_context_version == 3)
22765       offset=dissect_gsm_map_sm_MO_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
22766     else {
22767       offset=dissect_gsm_old_ForwardSM_Arg(FALSE, tvb, offset, actx, tree, -1);
22768     }
22769     break;
22770   case 47: /*reportSM-DeliveryStatus*/
22771     offset=dissect_gsm_map_sm_ReportSM_DeliveryStatusArg(FALSE, tvb, offset, actx, tree, -1);
22772     break;
22773   case 48: /*noteSubscriberPresent*/
22774       offset = dissect_gsm_map_IMSI(FALSE, tvb, offset, actx, tree, hf_gsm_map_imsi);
22775       break;
22776       /* reserved alertServiceCentreWithoutResult (49)
22777      * ETS 300 599: December 2000 (GSM 09.02 version 4.19.1)
22778      * -- alertServiceCentreWithoutResult must not be used in
22779      * -- version greater 1
22780      */
22781   case 49:
22782     offset = dissect_gsm_map_sm_AlertServiceCentreArg(FALSE, tvb, offset, actx, tree, -1);
22783     break;
22784   case 50: /*activateTraceMode*/
22785     offset=dissect_gsm_map_om_ActivateTraceModeArg(FALSE, tvb, offset, actx, tree, -1);
22786     break;
22787   case 51: /*deactivateTraceMode*/
22788     offset=dissect_gsm_map_om_DeactivateTraceModeArg(FALSE, tvb, offset, actx, tree, -1);
22789     break;
22790     /* reserved traceSubscriberActivity (52) */
22791 
22792   case 53: /* UpdateVcsgLocation 53 */
22793     offset=dissect_gsm_map_ms_UpdateVcsgLocationArg(FALSE, tvb, offset, actx, tree, -1);
22794     break;
22795   case 54: /*beginSubscriberActivity*/
22796     offset=dissect_gsm_old_BeginSubscriberActivityArg(FALSE, tvb, offset, actx, tree, -1);
22797     break;
22798   case 55: /*sendIdentification*/
22799     offset=dissect_mc_message(tvb, offset, actx, tree,
22800                               FALSE, dissect_gsm_map_TMSI, hf_gsm_map_tmsi,
22801                               FALSE, dissect_gsm_map_ms_SendIdentificationArg, -1,
22802                               TRUE,  NULL, -1);
22803     break;
22804   case 56: /*sendAuthenticationInfo*/
22805     offset=dissect_mc_message(tvb, offset, actx, tree,
22806                               FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
22807                               FALSE, dissect_gsm_map_ms_SendAuthenticationInfoArg, -1,
22808                               TRUE,  NULL, -1);
22809     break;
22810   case 57: /*restoreData*/
22811     offset=dissect_gsm_map_ms_RestoreDataArg(FALSE, tvb, offset, actx, tree, -1);
22812     break;
22813   case 58: /*sendIMSI*/
22814     offset = dissect_gsm_map_ISDN_AddressString(FALSE, tvb, offset, actx, tree, hf_gsm_map_msisdn);
22815     break;
22816   case 59: /*processUnstructuredSS-Request*/
22817     offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1);
22818     break;
22819   case 60: /*unstructuredSS-Request*/
22820     offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1);
22821     break;
22822   case 61: /*unstructuredSS-Notify*/
22823     offset=dissect_gsm_map_ss_USSD_Arg(FALSE, tvb, offset, actx, tree, -1);
22824     break;
22825   case 62: /*AnyTimeSubscriptionInterrogation*/
22826     offset=dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationArg(FALSE, tvb, offset, actx, tree, -1);
22827     break;
22828   case 63: /*informServiceCentre*/
22829     offset=dissect_gsm_map_sm_InformServiceCentreArg(FALSE, tvb, offset, actx, tree, -1);
22830     break;
22831   case 64: /*alertServiceCentre*/
22832     offset=dissect_gsm_map_sm_AlertServiceCentreArg(FALSE, tvb, offset, actx, tree, -1);
22833     break;
22834   case 65: /*AnyTimeModification*/
22835     offset=dissect_gsm_map_ms_AnyTimeModificationArg(FALSE, tvb, offset, actx, tree, -1);
22836     break;
22837   case 66: /*readyForSM*/
22838     offset=dissect_gsm_map_sm_ReadyForSM_Arg(FALSE, tvb, offset, actx, tree, -1);
22839     break;
22840   case 67: /*purgeMS*/
22841     offset=dissect_mc_message(tvb, offset, actx, tree,
22842                               FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
22843                               FALSE, dissect_gsm_old_PurgeMSArgV2, -1, /*undefined*/
22844                               TRUE , dissect_gsm_map_ms_PurgeMS_Arg, -1);
22845     break;
22846   case 68: /*prepareHandover*/
22847     offset=dissect_mc_message(tvb, offset, actx, tree,
22848                               FALSE, NULL, -1,
22849                               FALSE, dissect_gsm_old_PrepareHO_ArgOld, -1,
22850                               TRUE, dissect_gsm_map_ms_PrepareHO_Arg, -1);
22851     break;
22852   case 69: /*prepareSubsequentHandover*/
22853     offset=dissect_mc_message(tvb, offset, actx, tree,
22854                               FALSE, NULL, -1,
22855                               FALSE, NULL, -1,
22856                               TRUE, dissect_gsm_map_ms_PrepareSubsequentHO_Arg, -1);
22857     break;
22858   case 70: /*provideSubscriberInfo*/
22859     offset=dissect_gsm_map_ms_ProvideSubscriberInfoArg(FALSE, tvb, offset, actx, tree, -1);
22860     break;
22861   case 71: /*anyTimeInterrogation*/
22862     offset=dissect_gsm_map_ms_AnyTimeInterrogationArg(FALSE, tvb, offset, actx, tree, -1);
22863     break;
22864   case 72: /*ss-InvocationNotificatio*/
22865     offset=dissect_gsm_map_ss_SS_InvocationNotificationArg(FALSE, tvb, offset, actx, tree, -1);
22866     break;
22867   case 73: /*setReportingState*/
22868     offset=dissect_gsm_map_ch_SetReportingStateArg(FALSE, tvb, offset, actx, tree, -1);
22869     break;
22870   case 74: /*statusReport*/
22871     offset=dissect_gsm_map_ch_StatusReportArg(FALSE, tvb, offset, actx, tree, -1);
22872     break;
22873   case 75: /*remoteUserFree*/
22874     offset=dissect_gsm_map_ch_RemoteUserFreeArg(FALSE, tvb, offset, actx, tree, -1);
22875     break;
22876   case 76: /*registerCC-Entry*/
22877     offset=dissect_gsm_map_ss_RegisterCC_EntryArg(FALSE, tvb, offset, actx, tree, -1);
22878     break;
22879   case 77: /*eraseCC-Entry*/
22880     offset=dissect_gsm_map_ss_EraseCC_EntryArg(FALSE, tvb, offset, actx, tree, -1);
22881     break;
22882   case 78: /*secureTransportClass1*/
22883   case 79: /*secureTransportClass1*/
22884   case 80: /*secureTransportClass1*/
22885   case 81: /*secureTransportClass1*/
22886     offset=dissect_gsm_old_SecureTransportArg(FALSE, tvb, offset, actx, tree, -1);
22887     break;
22888     /* undefined 82 */
22889   case 83: /*provideSubscriberLocation*/
22890     offset=dissect_gsm_map_lcs_ProvideSubscriberLocation_Arg(FALSE, tvb, offset, actx, tree, -1);
22891     break;
22892   case 84: /*sendGroupCallInfo*/
22893     offset=dissect_gsm_map_gr_SendGroupCallInfoArg(FALSE, tvb, offset, actx, tree, -1);
22894     break;
22895   case 85: /*sendRoutingInfoForLCS*/
22896     offset=dissect_gsm_map_lcs_RoutingInfoForLCS_Arg(FALSE, tvb, offset, actx, tree, -1);
22897     break;
22898   case 86: /*subscriberLocationReport*/
22899     offset=dissect_gsm_map_lcs_SubscriberLocationReport_Arg(FALSE, tvb, offset, actx, tree, -1);
22900     break;
22901   case 87: /*ist-Alert*/
22902     offset=dissect_gsm_map_ch_IST_AlertArg(FALSE, tvb, offset, actx, tree, -1);
22903     break;
22904   case 88: /*ist-Command*/
22905     offset=dissect_gsm_map_ch_IST_CommandArg(FALSE, tvb, offset, actx, tree, -1);
22906     break;
22907   case 89: /*noteMM-Event*/
22908     offset=dissect_gsm_map_ms_NoteMM_EventArg(FALSE, tvb, offset, actx, tree, -1);
22909     break;
22910   case 108: /*SS-protocol lcs-PeriodicTriggeredInvoke*/
22911       offset = dissect_gsm_ss_LCS_PeriodicTriggeredInvokeArg(FALSE, tvb, offset, actx, tree, -1);
22912       break;
22913   case 109: /*SS-protocol lcs-PeriodicLocationCancellation*/
22914     offset=dissect_gsm_ss_LCS_PeriodicLocationCancellationArg(FALSE, tvb, offset, actx, tree, -1);
22915     break;
22916   case 110: /*SS-protocol lcs-LocationUpdate*/
22917     offset=dissect_gsm_ss_LCS_LocationUpdateArg(FALSE, tvb, offset, actx, tree, -1);
22918     break;
22919   case 111: /*SS-protocol lcs-PeriodicLocationRequest*/
22920     offset=dissect_gsm_ss_LCS_PeriodicLocationRequestArg(FALSE, tvb, offset, actx, tree, -1);
22921     break;
22922   case 112: /*SS-protocol lcs-AreaEventCancellation*/
22923     offset=dissect_gsm_ss_LCS_AreaEventCancellationArg(FALSE, tvb, offset, actx, tree, -1);
22924     break;
22925   case 113: /*SS-protocol lcs-AreaEventReport*/
22926     offset=dissect_gsm_ss_LCS_AreaEventReportArg(FALSE, tvb, offset, actx, tree, -1);
22927     break;
22928   case 114: /*SS-protocol lcs-AreaEventRequest*/
22929     offset=dissect_gsm_ss_LCS_AreaEventRequestArg(FALSE, tvb, offset, actx, tree, -1);
22930     break;
22931   case 115: /*SS-protocol lcs-MOLR*/
22932     offset=dissect_gsm_ss_LCS_MOLRArg(FALSE, tvb, offset, actx, tree, -1);
22933     break;
22934   case 116: /*SS-protocol lcs-LocationNotification*/
22935     offset=dissect_gsm_ss_LocationNotificationArg(FALSE, tvb, offset, actx, tree, -1);
22936     break;
22937   case 117: /*SS-protocol callDeflection*/
22938     offset=dissect_gsm_ss_CallDeflectionArg(FALSE, tvb, offset, actx, tree, -1);
22939     break;
22940   case 118: /*SS-protocol userUserService*/
22941     offset=dissect_gsm_ss_UserUserServiceArg(FALSE, tvb, offset, actx, tree, -1);
22942     break;
22943   case 119: /*SS-protocol accessRegisterCCEntry*/
22944     offset=dissect_gsm_ss_AccessRegisterCCEntryArg(FALSE, tvb, offset, actx, tree, -1);
22945     break;
22946   case 120: /*SS-protocol forwardCUG-Info*/
22947     application_context_version = 3;
22948     offset=dissect_gsm_ss_ForwardCUG_InfoArg(FALSE, tvb, offset, actx, tree, -1);
22949     break;
22950   case 121: /*SS-protocol splitMPTY no Argument*/
22951     break;
22952   case 122: /*SS-protocol retrieveMPTY no Argument*/
22953     break;
22954   case 123: /*SS-protocol holdMPTY no Argument*/
22955     break;
22956   case 124: /*SS-protocol buildMPTY no Argument*/
22957     break;
22958   case 125: /*SS-protocol forwardChargeAdvice*/
22959     offset=dissect_gsm_ss_ForwardChargeAdviceArg(FALSE, tvb, offset, actx, tree, -1);
22960     break;
22961   case 126: /*SS-protocol explicitCT no Argument*/
22962     break;
22963   default:
22964     if(!dissector_try_uint_new(map_prop_arg_opcode_table, (guint8)opcode, tvb, actx->pinfo, tree, TRUE, actx->subtree.top_tree)){
22965         proto_tree_add_expert_format(tree, actx->pinfo, &ei_gsm_map_unknown_invokeData,
22966                                      tvb, offset, -1, "Unknown invokeData %d", opcode);
22967     }
22968     offset+= tvb_reported_length_remaining(tvb,offset);
22969     break;
22970   }
22971   return offset;
22972 }
22973 
22974 
22975 static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
22976 
22977   switch(opcode){
22978   case  2: /*updateLocation*/
22979     offset=dissect_mc_message(tvb, offset, actx, tree,
22980                               FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
22981                               FALSE, dissect_gsm_map_ms_UpdateLocationRes, -1,
22982                               TRUE , NULL, -1);
22983     break;
22984   case  3: /*cancelLocation*/
22985     offset=dissect_gsm_map_ms_CancelLocationRes(FALSE, tvb, offset, actx, tree, -1);
22986     break;
22987   case  4: /*provideRoamingNumber*/
22988     offset=dissect_mc_message(tvb, offset, actx, tree,
22989                               FALSE, dissect_gsm_map_ISDN_AddressString, hf_gsm_map_msisdn,
22990                               FALSE, dissect_gsm_map_ch_ProvideRoamingNumberRes, -1,
22991                               TRUE , NULL, -1);/*undefined*/
22992     break;
22993   case  5: /*noteSubscriberDataModified*/
22994     offset=dissect_gsm_map_ms_NoteSubscriberDataModifiedRes(FALSE, tvb, offset, actx, tree, -1);
22995     break;
22996   case  6: /*resumeCallHandling*/
22997     offset=dissect_gsm_map_ch_ResumeCallHandlingRes(FALSE, tvb, offset, actx, tree, -1);
22998     break;
22999   case  7: /*insertSubscriberData*/
23000     offset=dissect_gsm_map_ms_InsertSubscriberDataRes(FALSE, tvb, offset, actx, tree, -1);
23001     break;
23002   case  8: /*deleteSubscriberData*/
23003     offset=dissect_gsm_map_ms_DeleteSubscriberDataRes(FALSE, tvb, offset, actx, tree, -1);
23004     break;
23005   case  9: /*sendParameters*/
23006     offset = dissect_gsm_old_SentParameterList(FALSE, tvb, offset, actx, tree, -1);
23007     break;
23008   case  10: /*registerSS*/
23009     offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1);
23010     break;
23011   case  11: /*eraseSS*/
23012     offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1);
23013     break;
23014   case 12: /*activateSS*/
23015     offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1);
23016     break;
23017   case 13: /*deactivateSS*/
23018     offset=dissect_gsm_map_ss_SS_Info(FALSE, tvb, offset, actx, tree, -1);
23019     break;
23020   case 14: /*interrogateSS*/
23021     offset=dissect_gsm_map_ss_InterrogateSS_Res(FALSE, tvb, offset, actx, tree, -1);
23022     break;
23023   case 15: /*authenticationFailureReport*/
23024     offset=dissect_gsm_map_ms_AuthenticationFailureReportRes(FALSE, tvb, offset, actx, tree, -1);
23025     break;
23026   case 17: /*registerPassword*/
23027     /* change hf_gsm_map_ss_Code to something with password */
23028     offset=dissect_gsm_old_NewPassword(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_Code);
23029     break;
23030   case 18: /*getPassword*/
23031     offset=dissect_gsm_old_CurrentPassword(FALSE, tvb, offset, actx, tree, hf_gsm_map_currentPassword);
23032     break;
23033   case 19: /* SS-Protocol processUnstructuredSS-Data (19) */
23034     offset=dissect_gsm_ss_SS_UserData(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_SS_UserData);
23035     break;
23036   case 20: /*releaseResources*/
23037     offset=dissect_gsm_map_ch_ReleaseResourcesRes(FALSE, tvb, offset, actx, tree, -1);
23038     break;
23039   case 21: /*mt-ForwardSM-VGCS*/
23040     offset=dissect_gsm_map_sm_MT_ForwardSM_VGCS_Res(FALSE, tvb, offset, actx, tree, -1);
23041     break;
23042   case 22: /*sendRoutingInfo*/
23043       if (application_context_version == 3){
23044           /* If the tag is missing use SendRoutingInfoRes_U */
23045           offset=dissect_mc_message(tvb, offset, actx, tree,
23046                                     FALSE, NULL, -1,
23047                                     FALSE, dissect_gsm_map_ch_SendRoutingInfoRes_U, -1,
23048                                     TRUE , dissect_gsm_map_ch_SendRoutingInfoRes, -1);
23049       }else{
23050           offset=dissect_mc_message(tvb, offset, actx, tree,
23051                                     FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
23052                                     FALSE, dissect_gsm_old_SendRoutingInfoResV2, -1,
23053                                     TRUE , dissect_gsm_map_ch_SendRoutingInfoRes, -1);
23054       }
23055     break;
23056   case 23: /*updateGprsLocation*/
23057     offset=dissect_gsm_map_ms_UpdateGprsLocationRes(FALSE, tvb, offset, actx, tree, -1);
23058     break;
23059   case 24: /*sendRoutingInfoForGprs*/
23060     offset=dissect_gsm_map_ms_SendRoutingInfoForGprsRes(FALSE, tvb, offset, actx, tree, -1);
23061     break;
23062   case 25: /*failureReport*/
23063     offset=dissect_gsm_map_ms_FailureReportRes(FALSE, tvb, offset, actx, tree, -1);
23064     break;
23065   case 26: /*noteMsPresentForGprs*/
23066     offset=dissect_gsm_map_ms_NoteMsPresentForGprsRes(FALSE, tvb, offset, actx, tree, -1);
23067     break;
23068   case 29: /*sendEndSignal*/
23069       /* Taken from MAP-MobileServiceOperations{ 0 identified-organization (4) etsi (0) mobileDomain
23070        * (0) gsm-Network (1) modules (3) map-MobileServiceOperations (5) version9 (9) }
23071        */
23072     offset=dissect_gsm_map_ms_SendEndSignal_Res(FALSE, tvb, offset, actx, tree, -1);
23073     break;
23074   case 31: /*provideSIWFSNumber*/
23075     offset=dissect_gsm_old_ProvideSIWFSNumberRes(FALSE, tvb, offset, actx, tree, -1);
23076     break;
23077   case 32: /*provideSIWFSSignallingModify*/
23078     offset=dissect_gsm_old_SIWFSSignallingModifyRes(FALSE, tvb, offset, actx, tree, -1);
23079     break;
23080   case 36: /*cancelVcsgLocation*/
23081     offset=dissect_gsm_map_ms_CancelVcsgLocationRes(FALSE, tvb, offset, actx, tree, -1);
23082     break;
23083   case 39: /*prepareGroupCall*/
23084     offset=dissect_gsm_map_gr_PrepareGroupCallRes(FALSE, tvb, offset, actx, tree, -1);
23085     break;
23086   case 40: /*sendGroupCallEndSignal*/
23087     offset=dissect_gsm_map_gr_SendGroupCallEndSignalRes(FALSE, tvb, offset, actx, tree, -1);
23088     break;
23089   case 43: /*checkIMEI*/
23090     offset=dissect_mc_message(tvb, offset, actx, tree,
23091                               FALSE, dissect_gsm_map_ms_EquipmentStatus, hf_gsm_map_ms_equipmentStatus,
23092                               FALSE, dissect_gsm_map_ms_CheckIMEI_Res, -1,
23093                               TRUE,  NULL, -1);
23094     break;
23095   case 44: /*mt-forwardSM*/
23096     offset=dissect_gsm_map_sm_MT_ForwardSM_Res(FALSE, tvb, offset, actx, tree, -1);
23097     break;
23098   case 45: /*sendRoutingInfoForSM*/
23099     if (application_context_version < 3) {
23100       offset=dissect_gsm_old_RoutingInfoForSM_ResV2(FALSE, tvb, offset, actx, tree, -1);
23101     } else {
23102       offset=dissect_gsm_map_sm_RoutingInfoForSM_Res(FALSE, tvb, offset, actx, tree, -1);
23103     }
23104     break;
23105   case 46: /*mo-forwardSM*/
23106     offset=dissect_gsm_map_sm_MO_ForwardSM_Res(FALSE, tvb, offset, actx, tree, -1);
23107     break;
23108   case 47: /*reportSM-DeliveryStatus*/
23109     offset=dissect_mc_message(tvb, offset, actx, tree,
23110                               FALSE, dissect_gsm_map_ISDN_AddressString, hf_gsm_map_sm_storedMSISDN,
23111                               FALSE, dissect_gsm_map_sm_ReportSM_DeliveryStatusRes, -1,
23112                               FALSE, NULL, -1);/*undefined*/
23113     break;
23114   case 48: /*noteSubscriberPresent*/
23115     break;
23116   case 50: /*activateTraceMode*/
23117     offset=dissect_gsm_map_om_ActivateTraceModeRes(FALSE, tvb, offset, actx, tree, -1);
23118     break;
23119   case 51: /*deactivateTraceMode*/
23120     offset=dissect_gsm_map_om_DeactivateTraceModeRes(FALSE, tvb, offset, actx, tree, -1);
23121     break;
23122   case 53: /* UpdateVcsgLocation 53 */
23123     offset=dissect_gsm_map_ms_UpdateVcsgLocationRes(FALSE, tvb, offset, actx, tree, -1);
23124     break;
23125   case 55: /*sendIdentification */
23126     offset=dissect_mc_message(tvb, offset, actx, tree,
23127                               FALSE, dissect_gsm_map_IMSI, hf_gsm_map_imsi,
23128                               FALSE, dissect_gsm_old_SendIdentificationResV2, -1,/*undefined*/
23129                               TRUE,  dissect_gsm_map_ms_SendIdentificationRes, -1);
23130     break;
23131   case 56: /*sendAuthenticationInfo*/
23132     offset=dissect_mc_message(tvb, offset, actx, tree,
23133                               FALSE, NULL, -1,
23134                               FALSE, dissect_gsm_old_SendAuthenticationInfoResOld, -1,
23135                               TRUE , dissect_gsm_map_ms_SendAuthenticationInfoRes, -1);
23136     break;
23137   case 57: /*restoreData*/
23138     offset=dissect_gsm_map_ms_RestoreDataRes(FALSE, tvb, offset, actx, tree, -1);
23139     break;
23140   case 58: /*sendIMSI*/
23141     offset=dissect_gsm_map_IMSI(FALSE, tvb, offset, actx, tree, hf_gsm_map_ms_imsi);
23142     break;
23143   case 59: /*unstructuredSS-Request*/
23144     offset=dissect_gsm_map_ss_USSD_Res(FALSE, tvb, offset, actx, tree, -1);
23145     break;
23146   case 60: /*unstructuredSS-Request*/
23147     offset=dissect_gsm_map_ss_USSD_Res(FALSE, tvb, offset, actx, tree, -1);
23148     break;
23149   case 61: /*unstructuredSS-Notify*/
23150     /* TRUE ? */
23151     proto_tree_add_expert_format(tree, actx->pinfo, &ei_gsm_map_unknown_invokeData, tvb, offset, -1, "Unknown returnResultData blob");
23152     break;
23153   case 62: /*AnyTimeSubscriptionInterrogation*/
23154     offset=dissect_gsm_map_ms_AnyTimeSubscriptionInterrogationRes(FALSE, tvb, offset, actx, tree, -1);
23155     break;
23156   case 64: /*alertServiceCentre*/
23157     /* TRUE */
23158     break;
23159   case 65: /*AnyTimeModification*/
23160     offset=dissect_gsm_map_ms_AnyTimeModificationRes(FALSE, tvb, offset, actx, tree, -1);
23161     break;
23162   case 66: /*readyForSM*/
23163     offset=dissect_gsm_map_sm_ReadyForSM_Res(FALSE, tvb, offset, actx, tree, -1);
23164     break;
23165   case 67: /*purgeMS*/
23166     offset=dissect_gsm_map_ms_PurgeMS_Res(FALSE, tvb, offset, actx, tree, -1);
23167     break;
23168   case 68: /*prepareHandover*/
23169     offset=dissect_mc_message(tvb, offset, actx, tree,
23170                               FALSE, NULL, -1,
23171                               FALSE, dissect_gsm_old_PrepareHO_ResOld, -1,
23172                               TRUE , dissect_gsm_map_ms_PrepareHO_Res, -1);
23173     break;
23174   case 69: /*prepareSubsequentHandover*/
23175     offset=dissect_mc_message(tvb, offset, actx, tree,
23176                               FALSE, NULL, -1,
23177                               FALSE, NULL, -1,
23178                               TRUE , dissect_gsm_map_ms_PrepareSubsequentHO_Res, -1);
23179     break;
23180   case 70: /*provideSubscriberInfo*/
23181     offset=dissect_gsm_map_ms_ProvideSubscriberInfoRes(FALSE, tvb, offset, actx, tree, -1);
23182     break;
23183   case 71: /*anyTimeInterrogation*/
23184     offset=dissect_gsm_map_ms_AnyTimeInterrogationRes(FALSE, tvb, offset, actx, tree, -1);
23185     break;
23186   case 72: /*ss-InvocationNotificatio*/
23187     offset=dissect_gsm_map_ss_SS_InvocationNotificationRes(FALSE, tvb, offset, actx, tree, -1);
23188     break;
23189   case 73: /*setReportingState*/
23190     offset=dissect_gsm_map_ch_SetReportingStateRes(FALSE, tvb, offset, actx, tree, -1);
23191     break;
23192   case 74: /*statusReport*/
23193     offset=dissect_gsm_map_ch_StatusReportRes(FALSE, tvb, offset, actx, tree, -1);
23194     break;
23195   case 75: /*remoteUserFree*/
23196     offset=dissect_gsm_map_ch_RemoteUserFreeRes(FALSE, tvb, offset, actx, tree, -1);
23197     break;
23198   case 76: /*registerCC-Entry*/
23199     offset=dissect_gsm_map_ss_RegisterCC_EntryRes(FALSE, tvb, offset, actx, tree, -1);
23200     break;
23201   case 77: /*eraseCC-Entry*/
23202     offset=dissect_gsm_map_ss_EraseCC_EntryRes(FALSE, tvb, offset, actx, tree, -1);
23203     break;
23204   case 78: /*secureTransportClass1*/
23205   case 79: /*secureTransportClass2*/
23206   case 80: /*secureTransportClass3*/
23207   case 81: /*secureTransportClass4*/
23208     offset=dissect_gsm_old_SecureTransportRes(FALSE, tvb, offset, actx, tree, -1);
23209     break;
23210   case 83: /*provideSubscriberLocation*/
23211     offset=dissect_gsm_map_lcs_ProvideSubscriberLocation_Res(FALSE, tvb, offset, actx, tree, -1);
23212     break;
23213   case 84: /*sendGroupCallInfo*/
23214     offset=dissect_gsm_map_gr_SendGroupCallInfoRes(FALSE, tvb, offset, actx, tree, -1);
23215     break;
23216   case 85: /*sendRoutingInfoForLCS*/
23217     offset=dissect_gsm_map_lcs_RoutingInfoForLCS_Res(FALSE, tvb, offset, actx, tree, -1);
23218     break;
23219   case 86: /*subscriberLocationReport*/
23220     offset=dissect_gsm_map_lcs_SubscriberLocationReport_Res(FALSE, tvb, offset, actx, tree, -1);
23221     break;
23222   case 87: /*ist-Alert*/
23223     offset=dissect_gsm_map_ch_IST_AlertRes(FALSE, tvb, offset, actx, tree, -1);
23224     break;
23225   case 88: /*ist-Command*/
23226     offset=dissect_gsm_map_ch_IST_CommandRes(FALSE, tvb, offset, actx, tree, -1);
23227     break;
23228   case 89: /*noteMM-Event*/
23229     offset=dissect_gsm_map_ms_NoteMM_EventRes(FALSE, tvb, offset, actx, tree, -1);
23230     break;
23231   case 108: /*SS-protocol LCS-PeriodicTriggeredInvokeRes*/
23232       offset = dissect_gsm_ss_LCS_PeriodicTriggeredInvokeRes(FALSE, tvb, offset, actx, tree, -1);
23233       break;
23234   case 109: /*SS-protocol lcs-PeriodicLocationCancellation*/
23235     /* No parameter */
23236     break;
23237   case 110: /*SS-protocol lcs-LocationUpdate*/
23238     offset=dissect_gsm_ss_LCS_LocationUpdateRes(FALSE, tvb, offset, actx, tree, -1);
23239     break;
23240   case 111: /*SS-protocol lcs-PeriodicLocationRequest*/
23241     offset=dissect_gsm_ss_LCS_PeriodicLocationRequestRes(FALSE, tvb, offset, actx, tree, -1);
23242     break;
23243   case 112: /*SS-protocol lcs-AreaEventCancellation*/
23244     break;
23245   case 113: /*SS-protocol lcs-AreaEventReport*/
23246     break;
23247   case 114: /*SS-protocol lcs-AreaEventRequest No RESULT data*/
23248     break;
23249   case 115: /*SS-protocol lcs-MOLR*/
23250     offset=dissect_gsm_ss_LCS_MOLRRes(FALSE, tvb, offset, actx, tree, -1);
23251     break;
23252   case 116: /*SS-protocol lcs-LocationNotification*/
23253     offset=dissect_gsm_ss_LocationNotificationRes(FALSE, tvb, offset, actx, tree, -1);
23254     break;
23255   case 117: /*SS-protocol callDeflection no RESULT*/
23256     break;
23257   case 118: /*SS-protocol userUserService no RESULT*/
23258     break;
23259   case 119: /*SS-protocol accessRegisterCCEntry*/
23260     offset=dissect_gsm_map_ss_RegisterCC_EntryRes(FALSE, tvb, offset, actx, tree, -1);
23261     break;
23262   case 120: /*SS-protocol forwardCUG-Info*/
23263     /* No RETURN RESULT*/
23264     break;
23265   case 121: /*SS-protocol splitMPTY no RESULT*/
23266     break;
23267   case 122: /*SS-protocol retrieveMPTY no RESULT*/
23268     break;
23269   case 123: /*SS-protocol holdMPTY no RESULT*/
23270     break;
23271   case 124: /*SS-protocol buildMPTY no RESULT*/
23272     break;
23273   case 125: /*SS-protocol forwardChargeAdvice no RESULT*/
23274     break;
23275   case 126: /*SS-protocol explicitCT no RESULT*/
23276     break;
23277 
23278  default:
23279    if(!dissector_try_uint_new(map_prop_res_opcode_table, (guint8)opcode, tvb, actx->pinfo, tree, TRUE, actx->subtree.top_tree)){
23280         proto_tree_add_expert_format(tree, actx->pinfo, &ei_gsm_map_unknown_invokeData,
23281                                      tvb, offset, -1, "Unknown returnResultData %d", opcode);
23282    }
23283    offset+= tvb_reported_length_remaining(tvb,offset);
23284    break;
23285   }
23286   return offset;
23287 }
23288 
23289 
23290 
23291 static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
23292 
23293   switch(errorCode){
23294   case 1: /* UnknownSubscriberParam */
23295     offset=dissect_gsm_map_er_UnknownSubscriberParam(FALSE, tvb, offset, actx, tree, -1);
23296     break;
23297   case 4: /* SecureTransportErrorParam */
23298     offset=dissect_gsm_old_SecureTransportErrorParam(FALSE, tvb, offset, actx, tree, -1);
23299     break;
23300   case 5: /* UnidentifiedSubParam */
23301     offset=dissect_gsm_map_er_UnidentifiedSubParam(FALSE, tvb, offset, actx, tree, -1);
23302     break;
23303   case 6: /* AbsentSubscriberSM-Param */
23304     offset=dissect_gsm_map_er_AbsentSubscriberSM_Param(FALSE, tvb, offset, actx, tree, -1);
23305     break;
23306   case 8: /* RoamingNotAllowedParam */
23307     offset=dissect_gsm_map_er_RoamingNotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
23308     break;
23309   case 9: /* IllegalSubscriberParam */
23310     offset=dissect_gsm_map_er_IllegalSubscriberParam(FALSE, tvb, offset, actx, tree, -1);
23311     break;
23312   case 10: /* BearerServNotProvParam */
23313     offset=dissect_gsm_map_er_BearerServNotProvParam(FALSE, tvb, offset, actx, tree, -1);
23314     break;
23315   case 11: /* TeleservNotProvParam */
23316     offset=dissect_gsm_map_er_TeleservNotProvParam(FALSE, tvb, offset, actx, tree, -1);
23317     break;
23318   case 12: /* IllegalEquipmentParam */
23319     offset=dissect_gsm_map_er_IllegalEquipmentParam(FALSE, tvb, offset, actx, tree, -1);
23320     break;
23321   case 13: /* CallBarredParam */
23322     offset=dissect_gsm_map_er_CallBarredParam(FALSE, tvb, offset, actx, tree, -1);
23323     break;
23324   case 14: /* ForwardingViolationParam */
23325     offset=dissect_gsm_map_er_ForwardingViolationParam(FALSE, tvb, offset, actx, tree, -1);
23326     break;
23327   case 15: /* CUG-RejectParam */
23328     offset=dissect_gsm_map_er_CUG_RejectParam(FALSE, tvb, offset, actx, tree, -1);
23329     break;
23330   case 16: /* IllegalSS-OperationParam */
23331     offset=dissect_gsm_map_er_IllegalSS_OperationParam(FALSE, tvb, offset, actx, tree, -1);
23332     break;
23333   case 17: /* SS-ErrorStatus */
23334     offset=dissect_gsm_map_ss_SS_Status(FALSE, tvb, offset, actx, tree, hf_gsm_map_ss_ss_Status);
23335     break;
23336   case 18: /* SS-NotAvailableParam */
23337     offset=dissect_gsm_map_er_SS_NotAvailableParam(FALSE, tvb, offset, actx, tree, -1);
23338     break;
23339   case 19: /* SS-SubscriptionViolationParam */
23340     offset=dissect_gsm_map_er_SS_SubscriptionViolationParam(FALSE, tvb, offset, actx, tree, -1);
23341     break;
23342   case 20: /* SS-IncompatibilityCause */
23343     offset=dissect_gsm_map_er_SS_IncompatibilityCause(FALSE, tvb, offset, actx, tree, -1);
23344     break;
23345   case 21: /* FacilityNotSupParam */
23346     offset=dissect_gsm_map_er_FacilityNotSupParam(FALSE, tvb, offset, actx, tree, -1);
23347     break;
23348   case 22: /* OngoingGroupCallParam */
23349       offset=dissect_gsm_map_er_OngoingGroupCallParam(FALSE, tvb, offset, actx, tree, -1);
23350       break;
23351   case 27: /* AbsentSubscriberParam */
23352     offset=dissect_gsm_map_er_AbsentSubscriberParam(FALSE, tvb, offset, actx, tree, -1);
23353     break;
23354   case 28: /* IncompatibleTerminalParam */
23355     offset=dissect_gsm_map_er_IncompatibleTerminalParam(FALSE, tvb, offset, actx, tree, -1);
23356     break;
23357   case 29: /* ShortTermDenialParam */
23358     offset=dissect_gsm_map_er_ShortTermDenialParam(FALSE, tvb, offset, actx, tree, -1);
23359     break;
23360   case 30: /* LongTermDenialParam */
23361     offset=dissect_gsm_map_er_LongTermDenialParam(FALSE, tvb, offset, actx, tree, -1);
23362     break;
23363   case 31: /* SubBusyForMT-SMS-Param */
23364     offset=dissect_gsm_map_er_SubBusyForMT_SMS_Param(FALSE, tvb, offset, actx, tree, -1);
23365     break;
23366   case 32: /* SM-DeliveryFailureCause */
23367     offset=dissect_gsm_map_er_SM_DeliveryFailureCause(FALSE, tvb, offset, actx, tree, -1);
23368     break;
23369   case 33: /* MessageWaitListFullParam */
23370     offset=dissect_gsm_map_er_MessageWaitListFullParam(FALSE, tvb, offset, actx, tree, -1);
23371     break;
23372   case 34: /* SystemFailureParam */
23373     offset=dissect_gsm_map_er_SystemFailureParam(FALSE, tvb, offset, actx, tree, -1);
23374     break;
23375   case 35: /* DataMissingParam */
23376     offset=dissect_gsm_map_er_DataMissingParam(FALSE, tvb, offset, actx, tree, -1);
23377     break;
23378   case 36: /* UnexpectedDataParam */
23379     offset=dissect_gsm_map_er_UnexpectedDataParam(FALSE, tvb, offset, actx, tree, -1);
23380     break;
23381   case 37: /* PW-RegistrationFailureCause */
23382     offset=dissect_gsm_map_er_PW_RegistrationFailureCause(FALSE, tvb, offset, actx, tree, -1);
23383     break;
23384   case 39: /* NoRoamingNbParam */
23385     offset=dissect_gsm_map_er_NoRoamingNbParam(FALSE, tvb, offset, actx, tree, -1);
23386     break;
23387   case 40: /* TracingBufferFullParam */
23388     offset=dissect_gsm_map_er_TracingBufferFullParam(FALSE, tvb, offset, actx, tree, -1);
23389     break;
23390   case 42: /* TargetCellOutsideGCA-Param */
23391     offset=dissect_gsm_map_er_TargetCellOutsideGCA_Param(FALSE, tvb, offset, actx, tree, -1);
23392     break;
23393   case 44: /* NumberChangedParam */
23394     offset=dissect_gsm_map_er_NumberChangedParam(FALSE, tvb, offset, actx, tree, -1);
23395     break;
23396   case 45: /* BusySubscriberParam */
23397     offset=dissect_gsm_map_er_BusySubscriberParam(FALSE, tvb, offset, actx, tree, -1);
23398     break;
23399   case 46: /* NoSubscriberReplyParam */
23400     offset=dissect_gsm_map_er_NoSubscriberReplyParam(FALSE, tvb, offset, actx, tree, -1);
23401     break;
23402   case 47: /* ForwardingFailedParam */
23403     offset=dissect_gsm_map_er_ForwardingFailedParam(FALSE, tvb, offset, actx, tree, -1);
23404     break;
23405   case 48: /* OR-NotAllowedParam */
23406     offset=dissect_gsm_map_er_OR_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
23407     break;
23408   case 49: /* ATI-NotAllowedParam */
23409     offset=dissect_gsm_map_er_ATI_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
23410     break;
23411   case 50: /* NoGroupCallNbParam */
23412     offset=dissect_gsm_map_er_NoGroupCallNbParam(FALSE, tvb, offset, actx, tree, -1);
23413     break;
23414   case 51: /* ResourceLimitationParam */
23415     offset=dissect_gsm_map_er_ResourceLimitationParam(FALSE, tvb, offset, actx, tree, -1);
23416     break;
23417   case 52: /* UnauthorizedRequestingNetwork-Param */
23418     offset=dissect_gsm_map_er_UnauthorizedRequestingNetwork_Param(FALSE, tvb, offset, actx, tree, -1);
23419     break;
23420   case 53: /* UnauthorizedLCSClient-Param */
23421     offset=dissect_gsm_map_er_UnauthorizedLCSClient_Param(FALSE, tvb, offset, actx, tree, -1);
23422     break;
23423   case 54: /* PositionMethodFailure-Param */
23424     offset=dissect_gsm_map_er_PositionMethodFailure_Param(FALSE, tvb, offset, actx, tree, -1);
23425     break;
23426   case 58: /* UnknownOrUnreachableLCSClient-Param */
23427     offset=dissect_gsm_map_er_UnknownOrUnreachableLCSClient_Param(FALSE, tvb, offset, actx, tree, -1);
23428     break;
23429   case 59: /* MM-EventNotSupported-Param */
23430     offset=dissect_gsm_map_er_MM_EventNotSupported_Param(FALSE, tvb, offset, actx, tree, -1);
23431     break;
23432   case 60: /* ATSI-NotAllowedParam */
23433     offset=dissect_gsm_map_er_ATSI_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
23434     break;
23435   case 61: /* ATM-NotAllowedParam */
23436     offset=dissect_gsm_map_er_ATM_NotAllowedParam(FALSE, tvb, offset, actx, tree, -1);
23437     break;
23438   case 62: /* InformationNotAvailableParam */
23439     offset=dissect_gsm_map_er_InformationNotAvailableParam(FALSE, tvb, offset, actx, tree, -1);
23440     break;
23441   default:
23442     if(!dissector_try_uint_new(map_prop_err_opcode_table, (guint8)opcode, tvb, actx->pinfo, tree, TRUE, actx->subtree.top_tree)){
23443         proto_tree_add_expert_format(tree, actx->pinfo, &ei_gsm_map_unknown_invokeData,
23444                                      tvb, offset, -1, "Unknown returnErrorData %d", opcode);
23445     }
23446     offset+= tvb_reported_length_remaining(tvb,offset);
23447     break;
23448   }
23449   return offset;
23450 }
23451 
23452 /* Private extension container for PLMN Data */
23453 static int dissect_gsm_mapext_PlmnContainer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23454   proto_tree    *tree;
23455   asn1_ctx_t asn1_ctx;
23456   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23457   /* create display subtree for the protocol */
23458   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_gsm_old_PlmnContainer_U, NULL, "MAP Ext. Plmn Container");
23459 
23460   return dissect_gsm_old_PlmnContainer(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23461 }
23462 
23463 static int dissect_gsm_map_ericsson_ext_ExtensionType(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23464     proto_tree    *tree;
23465     asn1_ctx_t asn1_ctx;
23466     asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23467     tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_gsm_map_ericsson_ExtensionType, NULL, "Ericsson Extension");
23468     return dissect_gsm_map_ericsson_ExtensionType(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23469 }
23470 
23471 static int dissect_NokiaMAP_ext_SriResExtension(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23472   proto_tree    *tree;
23473   asn1_ctx_t asn1_ctx;
23474   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23475   /* create display subtree for the protocol */
23476   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_SriResExtension_U, NULL, "Nokia Extension");
23477   return dissect_NokiaMAP_Extensions_SriResExtension(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23478 }
23479 
23480 static int dissect_NokiaMAP_ext_CanLocArgExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23481   proto_tree    *tree;
23482   asn1_ctx_t asn1_ctx;
23483   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23484   /* create display subtree for the protocol */
23485   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_CanLocArgExt_U, NULL, "Nokia Extension");
23486 
23487   return dissect_NokiaMAP_Extensions_CanLocArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23488 }
23489 
23490 static int dissect_NokiaMAP_ext_ATMargExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23491   proto_tree    *tree;
23492   asn1_ctx_t asn1_ctx;
23493   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23494   /* create display subtree for the protocol */
23495   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_ATMargExt_U, NULL, "Nokia Extension");
23496 
23497   return dissect_NokiaMAP_Extensions_ATMargExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23498 }
23499 
23500 static int dissect_NokiaMAP_ext_DTMargExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23501   proto_tree    *tree;
23502   asn1_ctx_t asn1_ctx;
23503   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23504   /* create display subtree for the protocol */
23505   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_DTMargExt_U, NULL, "Nokia Extension");
23506 
23507   return dissect_NokiaMAP_Extensions_DTMargExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23508 }
23509 
23510 static int dissect_NokiaMAP_ext_NumberPorted(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23511   asn1_ctx_t asn1_ctx;
23512   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23513 
23514   return dissect_NokiaMAP_Extensions_NumberPorted(FALSE, tvb, 0, &asn1_ctx, parent_tree, -1);
23515 }
23516 
23517 static int dissect_NokiaMAP_ext_ATMresExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23518   proto_tree    *tree;
23519   asn1_ctx_t asn1_ctx;
23520   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23521   /* create display subtree for the protocol */
23522   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_ATMresExt_U, NULL, "Nokia Extension");
23523 
23524   return dissect_NokiaMAP_Extensions_ATMresExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23525 }
23526 
23527 static int dissect_NokiaMAP_ext_AbsentSubscriberExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23528   asn1_ctx_t asn1_ctx;
23529 
23530   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23531   return dissect_NokiaMAP_Extensions_AbsentSubscriberExt(FALSE, tvb, 0, &asn1_ctx, parent_tree, -1);
23532 }
23533 
23534 static int dissect_NokiaMAP_ext_SriForSMArgExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23535   proto_tree    *tree;
23536   asn1_ctx_t asn1_ctx;
23537   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23538   /* create display subtree for the protocol */
23539   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_SriForSMArgExt_U, NULL, "Nokia Extension");
23540 
23541   return dissect_NokiaMAP_Extensions_SriForSMArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23542 }
23543 
23544 static int dissect_NokiaMAP_ext_ReportSMDelStatArgExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23545   proto_tree    *tree;
23546   asn1_ctx_t asn1_ctx;
23547   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23548   /* create display subtree for the protocol */
23549   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_ReportSMDelStatArgExt_U, NULL, "Nokia Extension");
23550 
23551   return dissect_NokiaMAP_Extensions_ReportSMDelStatArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23552 }
23553 
23554 static int dissect_NokiaMAP_ext_UdlArgExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23555   proto_tree    *tree;
23556   asn1_ctx_t asn1_ctx;
23557   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23558   /* create display subtree for the protocol */
23559   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_UdlArgExt_U, NULL, "Nokia Extension");
23560 
23561   return dissect_NokiaMAP_Extensions_UdlArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23562 }
23563 
23564 static int dissect_NokiaMAP_ext_RoamNotAllowedExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23565   proto_tree    *tree;
23566   asn1_ctx_t asn1_ctx;
23567   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23568   /* create display subtree for the protocol */
23569   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_RoamNotAllowedExt_U, NULL, "Nokia Extension");
23570 
23571   return dissect_NokiaMAP_Extensions_RoamNotAllowedExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23572 }
23573 
23574 static int dissect_NokiaMAP_ext_MO_ForwardSM_ArgExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23575   proto_tree    *tree;
23576   asn1_ctx_t asn1_ctx;
23577   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23578   /* create display subtree for the protocol */
23579   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_MO_ForwardSM_ArgExt_U, NULL, "Nokia Extension");
23580 
23581   return dissect_NokiaMAP_Extensions_MO_ForwardSM_ArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23582 }
23583 
23584 static int dissect_NokiaMAP_ext_ErrOlcmInfoTableExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23585   proto_tree    *tree;
23586   asn1_ctx_t asn1_ctx;
23587   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23588   /* create display subtree for the protocol */
23589   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_ErrOlcmInfoTableExt_U, NULL, "Nokia Extension");
23590 
23591   return dissect_NokiaMAP_Extensions_ErrOlcmInfoTableExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23592 }
23593 
23594 static int dissect_NokiaMAP_ext_RoutingCategoryExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23595   proto_tree    *tree;
23596   asn1_ctx_t asn1_ctx;
23597   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23598   /* create display subtree for the protocol */
23599   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_RoutingCategoryExt_U, NULL, "Nokia Extension");
23600 
23601   return dissect_NokiaMAP_Extensions_RoutingCategoryExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23602 }
23603 
23604 static int dissect_NokiaMAP_ext_AnyTimeModArgExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23605   proto_tree    *tree;
23606   asn1_ctx_t asn1_ctx;
23607   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23608   /* create display subtree for the protocol */
23609   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_AnyTimeModArgExt_U, NULL, "Nokia Extension");
23610 
23611   return dissect_NokiaMAP_Extensions_AnyTimeModArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23612 }
23613 
23614 static int dissect_NokiaMAP_ext_AccessTypeExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23615   asn1_ctx_t asn1_ctx;
23616   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23617   /* create display subtree for the protocol */
23618   return dissect_NokiaMAP_Extensions_AccessTypeExt(FALSE, tvb, 0, &asn1_ctx, parent_tree, -1);
23619 }
23620 
23621 static int dissect_NokiaMAP_ext_AccessSubscriptionListExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23622   asn1_ctx_t asn1_ctx;
23623   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23624   /* create display subtree for the protocol */
23625   return dissect_NokiaMAP_Extensions_AccessSubscriptionListExt(FALSE, tvb, 0, &asn1_ctx, parent_tree, -1);
23626 }
23627 
23628 static int dissect_NokiaMAP_ext_AllowedServiceData(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23629   asn1_ctx_t asn1_ctx;
23630   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23631   /* create display subtree for the protocol */
23632   return dissect_NokiaMAP_Extensions_AllowedServiceData(FALSE, tvb, 0, &asn1_ctx, parent_tree, -1);
23633 }
23634 
23635 static int dissect_NokiaMAP_ext_SriExtension(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23636   proto_tree    *tree;
23637   asn1_ctx_t asn1_ctx;
23638   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23639   /* create display subtree for the protocol */
23640   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_SriExtension_U, NULL, "Nokia Extension");
23641 
23642   return dissect_NokiaMAP_Extensions_SriExtension(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23643 }
23644 
23645 static int dissect_NokiaMAP_ExtraSignalInfo(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23646   proto_tree    *tree;
23647   asn1_ctx_t asn1_ctx;
23648   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23649   /* create display subtree for the protocol */
23650   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_ExtraSignalInfo_U, NULL, "Nokia Extension");
23651 
23652   return dissect_NokiaMAP_Extensions_ExtraSignalInfo(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23653 }
23654 
23655 static int dissect_NokiaMAP_ext_SS_DataExtension(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23656   proto_tree    *tree;
23657   asn1_ctx_t asn1_ctx;
23658   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23659   /* create display subtree for the protocol */
23660   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_SS_DataExtension_U, NULL, "Nokia Extension");
23661 
23662   return dissect_NokiaMAP_Extensions_SS_DataExtension(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23663 }
23664 
23665 static int dissect_NokiaMAP_ext_HOExtension(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23666   proto_tree    *tree;
23667   asn1_ctx_t asn1_ctx;
23668   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23669   /* create display subtree for the protocol */
23670   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_HO_Ext_U, NULL, "Nokia Extension");
23671 
23672   return dissect_NokiaMAP_Extensions_HO_Ext(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23673 }
23674 
23675 static int dissect_NokiaMAP_ext_UlResExtension(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23676   proto_tree    *tree;
23677   asn1_ctx_t asn1_ctx;
23678   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23679   /* create display subtree for the protocol */
23680   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_UlResExt_U, NULL, "Nokia Extension");
23681 
23682   return dissect_NokiaMAP_Extensions_UlResExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23683 }
23684 
23685 
23686 static int dissect_NokiaMAP_ext_IsdArgExtension(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23687   proto_tree    *tree;
23688   asn1_ctx_t asn1_ctx;
23689   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23690   /* create display subtree for the protocol */
23691   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_IsdArgExt_U, NULL, "Nokia Extension");
23692 
23693   return dissect_NokiaMAP_Extensions_IsdArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23694 }
23695 
23696 static int dissect_NokiaMAP_ext_DsdArgExt(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data _U_) {
23697   proto_tree    *tree;
23698   asn1_ctx_t asn1_ctx;
23699   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23700   /* create display subtree for the protocol */
23701   tree = proto_tree_add_subtree(parent_tree, tvb, 0, -1, ett_NokiaMAP_Extensions_DsdArgExt_U, NULL, "Nokia Extension");
23702 
23703   return dissect_NokiaMAP_Extensions_DsdArgExt(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23704 }
23705 
23706 static int
23707 dissect_gsm_map_GSMMAPPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset,
23708                           asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_) {
23709 
23710   char *version_ptr;
23711 
23712   opcode = 0;
23713   if (pref_application_context_version == APPLICATON_CONTEXT_FROM_TRACE) {
23714     gsm_map_private_info_t *gsm_map_priv = (gsm_map_private_info_t*)actx->value_ptr;
23715     application_context_version = 0;
23716     if (gsm_map_priv && gsm_map_priv->tcap_private != NULL){
23717       if (gsm_map_priv->tcap_private->acv==TRUE ){
23718         version_ptr = strrchr((const char*)gsm_map_priv->tcap_private->oid,'.');
23719         if (version_ptr){
23720           ws_strtoi32(version_ptr + 1, NULL, &application_context_version);
23721         }
23722       }
23723     }
23724   }else{
23725     application_context_version = pref_application_context_version;
23726   }
23727 
23728   gsmmap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
23729   /* Get the length and add 2 */
23730   gsm_map_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
23731 
23732   col_set_str(actx->pinfo->cinfo, COL_INFO, val_to_str_const(gsmmap_pdu_type, gsm_old_Component_vals, "Unknown GSM-MAP Component"));
23733   col_append_str(actx->pinfo->cinfo, COL_INFO, " ");
23734   offset = dissect_gsm_old_Component(FALSE, tvb, 0, actx, tree, hf_gsm_map_old_Component_PDU);
23735 /*
23736   offset = dissect_ber_choice(pinfo, tree, tvb, offset,
23737                               GSMMAPPDU_choice, hf_index, ett_gsm_map_GSMMAPPDU, NULL);
23738 */
23739 
23740   return offset;
23741 }
23742 
23743 static int
23744 dissect_gsm_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
23745 {
23746   proto_item  *item=NULL;
23747   proto_tree  *tree=NULL;
23748   /* Used for gsm_map TAP */
23749   static      gsm_map_tap_rec_t tap_rec;
23750   gint        op_idx;
23751   asn1_ctx_t asn1_ctx;
23752   gsm_map_private_info_t *gsm_map_priv;
23753 
23754   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23755 
23756   col_set_str(pinfo->cinfo, COL_PROTOCOL, "GSM MAP");
23757 
23758   asn1_ctx.subtree.top_tree = parent_tree;
23759 
23760   gsm_map_priv = wmem_new0(pinfo->pool, gsm_map_private_info_t);
23761   gsm_map_priv->tcap_private = (struct tcap_private_t *)data;
23762   asn1_ctx.value_ptr = gsm_map_priv;
23763 
23764   /* create display subtree for the protocol */
23765   item = proto_tree_add_item(parent_tree, proto_gsm_map, tvb, 0, -1, ENC_NA);
23766   tree = proto_item_add_subtree(item, ett_gsm_map);
23767 
23768   dissect_gsm_map_GSMMAPPDU(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23769   try_val_to_str_idx(opcode, gsm_map_opr_code_strings, &op_idx);
23770 
23771   if (op_idx != -1) {
23772     tap_rec.invoke = (gsmmap_pdu_type == 1) ? TRUE : FALSE;
23773     tap_rec.opcode = opcode;
23774     tap_rec.size = gsm_map_pdu_size;
23775 
23776     tap_queue_packet(gsm_map_tap, pinfo, &tap_rec);
23777   }
23778 
23779   return tvb_captured_length(tvb);
23780 }
23781 
23782 static int
23783 dissect_gsm_map_sccp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void* data)
23784 {
23785   proto_item  *item=NULL;
23786   proto_tree  *tree=NULL;
23787   /* Used for gsm_map TAP */
23788   static      gsm_map_tap_rec_t tap_rec;
23789   gint        op_idx;
23790   asn1_ctx_t asn1_ctx;
23791   gsm_map_private_info_t *gsm_map_priv;
23792 
23793   asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
23794 
23795   col_set_str(pinfo->cinfo, COL_PROTOCOL, "GSM MAP");
23796 
23797   asn1_ctx.subtree.top_tree = parent_tree;
23798 
23799   gsm_map_priv = wmem_new0(pinfo->pool, gsm_map_private_info_t);
23800   gsm_map_priv->sccp_msg_info = (sccp_msg_info_t *)data;
23801   asn1_ctx.value_ptr = gsm_map_priv;
23802 
23803   /* create display subtree for the protocol */
23804   item = proto_tree_add_item(parent_tree, proto_gsm_map, tvb, 0, -1, ENC_NA);
23805   tree = proto_item_add_subtree(item, ett_gsm_map);
23806 
23807   dissect_gsm_map_GSMMAPPDU(FALSE, tvb, 0, &asn1_ctx, tree, -1);
23808   try_val_to_str_idx(opcode, gsm_map_opr_code_strings, &op_idx);
23809 
23810   if (op_idx != -1) {
23811     tap_rec.invoke = (gsmmap_pdu_type == 1) ? TRUE : FALSE;
23812     tap_rec.opcode = opcode;
23813     tap_rec.size = gsm_map_pdu_size;
23814 
23815     tap_queue_packet(gsm_map_tap, pinfo, &tap_rec);
23816   }
23817 
23818   return tvb_captured_length(tvb);
23819 }
23820 
23821 const value_string ssCode_vals[] = {
23822   { 0x00, "allSS - all SS" },
23823   { 0x10 ,"allLineIdentificationSS - all line identification SS" },
23824   { 0x11 ,"clip - calling line identification presentation" },
23825   { 0x12 ,"clir - calling line identification restriction" },
23826   { 0x13 ,"colp - connected line identification presentation" },
23827   { 0x14 ,"colr - connected line identification restriction" },
23828   { 0x15 ,"mci - malicious call identification" },
23829   { 0x18 ,"allNameIdentificationSS - all name identification SS" },
23830   { 0x19 ,"cnap - calling name presentation" },
23831   { 0x20 ,"allForwardingSS - all forwarding SS" },
23832   { 0x21 ,"cfu - call forwarding unconditional" },
23833   { 0x28 ,"allCondForwardingSS - all conditional forwarding SS" },
23834   { 0x29 ,"cfb - call forwarding busy" },
23835   { 0x2a ,"cfnry - call forwarding on no reply" },
23836   { 0x2b ,"cfnrc - call forwarding on mobile subscriber not reachable" },
23837   { 0x24 ,"cd - call deflection" },
23838   { 0x30 ,"allCallOfferingSS - all call offering SS includes also all forwarding SS" },
23839   { 0x31 ,"ect - explicit call transfer" },
23840   { 0x32 ,"mah - mobile access hunting" },
23841   { 0x40 ,"allCallCompletionSS - all Call completion SS" },
23842   { 0x41 ,"cw - call waiting" },
23843   { 0x42 ,"hold - call hold" },
23844   { 0x43 ,"ccbs-A - completion of call to busy subscribers, originating side" },
23845   { 0x44 ,"ccbs-B - completion of call to busy subscribers, destination side" },
23846   { 0x45 ,"mc - multicall" },
23847   { 0x50 ,"allMultiPartySS - all multiparty SS" },
23848   { 0x51 ,"multiPTY - multiparty" },
23849   { 0x60 ,"allCommunityOfInterestSS - all community of interest SS" },
23850   { 0x61 ,"cug - closed user group" },
23851   { 0x70 ,"allChargingSS - all charging SS" },
23852   { 0x71 ,"aoci - advice of charge information" },
23853   { 0x72 ,"aocc - advice of charge charging" },
23854   { 0x80 ,"allAdditionalInfoTransferSS - all additional information transfer SS" },
23855   { 0x81 ,"uus1 - UUS1 user-to-user signalling" },
23856   { 0x82 ,"uus2 - UUS2 user-to-user signalling" },
23857   { 0x83 ,"uus3 - UUS3 user-to-user signalling" },
23858   { 0x90 ,"allCallRestrictionSS - all Callrestriction SS" },
23859   { 0x91 ,"barringOfOutgoingCalls" },
23860   { 0x92 ,"baoc - barring of all outgoing calls" },
23861   { 0x93 ,"boic - barring of outgoing international calls" },
23862   { 0x94 ,"boicExHC - barring of outgoing international calls except those directed to the home PLMN" },
23863   { 0x99 ,"barringOfIncomingCalls" },
23864   { 0x9a ,"baic - barring of all incoming calls" },
23865   { 0x9b ,"bicRoam - barring of incoming calls when roaming outside home PLMN Country" },
23866   { 0xf0 ,"allPLMN-specificSS" },
23867   { 0xa0 ,"allCallPrioritySS - all call priority SS" },
23868   { 0xa1 ,"emlpp - enhanced Multilevel Precedence Pre-emption (EMLPP) service" },
23869   { 0xb0 ,"allLCSPrivacyException - all LCS Privacy Exception Classes" },
23870   { 0xb1 ,"universal - allow location by any LCS client" },
23871   { 0xb2 ,"callrelated - allow location by any value added LCS client to which a call is established from the target MS" },
23872   { 0xb3 ,"callunrelated - allow location by designated external value added LCS clients" },
23873   { 0xb4 ,"plmnoperator - allow location by designated PLMN operator LCS clients" },
23874   { 0xb5 ,"serviceType - allow location by LCS clients of a designated LCS service type" },
23875   { 0xc0 ,"allMOLR-SS - all Mobile Originating Location Request Classes" },
23876   { 0xc1 ,"basicSelfLocation - allow an MS to request its own location" },
23877   { 0xc2 ,"autonomousSelfLocation - allow an MS to perform self location without interaction with the PLMN for a predetermined period of time" },
23878   { 0xc3 ,"transferToThirdParty - allow an MS to request transfer of its location to another LCS client" },
23879 
23880   { 0xf1 ,"plmn-specificSS-1" },
23881   { 0xf2 ,"plmn-specificSS-2" },
23882   { 0xf3 ,"plmn-specificSS-3" },
23883   { 0xf4 ,"plmn-specificSS-4" },
23884   { 0xf5 ,"plmn-specificSS-5" },
23885   { 0xf6 ,"plmn-specificSS-6" },
23886   { 0xf7 ,"plmn-specificSS-7" },
23887   { 0xf8 ,"plmn-specificSS-8" },
23888   { 0xf9 ,"plmn-specificSS-9" },
23889   { 0xfa ,"plmn-specificSS-a" },
23890   { 0xfb ,"plmn-specificSS-b" },
23891   { 0xfc ,"plmn-specificSS-c" },
23892   { 0xfd ,"plmn-specificSS-d" },
23893   { 0xfe ,"plmn-specificSS-e" },
23894   { 0xff ,"plmn-specificSS-f" },
23895   { 0, NULL }
23896 };
23897 
23898 static const value_string Teleservice_vals[] = {
23899   { 0x00, "allTeleservices" },
23900   { 0x10, "allSpeechTransmissionServices" },
23901   { 0x11, "telephony" },
23902   { 0x12, "emergencyCalls" },
23903   { 0x20, "allShortMessageServices" },
23904   { 0x21, "shortMessageMT-PP" },
23905   { 0x22, "shortMessageMO-PP" },
23906   { 0x60, "allFacsimileTransmissionServices" },
23907   { 0x61, "facsimileGroup3AndAlterSpeech" },
23908   { 0x62, "automaticFacsimileGroup3" },
23909   { 0x63, "facsimileGroup4" },
23910 
23911   { 0x70, "allDataTeleservices" },
23912   { 0x80, "allTeleservices-ExceptSMS" },
23913 
23914   { 0x90, "allVoiceGroupCallServices" },
23915   { 0x91, "voiceGroupCall" },
23916   { 0x92, "voiceBroadcastCall" },
23917 
23918   { 0xd0, "allPLMN-specificTS" },
23919   { 0xd1, "plmn-specificTS-1" },
23920   { 0xd2, "plmn-specificTS-2" },
23921   { 0xd3, "plmn-specificTS-3" },
23922   { 0xd4, "plmn-specificTS-4" },
23923   { 0xd5, "plmn-specificTS-5" },
23924   { 0xd6, "plmn-specificTS-6" },
23925   { 0xd7, "plmn-specificTS-7" },
23926   { 0xd8, "plmn-specificTS-8" },
23927   { 0xd9, "plmn-specificTS-9" },
23928   { 0xda, "plmn-specificTS-A" },
23929   { 0xdb, "plmn-specificTS-B" },
23930   { 0xdc, "plmn-specificTS-C" },
23931   { 0xdd, "plmn-specificTS-D" },
23932   { 0xde, "plmn-specificTS-E" },
23933   { 0xdf, "plmn-specificTS-F" },
23934   { 0, NULL }
23935 };
23936 
23937 static const value_string Bearerservice_vals[] = {
23938   { 0x00, "allBearerServices" },
23939   { 0x10, "allDataCDA-Services" },
23940   { 0x11, "dataCDA-300bps" },
23941   { 0x12, "dataCDA-1200bps" },
23942   { 0x13, "dataCDA-1200-75bps" },
23943   { 0x14, "dataCDA-2400bps" },
23944   { 0x15, "dataCDA-4800bps" },
23945   { 0x16, "dataCDA-9600bps" },
23946   { 0x17, "general-dataCDA" },
23947 
23948   { 0x18, "allDataCDS-Services" },
23949   { 0x1A, "dataCDS-1200bps" },
23950   { 0x1C, "dataCDS-2400bps" },
23951   { 0x1D, "dataCDS-4800bps" },
23952   { 0x1E, "dataCDS-9600bps" },
23953   { 0x1F, "general-dataCDS" },
23954 
23955   { 0x20, "allPadAccessCA-Services" },
23956   { 0x21, "padAccessCA-300bps" },
23957   { 0x22, "padAccessCA-1200bps" },
23958   { 0x23, "padAccessCA-1200-75bps" },
23959   { 0x24, "padAccessCA-2400bps" },
23960   { 0x25, "padAccessCA-4800bps" },
23961   { 0x26, "padAccessCA-9600bps" },
23962   { 0x27, "general-padAccessCA" },
23963 
23964   { 0x28, "allDataPDS-Services" },
23965   { 0x2C, "dataPDS-2400bps" },
23966   { 0x2D, "dataPDS-4800bps" },
23967   { 0x2E, "dataPDS-9600bps" },
23968   { 0x2F, "general-dataPDS" },
23969 
23970   { 0x30, "allAlternateSpeech-DataCDA" },
23971   { 0x38, "allAlternateSpeech-DataCDS" },
23972   { 0x40, "allSpeechFollowedByDataCDA" },
23973   { 0x48, "allSpeechFollowedByDataCDS" },
23974 
23975   { 0x50, "allDataCircuitAsynchronous" },
23976   { 0x60, "allAsynchronousServices" },
23977   { 0x58, "allDataCircuitSynchronous" },
23978   { 0x68, "allSynchronousServices" },
23979 
23980   { 0xD0, "allPLMN-specificBS" },
23981   { 0xD1, "plmn-specificBS-1" },
23982   { 0xD2, "plmn-specificBS-2" },
23983   { 0xD3, "plmn-specificBS-3" },
23984   { 0xD4, "plmn-specificBS-4" },
23985   { 0xD5, "plmn-specificBS-5" },
23986   { 0xD6, "plmn-specificBS-6" },
23987   { 0xD7, "plmn-specificBS-7" },
23988   { 0xD8, "plmn-specificBS-8" },
23989   { 0xD9, "plmn-specificBS-9" },
23990   { 0xDA, "plmn-specificBS-A" },
23991   { 0xDB, "plmn-specificBS-B" },
23992   { 0xDC, "plmn-specificBS-C" },
23993   { 0xDD, "plmn-specificBS-D" },
23994   { 0xDE, "plmn-specificBS-E" },
23995   { 0xDF, "plmn-specificBS-F" },
23996 
23997   {  0, NULL }
23998 };
23999 
24000 /* ForwardingOptions
24001 
24002 -- bit 8: notification to forwarding party
24003 -- 0 no notification
24004 -- 1 notification
24005 */
24006 static const true_false_string notification_value  = {
24007   "Notification",
24008   "No notification"
24009 };
24010 /*
24011 -- bit 7: redirecting presentation
24012 -- 0 no presentation
24013 -- 1 presentation
24014 */
24015 static const true_false_string redirecting_presentation_value  = {
24016   "Presentation",
24017   "No presentation"
24018 };
24019 /*
24020 -- bit 6: notification to calling party
24021 -- 0 no notification
24022 -- 1 notification
24023 */
24024 /*
24025 -- bit 5: 0 (unused)
24026 -- bits 43: forwarding reason
24027 -- 00 ms not reachable
24028 -- 01 ms busy
24029 -- 10 no reply
24030 -- 11 unconditional when used in a SRI Result,
24031 -- or call deflection when used in a RCH Argument
24032 */
24033 static const value_string forwarding_reason_values[] = {
24034   { 0x0, "ms not reachable" },
24035   { 0x1, "ms busy" },
24036   { 0x2, "no reply" },
24037   { 0x3, "unconditional when used in a SRI Result or call deflection when used in a RCH Argument" },
24038   {  0, NULL }
24039 };
24040 /*
24041 -- bits 21: 00 (unused)
24042 */
24043 
24044 static const value_string pdp_type_org_values[] = {
24045   { 0x0, "ETSI" },
24046   { 0x1, "IETF" },
24047   { 0xf, "Empty PDP type" },
24048   {  0, NULL }
24049 };
24050 
24051 static const value_string etsi_pdp_type_number_values[] = {
24052   { 0x0, "Reserved, used in earlier version of this protocol" },
24053   { 0x1, "PPP" },
24054   {  0, NULL }
24055 };
24056 
24057 static const value_string ietf_pdp_type_number_values[] = {
24058   { 0x21, "IPv4 Address" },
24059   { 0x57, "IPv6 Address" },
24060   {  0, NULL }
24061 };
24062 
24063 /*
24064 ChargingCharacteristics ::= OCTET STRING (SIZE (2))
24065 -- Octets are coded according to 3GPP TS 32.015.
24066 -- From 3GPP TS 32.015.
24067 --
24068 -- Descriptions for the bits of the flag set:
24069 --
24070 -- Bit 1: H (Hot billing) := '00000001'B
24071 -- Bit 2: F (Flat rate) := '00000010'B
24072 -- Bit 3: P (Prepaid service) := '00000100'B
24073 -- Bit 4: N (Normal billing) := '00001000'B
24074 -- Bit 5: - (Reserved, set to 0) := '00010000'B
24075 -- Bit 6: - (Reserved, set to 0) := '00100000'B
24076 -- Bit 7: - (Reserved, set to 0) := '01000000'B
24077 -- Bit 8: - (Reserved, set to 0) := '10000000'B
24078 */
24079 static const value_string chargingcharacteristics_values[] = {
24080   { 0x1, "H (Hot billing)" },
24081   { 0x2, "F (Flat rate)" },
24082   { 0x4, "P (Prepaid service)" },
24083   { 0x8, "N (Normal billing)" },
24084   {  0, NULL }
24085 };
24086 
24087 /* TAP STAT INFO */
24088 typedef enum
24089 {
24090   ID_COLUMN,
24091   OP_CODE_COLUMN,
24092   INVOKES_COLUMN,
24093   NUM_BYTES_FWD_COLUMN,
24094   AVG_BYTES_FWD_COLUMN,
24095   RET_RES_COLUMN,
24096   NUM_BYTES_REV_COLUMN,
24097   AVG_BYTES_REV_COLUMN,
24098   TOT_BYTES_COLUMN,
24099   AVG_BYTES_COLUMN
24100 } gsm_a_stat_columns;
24101 
24102 static stat_tap_table_item gsm_map_stat_fields[] = {
24103   {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "ID", "%d"},
24104   {TABLE_ITEM_STRING, TAP_ALIGN_LEFT, "Operation Code", "%-25s"},
24105   {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Invokes", "%d"},
24106   {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Num Bytes", "%d"},
24107   {TABLE_ITEM_FLOAT, TAP_ALIGN_RIGHT, "Avg Bytes", "%d"},
24108   {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Return Result", "%d"},
24109   {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Num Bytes", "%d"},
24110   {TABLE_ITEM_FLOAT, TAP_ALIGN_RIGHT, "Avg Bytes", "%d"},
24111   {TABLE_ITEM_UINT, TAP_ALIGN_RIGHT, "Total Bytes", "%d"},
24112   {TABLE_ITEM_FLOAT, TAP_ALIGN_RIGHT, "Avg Bytes", "%d"},
24113 };
24114 
24115 static void gsm_map_stat_init(stat_tap_table_ui* new_stat)
24116 {
24117   const char *table_name = "GSM MAP Operation Statistics";
24118   int num_fields = sizeof(gsm_map_stat_fields)/sizeof(stat_tap_table_item);
24119   stat_tap_table* table;
24120   guint i;
24121   stat_tap_table_item_type items[sizeof(gsm_map_stat_fields)/sizeof(stat_tap_table_item)];
24122 
24123   memset(items, 0, sizeof(items));
24124 
24125   items[ID_COLUMN].type = TABLE_ITEM_UINT;
24126   items[OP_CODE_COLUMN].type = TABLE_ITEM_STRING;
24127   items[INVOKES_COLUMN].type = TABLE_ITEM_UINT;
24128   items[NUM_BYTES_FWD_COLUMN].type = TABLE_ITEM_UINT;
24129   items[AVG_BYTES_FWD_COLUMN].type = TABLE_ITEM_FLOAT;
24130   items[RET_RES_COLUMN].type = TABLE_ITEM_UINT;
24131   items[NUM_BYTES_REV_COLUMN].type = TABLE_ITEM_UINT;
24132   items[AVG_BYTES_REV_COLUMN].type = TABLE_ITEM_FLOAT;
24133   items[TOT_BYTES_COLUMN].type = TABLE_ITEM_UINT;
24134   items[AVG_BYTES_COLUMN].type = TABLE_ITEM_FLOAT;
24135 
24136   table = stat_tap_find_table(new_stat, table_name);
24137   if (table) {
24138     if (new_stat->stat_tap_reset_table_cb) {
24139       new_stat->stat_tap_reset_table_cb(table);
24140     }
24141     return;
24142   }
24143 
24144   table = stat_tap_init_table(table_name, num_fields, 0, NULL);
24145   stat_tap_add_table(new_stat, table);
24146 
24147   /* Add a row for each value type */
24148   for (i = 0; i < GSM_MAP_MAX_NUM_OPR_CODES; i++)
24149   {
24150     const char *ocs = try_val_to_str(i, gsm_map_opr_code_strings);
24151     char *col_str;
24152     if (ocs) {
24153       col_str = g_strdup(ocs);
24154     } else {
24155       col_str = g_strdup_printf("Unknown op code %d", i);
24156     }
24157 
24158     items[ID_COLUMN].value.uint_value = i;
24159     items[OP_CODE_COLUMN].value.string_value = col_str;
24160     stat_tap_init_table_row(table, i, num_fields, items);
24161   }
24162 }
24163 
24164 static tap_packet_status
24165 gsm_map_stat_packet(void *tapdata, packet_info *pinfo _U_, epan_dissect_t *edt _U_, const void *gmtr_ptr)
24166 {
24167   stat_data_t* stat_data = (stat_data_t*)tapdata;
24168   const gsm_map_tap_rec_t *gmtr = (const gsm_map_tap_rec_t *)gmtr_ptr;
24169   stat_tap_table* table;
24170   stat_tap_table_item_type *invoke_data, *fwd_bytes_data, *result_data, *rev_bytes_data, *avg_data;
24171   guint invokes, fwd_bytes, results, rev_bytes;
24172 
24173   table = g_array_index(stat_data->stat_tap_data->tables, stat_tap_table*, 0);
24174 
24175   invoke_data = stat_tap_get_field_data(table, gmtr->opcode, INVOKES_COLUMN);
24176   fwd_bytes_data = stat_tap_get_field_data(table, gmtr->opcode, NUM_BYTES_FWD_COLUMN);
24177   result_data = stat_tap_get_field_data(table, gmtr->opcode, RET_RES_COLUMN);
24178   rev_bytes_data = stat_tap_get_field_data(table, gmtr->opcode, NUM_BYTES_REV_COLUMN);
24179 
24180   if (gmtr->invoke)
24181   {
24182     invoke_data->value.uint_value++;
24183     stat_tap_set_field_data(table, gmtr->opcode, INVOKES_COLUMN, invoke_data);
24184 
24185     fwd_bytes_data->value.uint_value += gmtr->size;
24186     stat_tap_set_field_data(table, gmtr->opcode, NUM_BYTES_FWD_COLUMN, fwd_bytes_data);
24187   }
24188   else
24189   {
24190     result_data->value.uint_value++;
24191     stat_tap_set_field_data(table, gmtr->opcode, RET_RES_COLUMN, result_data);
24192 
24193     rev_bytes_data->value.uint_value += gmtr->size;
24194     stat_tap_set_field_data(table, gmtr->opcode, NUM_BYTES_REV_COLUMN, rev_bytes_data);
24195   }
24196 
24197   invokes = invoke_data->value.uint_value;
24198   fwd_bytes = fwd_bytes_data->value.uint_value;
24199   results = result_data->value.uint_value;
24200   rev_bytes = rev_bytes_data->value.uint_value;
24201 
24202   if (gmtr->invoke)
24203   {
24204     avg_data = stat_tap_get_field_data(table, gmtr->opcode, AVG_BYTES_FWD_COLUMN);
24205     avg_data->value.float_value += (float) fwd_bytes / invokes;
24206     stat_tap_set_field_data(table, gmtr->opcode, AVG_BYTES_FWD_COLUMN, avg_data);
24207   }
24208   else
24209   {
24210     avg_data = stat_tap_get_field_data(table, gmtr->opcode, AVG_BYTES_REV_COLUMN);
24211     avg_data->value.float_value += (float) rev_bytes / results;
24212     stat_tap_set_field_data(table, gmtr->opcode, AVG_BYTES_REV_COLUMN, avg_data);
24213   }
24214 
24215   avg_data = stat_tap_get_field_data(table, gmtr->opcode, AVG_BYTES_COLUMN);
24216   avg_data->value.float_value += (float) (fwd_bytes + rev_bytes) / (invokes + results);
24217   stat_tap_set_field_data(table, gmtr->opcode, AVG_BYTES_COLUMN, avg_data);
24218   return TAP_PACKET_REDRAW;
24219 }
24220 
24221 static void
24222 gsm_map_stat_reset(stat_tap_table* table)
24223 {
24224   guint element;
24225   stat_tap_table_item_type* item_data;
24226 
24227   for (element = 0; element < table->num_elements; element++)
24228   {
24229     item_data = stat_tap_get_field_data(table, element, INVOKES_COLUMN);
24230     item_data->value.uint_value = 0;
24231     stat_tap_set_field_data(table, element, INVOKES_COLUMN, item_data);
24232   }
24233 }
24234 
24235 static void
24236 gsm_map_stat_free_table_item(stat_tap_table* table _U_, guint row _U_, guint column, stat_tap_table_item_type* field_data)
24237 {
24238   if (column != OP_CODE_COLUMN) return;
24239   g_free((char*)field_data->value.string_value);
24240 }
24241 
24242 /*--- proto_reg_handoff_gsm_map ---------------------------------------*/
24243 static void range_delete_callback(guint32 ssn, gpointer ptr _U_)
24244 {
24245   if (ssn) {
24246     delete_itu_tcap_subdissector(ssn, map_handle);
24247   }
24248 }
24249 
24250 static void range_add_callback(guint32 ssn, gpointer ptr _U_)
24251 {
24252   if (ssn) {
24253    add_itu_tcap_subdissector(ssn, map_handle);
24254   }
24255 }
24256 
24257 void proto_reg_handoff_gsm_map(void) {
24258 
24259   static gboolean map_prefs_initialized = FALSE;
24260   static range_t *ssn_range;
24261 
24262   if (!map_prefs_initialized) {
24263     map_prefs_initialized = TRUE;
24264     ranap_handle = find_dissector_add_dependency("ranap", proto_gsm_map);
24265     dtap_handle = find_dissector_add_dependency("gsm_a_dtap", proto_gsm_map);
24266     gsm_sms_handle = find_dissector_add_dependency("gsm_sms", proto_gsm_map);
24267     bssap_handle = find_dissector_add_dependency("gsm_a_bssmap", proto_gsm_map);
24268 
24269     oid_add_from_string("itu(0) administration(2) japan(440)","0.2.440" );
24270     register_ber_oid_dissector_handle("0.4.0.0.1.0.1.3", map_handle, proto_gsm_map,"networkLocUpContext-v3");
24271     register_ber_oid_dissector_handle("0.4.0.0.1.0.1.2", map_handle, proto_gsm_map,"networkLocUpContext-v2" );
24272     register_ber_oid_dissector_handle("0.4.0.0.1.0.1.1", map_handle, proto_gsm_map,"networkLocUpContext-v1" );
24273     register_ber_oid_dissector_handle("0.4.0.0.1.0.2.3", map_handle, proto_gsm_map,"locationCancellationContext-v3" );
24274     register_ber_oid_dissector_handle("0.4.0.0.1.0.2.2", map_handle, proto_gsm_map,"locationCancellationContext-v2" );
24275     register_ber_oid_dissector_handle("0.4.0.0.1.0.2.1", map_handle, proto_gsm_map,"locationCancellationContext-v1" );
24276     register_ber_oid_dissector_handle("0.4.0.0.1.0.3.3", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v3" );
24277     register_ber_oid_dissector_handle("0.4.0.0.1.0.3.2", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v2" );
24278     register_ber_oid_dissector_handle("0.4.0.0.1.0.3.1", map_handle, proto_gsm_map,"roamingNumberEnquiryContext-v1" );
24279     register_ber_oid_dissector_handle("0.4.0.0.1.0.4.3", map_handle, proto_gsm_map,"istAlertingContext-v3" );
24280     register_ber_oid_dissector_handle("0.4.0.0.1.0.5.3", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v3" );
24281     register_ber_oid_dissector_handle("0.4.0.0.1.0.5.2", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v2" );
24282     register_ber_oid_dissector_handle("0.4.0.0.1.0.5.1", map_handle, proto_gsm_map,"locationInfoRetrievalContext-v1" );
24283     register_ber_oid_dissector_handle("0.4.0.0.1.0.6.4", map_handle, proto_gsm_map,"callControlTransferContext-v4" );
24284     register_ber_oid_dissector_handle("0.4.0.0.1.0.6.3", map_handle, proto_gsm_map,"callControlTransferContext-v3" );
24285     register_ber_oid_dissector_handle("0.4.0.0.1.0.7.3", map_handle, proto_gsm_map,"reportingContext-v3" );
24286     register_ber_oid_dissector_handle("0.4.0.0.1.0.8.3", map_handle, proto_gsm_map,"callCompletionContext-v3" );
24287     register_ber_oid_dissector_handle("0.4.0.0.1.0.9.3", map_handle, proto_gsm_map,"serviceTerminationContext-v3" );
24288     register_ber_oid_dissector_handle("0.4.0.0.1.0.10.2", map_handle, proto_gsm_map,"resetContext-v2" );
24289     register_ber_oid_dissector_handle("0.4.0.0.1.0.10.1", map_handle, proto_gsm_map,"resetContext-v1" );
24290     register_ber_oid_dissector_handle("0.4.0.0.1.0.11.3", map_handle, proto_gsm_map,"handoverControlContext-v3" );
24291     register_ber_oid_dissector_handle("0.4.0.0.1.0.11.2", map_handle, proto_gsm_map,"handoverControlContext-v2" );
24292     register_ber_oid_dissector_handle("0.4.0.0.1.0.11.1", map_handle, proto_gsm_map,"handoverControlContext-v1" );
24293     register_ber_oid_dissector_handle("0.4.0.0.1.0.12.3", map_handle, proto_gsm_map,"sIWFSAllocationContext-v3" );
24294     register_ber_oid_dissector_handle("0.4.0.0.1.0.13.3", map_handle, proto_gsm_map,"equipmentMngtContext-v3" );
24295     register_ber_oid_dissector_handle("0.4.0.0.1.0.13.2", map_handle, proto_gsm_map,"equipmentMngtContext-v2" );
24296     register_ber_oid_dissector_handle("0.4.0.0.1.0.13.1", map_handle, proto_gsm_map,"equipmentMngtContext-v1" );
24297     register_ber_oid_dissector_handle("0.4.0.0.1.0.14.3", map_handle, proto_gsm_map,"infoRetrievalContext-v3" );
24298     register_ber_oid_dissector_handle("0.4.0.0.1.0.14.2", map_handle, proto_gsm_map,"infoRetrievalContext-v2" );
24299     register_ber_oid_dissector_handle("0.4.0.0.1.0.14.1", map_handle, proto_gsm_map,"infoRetrievalContext-v1" );
24300     /* fallback to infoRetrieval(14) version1(1) and not interVlrInfoRetrieval(15) version1(1) */
24301     /*register_ber_oid_dissector_handle("0.4.0.0.1.0.15.1", map_handle, proto_gsm_map,"map-ac interVlrInfoRetrieval(15) version1(1)" );*/
24302     register_ber_oid_dissector_handle("0.4.0.0.1.0.15.2", map_handle, proto_gsm_map,"interVlrInfoRetrievalContext-v2" );
24303     register_ber_oid_dissector_handle("0.4.0.0.1.0.15.3", map_handle, proto_gsm_map,"interVlrInfoRetrievalContext-v3" );
24304     register_ber_oid_dissector_handle("0.4.0.0.1.0.16.3", map_handle, proto_gsm_map,"subscriberDataMngtContext-v3" );
24305     register_ber_oid_dissector_handle("0.4.0.0.1.0.16.2", map_handle, proto_gsm_map,"subscriberDataMngtContext-v2" );
24306     register_ber_oid_dissector_handle("0.4.0.0.1.0.16.1", map_handle, proto_gsm_map,"subscriberDataMngtContext-v1" );
24307     register_ber_oid_dissector_handle("0.4.0.0.1.0.17.3", map_handle, proto_gsm_map,"tracingContext-v3" );
24308     register_ber_oid_dissector_handle("0.4.0.0.1.0.17.2", map_handle, proto_gsm_map,"tracingContext-v2" );
24309     register_ber_oid_dissector_handle("0.4.0.0.1.0.17.1", map_handle, proto_gsm_map,"tracingContext-v1" );
24310     register_ber_oid_dissector_handle("0.4.0.0.1.0.18.2", map_handle, proto_gsm_map,"networkFunctionalSsContext-v2" );
24311     register_ber_oid_dissector_handle("0.4.0.0.1.0.18.1", map_handle, proto_gsm_map,"networkFunctionalSsContext-v1" );
24312     register_ber_oid_dissector_handle("0.4.0.0.1.0.19.2", map_handle, proto_gsm_map,"networkUnstructuredSsContext-v2" );
24313     register_ber_oid_dissector_handle("0.4.0.0.1.0.20.3", map_handle, proto_gsm_map,"shortMsgGatewayContext-v3" );
24314     register_ber_oid_dissector_handle("0.4.0.0.1.0.20.2", map_handle, proto_gsm_map,"shortMsgGatewayContext-v2" );
24315     register_ber_oid_dissector_handle("0.4.0.0.1.0.20.1", map_handle, proto_gsm_map,"shortMsgGatewayContext-v1" );
24316     register_ber_oid_dissector_handle("0.4.0.0.1.0.21.3", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v3" );
24317     register_ber_oid_dissector_handle("0.4.0.0.1.0.21.2", map_handle, proto_gsm_map,"shortMsgMO-RelayContext-v2" );
24318     register_ber_oid_dissector_handle("0.4.0.0.1.0.21.1", map_handle, proto_gsm_map,"shortMsgRelayContext-v1" );
24319     register_ber_oid_dissector_handle("0.4.0.0.1.0.22.3", map_handle, proto_gsm_map,"subscriberDataModificationNotificationContext-v3" );
24320     register_ber_oid_dissector_handle("0.4.0.0.1.0.23.2", map_handle, proto_gsm_map,"shortMsgAlertContext-v2" );
24321     register_ber_oid_dissector_handle("0.4.0.0.1.0.23.1", map_handle, proto_gsm_map,"shortMsgAlertContext-v1" );
24322     register_ber_oid_dissector_handle("0.4.0.0.1.0.24.3", map_handle, proto_gsm_map,"mwdMngtContext-v3" );
24323     register_ber_oid_dissector_handle("0.4.0.0.1.0.24.2", map_handle, proto_gsm_map,"mwdMngtContext-v2" );
24324     register_ber_oid_dissector_handle("0.4.0.0.1.0.24.1", map_handle, proto_gsm_map,"mwdMngtContext-v1" );
24325     register_ber_oid_dissector_handle("0.4.0.0.1.0.25.3", map_handle, proto_gsm_map,"shortMsgMT-RelayContext-v3" );
24326     register_ber_oid_dissector_handle("0.4.0.0.1.0.25.2", map_handle, proto_gsm_map,"shortMsgMT-RelayContext-v2" );
24327     register_ber_oid_dissector_handle("0.4.0.0.1.0.26.2", map_handle, proto_gsm_map,"imsiRetrievalContext-v2" );
24328     register_ber_oid_dissector_handle("0.4.0.0.1.0.27.2", map_handle, proto_gsm_map,"msPurgingContext-v2" );
24329     register_ber_oid_dissector_handle("0.4.0.0.1.0.27.3", map_handle, proto_gsm_map,"msPurgingContext-v3" );
24330     register_ber_oid_dissector_handle("0.4.0.0.1.0.28.3", map_handle, proto_gsm_map,"subscriberInfoEnquiryContext-v3" );
24331     register_ber_oid_dissector_handle("0.4.0.0.1.0.29.3", map_handle, proto_gsm_map,"anyTimeInfoEnquiryContext-v3" );
24332     register_ber_oid_dissector_handle("0.4.0.0.1.0.31.3", map_handle, proto_gsm_map,"groupCallControlContext-v3" );
24333     register_ber_oid_dissector_handle("0.4.0.0.1.0.32.3", map_handle, proto_gsm_map,"gprsLocationUpdateContext-v3" );
24334     register_ber_oid_dissector_handle("0.4.0.0.1.0.33.4", map_handle, proto_gsm_map,"gprsLocationInfoRetrievalContext-v4" );
24335     register_ber_oid_dissector_handle("0.4.0.0.1.0.33.3", map_handle, proto_gsm_map,"gprsLocationInfoRetrievalContext-v3" );
24336     register_ber_oid_dissector_handle("0.4.0.0.1.0.34.3", map_handle, proto_gsm_map,"failureReportContext-v3" );
24337     register_ber_oid_dissector_handle("0.4.0.0.1.0.35.3", map_handle, proto_gsm_map,"gprsNotifyContext-v3" );
24338     register_ber_oid_dissector_handle("0.4.0.0.1.0.36.3", map_handle, proto_gsm_map,"ss-InvocationNotificationContext-v3" );
24339     register_ber_oid_dissector_handle("0.4.0.0.1.0.37.3", map_handle, proto_gsm_map,"locationSvcGatewayContext-v3" );
24340     register_ber_oid_dissector_handle("0.4.0.0.1.0.38.3", map_handle, proto_gsm_map,"locationSvcEnquiryContext-v3" );
24341     register_ber_oid_dissector_handle("0.4.0.0.1.0.39.3", map_handle, proto_gsm_map,"authenticationFailureReportContext-v3" );
24342     register_ber_oid_dissector_handle("0.4.0.0.1.0.40.3", map_handle, proto_gsm_map,"secureTransportHandlingContext-v3" );
24343     register_ber_oid_dissector_handle("0.4.0.0.1.0.41.3", map_handle, proto_gsm_map,"shortMsgMT-Relay-VGCS-Context-v3" );
24344     register_ber_oid_dissector_handle("0.4.0.0.1.0.42.3", map_handle, proto_gsm_map,"mm-EventReportingContext-v3" );
24345     register_ber_oid_dissector_handle("0.4.0.0.1.0.43.3", map_handle, proto_gsm_map,"anyTimeInfoHandlingContext-v3" );
24346     register_ber_oid_dissector_handle("0.4.0.0.1.0.44.3", map_handle, proto_gsm_map,"resourceManagementContext-v3" );
24347     register_ber_oid_dissector_handle("0.4.0.0.1.0.45.3", map_handle, proto_gsm_map,"groupCallInfoRetrievalContext-v3" );
24348     /* Private extension container */
24349     register_ber_oid_dissector("1.3.12.2.1006.53.2.1.3", dissect_gsm_mapext_PlmnContainer, proto_gsm_map,"alcatel-E10-MAP-extension-PlmnContainer" );
24350     register_ber_oid_dissector("0.34.0",dissect_NokiaMAP_ext_IsdArgExtension,proto_gsm_map,"Nokia ISD Extension");
24351     register_ber_oid_dissector("0.34.1",dissect_NokiaMAP_ext_DsdArgExt,proto_gsm_map,"Nokia Dsd Extension");
24352     register_ber_oid_dissector("0.34.2",dissect_NokiaMAP_ext_UlResExtension,proto_gsm_map,"Nokia Location Update Extension");
24353     register_ber_oid_dissector("0.34.4",dissect_NokiaMAP_ext_SS_DataExtension,proto_gsm_map,"Nokia SS Data Extension");
24354     register_ber_oid_dissector("0.34.5",dissect_NokiaMAP_ext_SriExtension,proto_gsm_map,"Nokia SRI Request Extension");
24355     register_ber_oid_dissector("0.34.6",dissect_NokiaMAP_ExtraSignalInfo,proto_gsm_map,"Nokia ExtraSignalInfo Extension");
24356     register_ber_oid_dissector("0.34.7",dissect_NokiaMAP_ext_SriResExtension,proto_gsm_map,"Nokia SRI Response Extension");
24357     register_ber_oid_dissector("0.34.10",dissect_NokiaMAP_ext_CanLocArgExt,proto_gsm_map,"Nokia Cancel Location Extension");
24358     register_ber_oid_dissector("0.34.11",dissect_NokiaMAP_ext_ATMargExt,proto_gsm_map,"Nokia ATM Extension");
24359     register_ber_oid_dissector("0.34.12",dissect_NokiaMAP_ext_DTMargExt,proto_gsm_map,"Nokia DTM Extension");
24360     register_ber_oid_dissector("0.34.13",dissect_NokiaMAP_ext_NumberPorted,proto_gsm_map,"Nokia NumberPorted Extension");
24361     register_ber_oid_dissector("0.34.15",dissect_NokiaMAP_ext_HOExtension,proto_gsm_map,"Nokia HandOver Extension");
24362     register_ber_oid_dissector("0.34.16",dissect_NokiaMAP_ext_ATMresExt,proto_gsm_map,"Nokia ATMres Extension");
24363     register_ber_oid_dissector("0.34.17",dissect_NokiaMAP_ext_AbsentSubscriberExt,proto_gsm_map,"Nokia AbsentSubscriber Extension");
24364     register_ber_oid_dissector("0.34.18",dissect_NokiaMAP_ext_SriForSMArgExt,proto_gsm_map,"Nokia SriForSM Extension");
24365     register_ber_oid_dissector("0.34.19",dissect_NokiaMAP_ext_ReportSMDelStatArgExt,proto_gsm_map,"Nokia ReportSMDelStatt Extension");
24366     register_ber_oid_dissector("0.34.20",dissect_NokiaMAP_ext_UdlArgExt,proto_gsm_map,"Nokia Udl Extension");
24367     register_ber_oid_dissector("0.34.21",dissect_NokiaMAP_ext_RoamNotAllowedExt,proto_gsm_map,"Nokia RoamNotAllowed Extension");
24368     register_ber_oid_dissector("0.34.22",dissect_NokiaMAP_ext_MO_ForwardSM_ArgExt,proto_gsm_map,"Nokia MO-ForwardSM Extension");
24369     register_ber_oid_dissector("0.34.23",dissect_NokiaMAP_ext_ErrOlcmInfoTableExt,proto_gsm_map,"Nokia ErrOlcmInfoTable Extension");
24370     register_ber_oid_dissector("0.34.25",dissect_NokiaMAP_ext_RoutingCategoryExt,proto_gsm_map,"Nokia Routing Category Extension");
24371     register_ber_oid_dissector("0.34.26",dissect_NokiaMAP_ext_AnyTimeModArgExt,proto_gsm_map,"Nokia AnyTimeMod Extension");
24372 
24373     register_ber_oid_dissector("1.3.12.2.1107.3.66.1.1",dissect_NokiaMAP_ext_AccessTypeExt,proto_gsm_map,"Nokia AccessTypeExt Extension");
24374     register_ber_oid_dissector("1.3.12.2.1107.3.66.1.3",dissect_NokiaMAP_ext_AccessSubscriptionListExt,proto_gsm_map,"Nokia AccessSubscriptionListExt Extension");
24375     register_ber_oid_dissector("1.3.12.2.1107.3.66.1.6",dissect_NokiaMAP_ext_AllowedServiceData,proto_gsm_map,"Nokia AllowedServiceData Extension");
24376 
24377     register_ber_oid_dissector("1.2.826.0.1249.58.1.0",dissect_gsm_map_ericsson_ext_ExtensionType,proto_gsm_map,"Ericsson ExtensionType Extension");
24378   }
24379   else {
24380     range_foreach(ssn_range, range_delete_callback, NULL);
24381     wmem_free(wmem_epan_scope(), ssn_range);
24382   }
24383 
24384   ssn_range = range_copy(wmem_epan_scope(), global_ssn_range);
24385   range_foreach(ssn_range, range_add_callback, NULL);
24386 
24387 }
24388 
24389 /*--- proto_register_gsm_map -------------------------------------------*/
24390 void proto_register_gsm_map(void) {
24391   module_t *gsm_map_module;
24392   expert_module_t* expert_gsm_map;
24393 
24394   /* List of fields */
24395   static hf_register_info hf[] = {
24396       { &hf_gsm_map_old_Component_PDU,
24397         { "Component", "gsm_map.old.Component",
24398           FT_UINT32, BASE_DEC, VALS(gsm_old_Component_vals), 0,
24399           NULL, HFILL }},
24400       { &hf_gsm_map_getPassword,
24401         { "getPassword", "gsm_map.getPassword",
24402           FT_UINT8, BASE_DEC, VALS(gsm_old_GetPasswordArg_vals), 0,
24403           NULL, HFILL }},
24404       { &hf_gsm_map_currentPassword,
24405         { "currentPassword", "gsm_map.currentPassword",
24406           FT_STRING, BASE_NONE, NULL, 0,
24407           NULL, HFILL }},
24408       { &hf_gsm_map_extension,
24409         { "Extension", "gsm_map.extension",
24410           FT_BOOLEAN, 8, TFS(&tfs_no_extension_extension), 0x80,
24411           NULL, HFILL }},
24412       { &hf_gsm_map_nature_of_number,
24413         { "Nature of number", "gsm_map.nature_of_number",
24414           FT_UINT8, BASE_HEX|BASE_EXT_STRING, &gsm_map_nature_of_number_values_ext, 0x70,
24415           NULL, HFILL }},
24416       { &hf_gsm_map_number_plan,
24417         { "Number plan", "gsm_map.number_plan",
24418           FT_UINT8, BASE_HEX|BASE_EXT_STRING, &gsm_map_number_plan_values_ext, 0x0f,
24419           NULL, HFILL }},
24420       { &hf_gsm_map_address_digits,
24421         { "Address digits", "gsm_map.address.digits",
24422           FT_STRING, BASE_NONE, NULL, 0,
24423           NULL, HFILL }},
24424       { &hf_gsm_map_TBCD_digits,
24425         { "TBCD digits", "gsm_map.tbcd_digits",
24426           FT_STRING, BASE_NONE, NULL, 0,
24427           NULL, HFILL }},
24428       { &hf_gsm_map_Ss_Status_unused,
24429         { "Unused", "gsm_map.unused",
24430           FT_UINT8, BASE_HEX, NULL, 0xf0,
24431           NULL, HFILL }},
24432       { &hf_gsm_map_Ss_Status_q_bit,
24433         { "Q bit", "gsm_map.ss_status_q_bit",
24434           FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_q_bit_values), 0x08,
24435           NULL, HFILL }},
24436       { &hf_gsm_map_Ss_Status_p_bit,
24437         { "P bit", "gsm_map.ss_status_p_bit",
24438           FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_p_values), 0x04,
24439           NULL, HFILL }},
24440       { &hf_gsm_map_Ss_Status_r_bit,
24441         { "R bit", "gsm_map.ss_status_r_bit",
24442           FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_r_values), 0x02,
24443           NULL, HFILL }},
24444       { &hf_gsm_map_Ss_Status_a_bit,
24445         { "A bit", "gsm_map.ss_status_a_bit",
24446           FT_BOOLEAN, 8, TFS(&gsm_map_Ss_Status_a_values), 0x01,
24447           NULL, HFILL }},
24448       { &hf_gsm_map_notification_to_forwarding_party,
24449         { "Notification to forwarding party", "gsm_map.notification_to_forwarding_party",
24450           FT_BOOLEAN, 8, TFS(&notification_value), 0x80,
24451           NULL, HFILL }},
24452       { &hf_gsm_map_redirecting_presentation,
24453         { "Redirecting presentation", "gsm_map.redirecting_presentation",
24454           FT_BOOLEAN, 8, TFS(&redirecting_presentation_value), 0x40,
24455           NULL, HFILL }},
24456       { &hf_gsm_map_notification_to_calling_party,
24457         { "Notification to calling party", "gsm_map.notification_to_calling_party",
24458           FT_BOOLEAN, 8, TFS(&notification_value), 0x20,
24459           NULL, HFILL }},
24460       { &hf_gsm_map_forwarding_reason,
24461         { "Forwarding reason", "gsm_map.forwarding_reason",
24462           FT_UINT8, BASE_HEX, VALS(forwarding_reason_values), 0x0c,
24463           NULL, HFILL }},
24464       { &hf_gsm_map_pdp_type_org,
24465         { "PDP Type Organization", "gsm_map.pdp_type_org",
24466           FT_UINT8, BASE_HEX, VALS(pdp_type_org_values), 0x0f,
24467           NULL, HFILL }},
24468       { &hf_gsm_map_etsi_pdp_type_number,
24469         { "PDP Type Number", "gsm_map.pdp_type_number",
24470           FT_UINT8, BASE_HEX, VALS(etsi_pdp_type_number_values), 0,
24471           "ETSI PDP Type Number", HFILL }},
24472       { &hf_gsm_map_ietf_pdp_type_number,
24473         { "PDP Type Number", "gsm_map.ietf_pdp_type_number",
24474           FT_UINT8, BASE_HEX, VALS(ietf_pdp_type_number_values), 0,
24475           "IETF PDP Type Number", HFILL }},
24476       { &hf_gsm_map_ext_qos_subscribed_pri,
24477         { "Allocation/Retention priority", "gsm_map.ext_qos_subscribed_pri",
24478           FT_UINT8, BASE_DEC, NULL, 0xff,
24479           NULL, HFILL }},
24480       { &hf_gsm_map_qos_traffic_cls,
24481         { "Traffic class", "gsm_map.qos.traffic_cls",
24482           FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_traffic_cls_vals), 0xe0,
24483           NULL, HFILL }},
24484       { &hf_gsm_map_qos_del_order,
24485         { "Delivery order", "gsm_map.qos.del_order",
24486           FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_traffic_cls_vals), 0x18,
24487           NULL, HFILL }},
24488       { &hf_gsm_map_qos_del_of_err_sdu,
24489         { "Delivery of erroneous SDUs", "gsm_map.qos.del_of_err_sdu",
24490           FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_del_of_err_sdu_vals), 0x03,
24491           NULL, HFILL }},
24492       { &hf_gsm_map_qos_ber,
24493         { "Residual Bit Error Rate (BER)", "gsm_map.qos.ber",
24494           FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_ber_vals), 0xf0,
24495           NULL, HFILL }},
24496       { &hf_gsm_map_qos_sdu_err_rat,
24497         { "SDU error ratio", "gsm_map.qos.sdu_err_rat",
24498           FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_sdu_err_rat_vals), 0x0f,
24499           NULL, HFILL }},
24500       { &hf_gsm_map_qos_traff_hdl_pri,
24501         { "Traffic handling priority", "gsm_map.qos.traff_hdl_pri",
24502           FT_UINT8, BASE_DEC, VALS(gsm_a_sm_qos_traff_hdl_pri_vals), 0x03,
24503           NULL, HFILL }},
24504 
24505       { &hf_gsm_map_qos_max_sdu,
24506         { "Maximum SDU size", "gsm_map.qos.max_sdu",
24507           FT_UINT32, BASE_DEC, NULL, 0x0,
24508           NULL, HFILL }},
24509       { &hf_gsm_map_max_brate_ulink,
24510         { "Maximum bit rate for uplink in kbit/s", "gsm_map.qos.max_brate_ulink",
24511           FT_UINT32, BASE_DEC, NULL, 0x0,
24512           "Maximum bit rate for uplink", HFILL }},
24513       { &hf_gsm_map_max_brate_dlink,
24514         { "Maximum bit rate for downlink in kbit/s", "gsm_map.qos.max_brate_dlink",
24515           FT_UINT32, BASE_DEC, NULL, 0x0,
24516           "Maximum bit rate for downlink", HFILL }},
24517       { &hf_gsm_map_qos_transfer_delay,
24518         { "Transfer delay (Raw data see TS 24.008 for interpretation)", "gsm_map.qos.transfer_delay",
24519           FT_UINT8, BASE_DEC, NULL, 0xfc,
24520           "Transfer delay", HFILL }},
24521       { &hf_gsm_map_guaranteed_max_brate_ulink,
24522         { "Guaranteed bit rate for uplink in kbit/s", "gsm_map.qos.brate_ulink",
24523           FT_UINT32, BASE_DEC, NULL, 0x0,
24524           "Guaranteed bit rate for uplink", HFILL }},
24525       { &hf_gsm_map_guaranteed_max_brate_dlink,
24526         { "Guaranteed bit rate for downlink in kbit/s", "gsm_map.qos.brate_dlink",
24527           FT_UINT32, BASE_DEC, NULL, 0x0,
24528           "Guaranteed bit rate for downlink", HFILL }},
24529       { &hf_gsm_map_GSNAddress_IPv4,
24530         { "GSN-Address IPv4",  "gsm_map.gsnaddress_ipv4",
24531           FT_IPv4, BASE_NONE, NULL, 0,
24532           "IPAddress IPv4", HFILL }},
24533       { &hf_gsm_map_GSNAddress_IPv6,
24534         { "GSN Address IPv6",  "gsm_map.gsnaddress_ipv6",
24535           FT_IPv6, BASE_NONE, NULL, 0,
24536           "IPAddress IPv6", HFILL }},
24537       { &hf_gsm_map_ranap_service_Handover,
24538         { "service-Handover", "gsm_map.ranap.service_Handover",
24539           FT_UINT32, BASE_DEC, VALS(ranap_Service_Handover_vals), 0,
24540           "gsm_map.ranap.Service_Handover", HFILL }},
24541       { &hf_gsm_map_IntegrityProtectionInformation,
24542         { "IntegrityProtectionInformation", "gsm_map.ranap.IntegrityProtectionInformation",
24543           FT_NONE, BASE_NONE, NULL, 0,
24544           "gsm_map.ranap.IntegrityProtectionInformation", HFILL }},
24545       { &hf_gsm_map_EncryptionInformation,
24546         { "EncryptionInformation", "gsm_map.ranap.EncryptionInformation",
24547           FT_NONE, BASE_NONE, NULL, 0,
24548           "gsm_map.ranap.EncryptionInformation", HFILL }},
24549       { &hf_gsm_map_ss_SS_UserData,
24550         { "SS-UserData", "gsm_ss.SS_UserData",
24551           FT_STRING, BASE_NONE, NULL, 0,
24552           "gsm_map.ss.SS_UserData", HFILL }},
24553       { &hf_gsm_map_cbs_coding_grp,
24554         { "Coding Group","gsm_map.cbs.coding_grp",
24555           FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_data_coding_scheme_coding_grp_vals_ext, 0xf0,
24556           NULL, HFILL }
24557       },
24558       { &hf_gsm_map_cbs_coding_grp0_lang,
24559         { "Language","gsm_map.cbs.coding_grp0_lang",
24560           FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_coding_grp0_lang_vals_ext, 0x0f,
24561           NULL, HFILL }
24562       },
24563       { &hf_gsm_map_cbs_coding_grp1_lang,
24564         { "Language","gsm_map.cbs.coding_grp1_lang",
24565           FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_coding_grp1_lang_vals_ext, 0x0f,
24566           NULL, HFILL }
24567       },
24568       { &hf_gsm_map_cbs_coding_grp2_lang,
24569         { "Language","gsm_map.cbs.coding_grp2_lang",
24570           FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_coding_grp2_lang_vals_ext, 0x0f,
24571           NULL, HFILL }
24572       },
24573       { &hf_gsm_map_cbs_coding_grp3_lang,
24574         { "Language","gsm_map.cbs.coding_grp3_lang",
24575           FT_UINT8,BASE_DEC|BASE_EXT_STRING, &gsm_map_cbs_coding_grp3_lang_vals_ext, 0x0f,
24576           NULL, HFILL }
24577       },
24578       { &hf_gsm_map_cbs_coding_grp4_7_comp,
24579         { "Compressed indicator","gsm_map.cbs.coding_grp4_7_comp",
24580           FT_BOOLEAN, 8, TFS(&gsm_map_cbs_coding_grp4_7_comp_vals), 0x20,
24581           NULL, HFILL }
24582       },
24583       { &hf_gsm_map_cbs_coding_grp4_7_class_ind,
24584         { "Message Class present","gsm_map.cbs.coding_grp4_7_class_ind",
24585           FT_BOOLEAN, 8, TFS(&gsm_map_cbs_coding_grp4_7_class_ind_vals), 0x10,
24586           NULL, HFILL }
24587       },
24588       { &hf_gsm_map_cbs_coding_grp4_7_char_set,
24589         { "Character set being used","gsm_map.cbs.coding_grp4_7_char_set",
24590           FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp4_7_char_set_vals), 0x0c,
24591           NULL, HFILL }
24592       },
24593       { &hf_gsm_map_cbs_coding_grp4_7_class,
24594         { "Message Class","gsm_map.cbs.coding_grp4_7_class",
24595           FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp4_7_class_vals), 0x03,
24596           NULL, HFILL }
24597       },
24598       { &hf_gsm_map_cbs_coding_grp15_mess_code,
24599         { "Message coding","gsm_map.cbs.cbs_coding_grp15_mess_code",
24600           FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp15_mess_code_vals), 0x04,
24601           NULL, HFILL }
24602       },
24603       { &hf_gsm_map_cbs_coding_grp15_class,
24604         { "Message Class","gsm_map.cbs.gsm_map_cbs_coding_grp15_class",
24605           FT_UINT8,BASE_DEC, VALS(gsm_map_cbs_coding_grp15_class_vals), 0x03,
24606           NULL, HFILL }
24607       },
24608       { &hf_gsm_map_tmsi,
24609         { "tmsi", "gsm_map.tmsi",
24610           FT_BYTES, BASE_NONE, NULL, 0,
24611           "gsm_map.TMSI", HFILL }},
24612 
24613       { &hf_gsm_map_ie_tag,
24614         { "Tag", "gsm_map.ie_tag",
24615           FT_UINT8, BASE_DEC, VALS(gsm_map_tag_vals), 0,
24616           "GSM 04.08 tag", HFILL }},
24617       { &hf_gsm_map_len,
24618         { "Length", "gsm_map.length",
24619           FT_UINT8, BASE_DEC, NULL, 0,
24620           NULL, HFILL }},
24621       { &hf_gsm_map_disc_par,
24622         { "Discrimination parameter", "gsm_map.disc_par",
24623           FT_UINT8, BASE_DEC, VALS(gsm_map_disc_par_vals), 0,
24624           NULL, HFILL }},
24625       { &hf_gsm_map_dlci,
24626         { "DLCI", "gsm_map.dlci",
24627           FT_UINT8, BASE_DEC, NULL, 0,
24628           "Data Link Connection Indicator", HFILL }},
24629       { &hf_gsm_apn_str,
24630         { "APN", "gsm_map.apn_str",
24631           FT_STRING, BASE_NONE, NULL, 0,
24632           NULL, HFILL }},
24633       { &hf_gsm_map_ericsson_locationInformation_rat,
24634         { "RAT", "gsm_map.ericsson.locationInformation.rat",
24635           FT_UINT8, BASE_DEC, VALS(gsm_map_ericsson_locationInformation_rat_vals), 0,
24636           "Radio Access Technology", HFILL }},
24637       { &hf_gsm_map_ericsson_locationInformation_lac,
24638         { "LAC", "gsm_map.ericsson.locationInformation.lac",
24639           FT_UINT16, BASE_DEC_HEX, NULL, 0,
24640           "Location Area Code", HFILL }},
24641       { &hf_gsm_map_ericsson_locationInformation_ci,
24642         { "CI", "gsm_map.ericsson.locationInformation.ci",
24643           FT_UINT16, BASE_DEC_HEX, NULL, 0,
24644           "Cell Identity", HFILL }},
24645       { &hf_gsm_map_ericsson_locationInformation_sac,
24646         { "SAC", "gsm_map.ericsson.locationInformation.sac",
24647           FT_UINT16, BASE_DEC_HEX, NULL, 0,
24648           "Service Area Code", HFILL }},
24649       { &hf_gsm_map_ussd_string,
24650         { "USSD String", "gsm_map.ussd_string",
24651           FT_STRING, STR_UNICODE, NULL, 0,
24652           NULL, HFILL }},
24653     { &hf_gsm_map_spare_bits,
24654         { "Spare bit(s)", "gsm_map.spare_bits",
24655         FT_UINT8, BASE_DEC, NULL, 0x0,
24656         NULL, HFILL }
24657     },
24658     { &hf_gsm_map_qos_signalling_ind,
24659     { "Signalling indication", "gsm_map.qos.signalling_ind",
24660           FT_BOOLEAN, 8, TFS(&gsm_map_qos_signalling_ind_value), 0x10,
24661           NULL, HFILL }
24662     },
24663     { &hf_gsm_map_qos_source_stat_desc,
24664     { "Source statistics description", "gsm_map.qos.source_stat_desc",
24665           FT_UINT8, BASE_DEC, NULL, 0x0f,
24666           NULL, HFILL }
24667     },
24668     { &hf_gsm_map_qos_max_bitrate_upl_ext,
24669     { "Maximum bitrate for uplink (extended)", "gsm_map.qos.max_bitrate_upl_ext",
24670           FT_UINT8, BASE_DEC, NULL, 0x0,
24671           NULL, HFILL }
24672     },
24673     { &hf_gsm_map_qos_max_bitrate_downl_ext,
24674     { "Maximum bitrate for downlink (extended)", "gsm_map.qos.max_bitrate_downl_ext",
24675           FT_UINT8, BASE_DEC, NULL, 0x0,
24676           NULL, HFILL }
24677     },
24678     { &hf_gsm_map_qos_guar_bitrate_upl_ext,
24679     { "Guaranteed bitrate for uplink (extended)", "gsm_map.qos.guar_bitrate_upl_ext",
24680           FT_UINT8, BASE_DEC, NULL, 0x0,
24681           NULL, HFILL }
24682     },
24683     { &hf_gsm_map_qos_guar_bitrate_downl_ext,
24684     { "Guaranteed bitrate for downlink (extended)", "gsm_map.qos.guar_bitrate_downl_ext",
24685           FT_UINT8, BASE_DEC, NULL, 0x0,
24686           NULL, HFILL }
24687     },
24688 /*
24689     { &hf_gsm_map_qos_max_bitrate_upl_ext2,
24690     { "Maximum bitrate for uplink (extended-2)", "gsm_map.qos.max_bitrate_upl_ext2",
24691           FT_UINT8, BASE_DEC, NULL, 0x0,
24692           NULL, HFILL }
24693     },
24694     { &hf_gsm_map_qos_max_bitrate_downl_ext2,
24695     { "Maximum bitrate for downlink (extended-2)", "gsm_map.qos.max_bitrate_downl_ext2",
24696           FT_UINT8, BASE_DEC, NULL, 0x0,
24697           NULL, HFILL }
24698     },
24699     { &hf_gsm_map_qos_guar_bitrate_upl_ext2,
24700     { "Guaranteed bitrate for uplink (extended-2)", "gsm_map.qos.guar_bitrate_upl_ext2",
24701           FT_UINT8, BASE_DEC, NULL, 0x0,
24702           NULL, HFILL }
24703     },
24704     { &hf_gsm_map_qos_guar_bitrate_downl_ext2,
24705     { "Guaranteed bitrate for downlink (extended-2)", "gsm_map.qos.guar_bitrate_downl_ext2",
24706           FT_UINT8, BASE_DEC, NULL, 0x0,
24707           NULL, HFILL }
24708     },
24709     */
24710     { &hf_gsm_map_earp_pvi,
24711     { "PVI Pre-emption Vulnerability", "gsm_map.EARP_pre_emption_par_vulnerability",
24712               FT_BOOLEAN, 8, TFS(&tfs_disabled_enabled), 0x01,
24713               NULL, HFILL }
24714     },
24715     { &hf_gsm_map_earp_pl,
24716     { "PL Priority Level", "gsm_map.EARP_priority_level",
24717               FT_UINT8, BASE_DEC, NULL, 0x3C,
24718               NULL, HFILL }
24719     },
24720     { &hf_gsm_map_earp_pci,
24721     { "PCI Pre-emption Capability", "gsm_map.EARP_pre_emption_Capability",
24722             FT_BOOLEAN, 8, TFS(&tfs_disabled_enabled), 0x40,
24723             NULL, HFILL }
24724     },
24725 
24726 
24727 /*--- Included file: packet-gsm_map-hfarr.c ---*/
24728 #line 1 "./asn1/gsm_map/packet-gsm_map-hfarr.c"
24729 
24730 /* --- Module MAP-ExtensionDataTypes --- --- ---                              */
24731 
24732     { &hf_gsm_map_privateExtensionList,
24733       { "privateExtensionList", "gsm_map.privateExtensionList",
24734         FT_UINT32, BASE_DEC, NULL, 0,
24735         NULL, HFILL }},
24736     { &hf_gsm_map_pcs_Extensions,
24737       { "pcs-Extensions", "gsm_map.pcs_Extensions_element",
24738         FT_NONE, BASE_NONE, NULL, 0,
24739         NULL, HFILL }},
24740     { &hf_gsm_map_slr_Arg_PCS_Extensions,
24741       { "slr-Arg-PCS-Extensions", "gsm_map.slr_Arg_PCS_Extensions_element",
24742         FT_NONE, BASE_NONE, NULL, 0,
24743         NULL, HFILL }},
24744     { &hf_gsm_map_PrivateExtensionList_item,
24745       { "PrivateExtension", "gsm_map.PrivateExtension_element",
24746         FT_NONE, BASE_NONE, NULL, 0,
24747         NULL, HFILL }},
24748     { &hf_gsm_map_extId,
24749       { "extId", "gsm_map.extId",
24750         FT_OID, BASE_NONE, NULL, 0,
24751         NULL, HFILL }},
24752     { &hf_gsm_map_extType,
24753       { "extType", "gsm_map.extType_element",
24754         FT_NONE, BASE_NONE, NULL, 0,
24755         NULL, HFILL }},
24756     { &hf_gsm_map_na_ESRK_Request,
24757       { "na-ESRK-Request", "gsm_map.na_ESRK_Request_element",
24758         FT_NONE, BASE_NONE, NULL, 0,
24759         NULL, HFILL }},
24760 
24761 /* --- Module MAP-CommonDataTypes --- --- ---                                 */
24762 
24763     { &hf_gsm_map_gsm_map_ISDN_AddressString_PDU,
24764       { "ISDN-AddressString", "gsm_map.ISDN_AddressString",
24765         FT_BYTES, BASE_NONE, NULL, 0,
24766         NULL, HFILL }},
24767     { &hf_gsm_map_protocolId,
24768       { "protocolId", "gsm_map.protocolId",
24769         FT_UINT32, BASE_DEC, VALS(gsm_map_ProtocolId_vals), 0,
24770         NULL, HFILL }},
24771     { &hf_gsm_map_signalInfo,
24772       { "signalInfo", "gsm_map.signalInfo",
24773         FT_BYTES, BASE_NONE, NULL, 0,
24774         NULL, HFILL }},
24775     { &hf_gsm_map_extensionContainer,
24776       { "extensionContainer", "gsm_map.extensionContainer_element",
24777         FT_NONE, BASE_NONE, NULL, 0,
24778         NULL, HFILL }},
24779     { &hf_gsm_map_ext_ProtocolId,
24780       { "ext-ProtocolId", "gsm_map.ext_ProtocolId",
24781         FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_ProtocolId_vals), 0,
24782         NULL, HFILL }},
24783     { &hf_gsm_map_accessNetworkProtocolId,
24784       { "accessNetworkProtocolId", "gsm_map.accessNetworkProtocolId",
24785         FT_UINT32, BASE_DEC, VALS(gsm_map_AccessNetworkProtocolId_vals), 0,
24786         NULL, HFILL }},
24787     { &hf_gsm_map_signalInfo_01,
24788       { "signalInfo", "gsm_map.signalInfo",
24789         FT_BYTES, BASE_NONE, NULL, 0,
24790         "LongSignalInfo", HFILL }},
24791     { &hf_gsm_map_imsi,
24792       { "imsi", "gsm_map.imsi",
24793         FT_BYTES, BASE_NONE, NULL, 0,
24794         NULL, HFILL }},
24795     { &hf_gsm_map_imsi_WithLMSI,
24796       { "imsi-WithLMSI", "gsm_map.imsi_WithLMSI_element",
24797         FT_NONE, BASE_NONE, NULL, 0,
24798         NULL, HFILL }},
24799     { &hf_gsm_map_lmsi,
24800       { "lmsi", "gsm_map.lmsi",
24801         FT_BYTES, BASE_NONE, NULL, 0,
24802         NULL, HFILL }},
24803     { &hf_gsm_map_HLR_List_item,
24804       { "HLR-Id", "gsm_map.HLR_Id",
24805         FT_BYTES, BASE_NONE, NULL, 0,
24806         NULL, HFILL }},
24807     { &hf_gsm_map_naea_PreferredCIC,
24808       { "naea-PreferredCIC", "gsm_map.naea_PreferredCIC",
24809         FT_BYTES, BASE_NONE, NULL, 0,
24810         "NAEA_CIC", HFILL }},
24811     { &hf_gsm_map_msisdn,
24812       { "msisdn", "gsm_map.msisdn",
24813         FT_BYTES, BASE_NONE, NULL, 0,
24814         "ISDN_AddressString", HFILL }},
24815     { &hf_gsm_map_externalAddress,
24816       { "externalAddress", "gsm_map.externalAddress",
24817         FT_BYTES, BASE_NONE, NULL, 0,
24818         "ISDN_AddressString", HFILL }},
24819     { &hf_gsm_map_diameter_Name,
24820       { "diameter-Name", "gsm_map.diameter_Name",
24821         FT_STRING, STR_ASCII, NULL, 0,
24822         "DiameterIdentity", HFILL }},
24823     { &hf_gsm_map_diameter_Realm,
24824       { "diameter-Realm", "gsm_map.diameter_Realm",
24825         FT_STRING, STR_ASCII, NULL, 0,
24826         "DiameterIdentity", HFILL }},
24827     { &hf_gsm_map_cellGlobalIdOrServiceAreaIdFixedLength,
24828       { "cellGlobalIdOrServiceAreaIdFixedLength", "gsm_map.cellGlobalIdOrServiceAreaIdFixedLength",
24829         FT_BYTES, BASE_NONE, NULL, 0,
24830         NULL, HFILL }},
24831     { &hf_gsm_map_laiFixedLength,
24832       { "laiFixedLength", "gsm_map.laiFixedLength",
24833         FT_BYTES, BASE_NONE, NULL, 0,
24834         NULL, HFILL }},
24835     { &hf_gsm_map_bearerService,
24836       { "bearerService", "gsm_map.bearerService",
24837         FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0,
24838         "BearerServiceCode", HFILL }},
24839     { &hf_gsm_map_teleservice,
24840       { "teleservice", "gsm_map.teleservice",
24841         FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
24842         "TeleserviceCode", HFILL }},
24843     { &hf_gsm_map_ext_BearerService,
24844       { "ext-BearerService", "gsm_map.ext_BearerService",
24845         FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0,
24846         "Ext_BearerServiceCode", HFILL }},
24847     { &hf_gsm_map_ext_Teleservice,
24848       { "ext-Teleservice", "gsm_map.ext_Teleservice",
24849         FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
24850         "Ext_TeleserviceCode", HFILL }},
24851     { &hf_gsm_map_maximumentitledPriority,
24852       { "maximumentitledPriority", "gsm_map.maximumentitledPriority",
24853         FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0,
24854         "EMLPP_Priority", HFILL }},
24855     { &hf_gsm_map_defaultPriority,
24856       { "defaultPriority", "gsm_map.defaultPriority",
24857         FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0,
24858         "EMLPP_Priority", HFILL }},
24859     { &hf_gsm_map_ss_Code,
24860       { "ss-Code", "gsm_map.ss_Code",
24861         FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
24862         NULL, HFILL }},
24863     { &hf_gsm_map_ss_Status,
24864       { "ss-Status", "gsm_map.ss_Status",
24865         FT_BYTES, BASE_NONE, NULL, 0,
24866         "Ext_SS_Status", HFILL }},
24867     { &hf_gsm_map_nbrSB,
24868       { "nbrSB", "gsm_map.nbrSB",
24869         FT_UINT32, BASE_DEC, NULL, 0,
24870         "MaxMC_Bearers", HFILL }},
24871     { &hf_gsm_map_nbrUser,
24872       { "nbrUser", "gsm_map.nbrUser",
24873         FT_UINT32, BASE_DEC, NULL, 0,
24874         "MC_Bearers", HFILL }},
24875 
24876 /* --- Module MAP-SS-DataTypes --- --- ---                                    */
24877 
24878     { &hf_gsm_map_ss_ss_Code,
24879       { "ss-Code", "gsm_map.ss.ss_Code",
24880         FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
24881         NULL, HFILL }},
24882     { &hf_gsm_map_ss_basicService,
24883       { "basicService", "gsm_map.ss.basicService",
24884         FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
24885         "BasicServiceCode", HFILL }},
24886     { &hf_gsm_map_ss_forwardedToNumber,
24887       { "forwardedToNumber", "gsm_map.ss.forwardedToNumber",
24888         FT_BYTES, BASE_NONE, NULL, 0,
24889         "AddressString", HFILL }},
24890     { &hf_gsm_map_ss_forwardedToSubaddress,
24891       { "forwardedToSubaddress", "gsm_map.ss.forwardedToSubaddress",
24892         FT_BYTES, BASE_NONE, NULL, 0,
24893         "ISDN_SubaddressString", HFILL }},
24894     { &hf_gsm_map_ss_noReplyConditionTime,
24895       { "noReplyConditionTime", "gsm_map.ss.noReplyConditionTime",
24896         FT_UINT32, BASE_DEC, NULL, 0,
24897         NULL, HFILL }},
24898     { &hf_gsm_map_ss_defaultPriority,
24899       { "defaultPriority", "gsm_map.ss.defaultPriority",
24900         FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0,
24901         "EMLPP_Priority", HFILL }},
24902     { &hf_gsm_map_ss_nbrUser,
24903       { "nbrUser", "gsm_map.ss.nbrUser",
24904         FT_UINT32, BASE_DEC, NULL, 0,
24905         "MC_Bearers", HFILL }},
24906     { &hf_gsm_map_ss_longFTN_Supported,
24907       { "longFTN-Supported", "gsm_map.ss.longFTN_Supported_element",
24908         FT_NONE, BASE_NONE, NULL, 0,
24909         NULL, HFILL }},
24910     { &hf_gsm_map_ss_forwardingInfo,
24911       { "forwardingInfo", "gsm_map.ss.forwardingInfo_element",
24912         FT_NONE, BASE_NONE, NULL, 0,
24913         NULL, HFILL }},
24914     { &hf_gsm_map_ss_callBarringInfo,
24915       { "callBarringInfo", "gsm_map.ss.callBarringInfo_element",
24916         FT_NONE, BASE_NONE, NULL, 0,
24917         NULL, HFILL }},
24918     { &hf_gsm_map_ss_ss_Data,
24919       { "ss-Data", "gsm_map.ss.ss_Data_element",
24920         FT_NONE, BASE_NONE, NULL, 0,
24921         NULL, HFILL }},
24922     { &hf_gsm_map_ss_forwardingFeatureList,
24923       { "forwardingFeatureList", "gsm_map.ss.forwardingFeatureList",
24924         FT_UINT32, BASE_DEC, NULL, 0,
24925         NULL, HFILL }},
24926     { &hf_gsm_map_ss_ForwardingFeatureList_item,
24927       { "ForwardingFeature", "gsm_map.ss.ForwardingFeature_element",
24928         FT_NONE, BASE_NONE, NULL, 0,
24929         NULL, HFILL }},
24930     { &hf_gsm_map_ss_ss_Status,
24931       { "ss-Status", "gsm_map.ss.ss_Status",
24932         FT_BYTES, BASE_NONE, NULL, 0,
24933         NULL, HFILL }},
24934     { &hf_gsm_map_ss_forwardedToNumber_01,
24935       { "forwardedToNumber", "gsm_map.ss.forwardedToNumber",
24936         FT_BYTES, BASE_NONE, NULL, 0,
24937         "ISDN_AddressString", HFILL }},
24938     { &hf_gsm_map_ss_forwardingOptions,
24939       { "forwardingOptions", "gsm_map.ss.forwardingOptions",
24940         FT_BYTES, BASE_NONE, NULL, 0,
24941         NULL, HFILL }},
24942     { &hf_gsm_map_ss_longForwardedToNumber,
24943       { "longForwardedToNumber", "gsm_map.ss.longForwardedToNumber",
24944         FT_BYTES, BASE_NONE, NULL, 0,
24945         "FTN_AddressString", HFILL }},
24946     { &hf_gsm_map_ss_callBarringFeatureList,
24947       { "callBarringFeatureList", "gsm_map.ss.callBarringFeatureList",
24948         FT_UINT32, BASE_DEC, NULL, 0,
24949         NULL, HFILL }},
24950     { &hf_gsm_map_ss_CallBarringFeatureList_item,
24951       { "CallBarringFeature", "gsm_map.ss.CallBarringFeature_element",
24952         FT_NONE, BASE_NONE, NULL, 0,
24953         NULL, HFILL }},
24954     { &hf_gsm_map_ss_ss_SubscriptionOption,
24955       { "ss-SubscriptionOption", "gsm_map.ss.ss_SubscriptionOption",
24956         FT_UINT32, BASE_DEC, VALS(gsm_map_ss_SS_SubscriptionOption_vals), 0,
24957         NULL, HFILL }},
24958     { &hf_gsm_map_ss_basicServiceGroupList,
24959       { "basicServiceGroupList", "gsm_map.ss.basicServiceGroupList",
24960         FT_UINT32, BASE_DEC, NULL, 0,
24961         NULL, HFILL }},
24962     { &hf_gsm_map_ss_cliRestrictionOption,
24963       { "cliRestrictionOption", "gsm_map.ss.cliRestrictionOption",
24964         FT_UINT32, BASE_DEC, VALS(gsm_map_ss_CliRestrictionOption_vals), 0,
24965         NULL, HFILL }},
24966     { &hf_gsm_map_ss_overrideCategory,
24967       { "overrideCategory", "gsm_map.ss.overrideCategory",
24968         FT_UINT32, BASE_DEC, VALS(gsm_map_ss_OverrideCategory_vals), 0,
24969         NULL, HFILL }},
24970     { &hf_gsm_map_ss_maximumEntitledPriority,
24971       { "maximumEntitledPriority", "gsm_map.ss.maximumEntitledPriority",
24972         FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0,
24973         "EMLPP_Priority", HFILL }},
24974     { &hf_gsm_map_ss_ccbs_FeatureList,
24975       { "ccbs-FeatureList", "gsm_map.ss.ccbs_FeatureList",
24976         FT_UINT32, BASE_DEC, NULL, 0,
24977         NULL, HFILL }},
24978     { &hf_gsm_map_ss_nbrSB,
24979       { "nbrSB", "gsm_map.ss.nbrSB",
24980         FT_UINT32, BASE_DEC, NULL, 0,
24981         "MaxMC_Bearers", HFILL }},
24982     { &hf_gsm_map_ss_nbrSN,
24983       { "nbrSN", "gsm_map.ss.nbrSN",
24984         FT_UINT32, BASE_DEC, NULL, 0,
24985         "MC_Bearers", HFILL }},
24986     { &hf_gsm_map_ss_CCBS_FeatureList_item,
24987       { "CCBS-Feature", "gsm_map.ss.CCBS_Feature_element",
24988         FT_NONE, BASE_NONE, NULL, 0,
24989         NULL, HFILL }},
24990     { &hf_gsm_map_ss_ccbs_Index,
24991       { "ccbs-Index", "gsm_map.ss.ccbs_Index",
24992         FT_UINT32, BASE_DEC, NULL, 0,
24993         NULL, HFILL }},
24994     { &hf_gsm_map_ss_b_subscriberNumber,
24995       { "b-subscriberNumber", "gsm_map.ss.b_subscriberNumber",
24996         FT_BYTES, BASE_NONE, NULL, 0,
24997         "ISDN_AddressString", HFILL }},
24998     { &hf_gsm_map_ss_b_subscriberSubaddress,
24999       { "b-subscriberSubaddress", "gsm_map.ss.b_subscriberSubaddress",
25000         FT_BYTES, BASE_NONE, NULL, 0,
25001         "ISDN_SubaddressString", HFILL }},
25002     { &hf_gsm_map_ss_basicServiceGroup,
25003       { "basicServiceGroup", "gsm_map.ss.basicServiceGroup",
25004         FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
25005         "BasicServiceCode", HFILL }},
25006     { &hf_gsm_map_ss_genericServiceInfo,
25007       { "genericServiceInfo", "gsm_map.ss.genericServiceInfo_element",
25008         FT_NONE, BASE_NONE, NULL, 0,
25009         NULL, HFILL }},
25010     { &hf_gsm_map_ss_ussd_DataCodingScheme,
25011       { "ussd-DataCodingScheme", "gsm_map.ss.ussd_DataCodingScheme",
25012         FT_BYTES, BASE_NONE, NULL, 0,
25013         NULL, HFILL }},
25014     { &hf_gsm_map_ss_ussd_String,
25015       { "ussd-String", "gsm_map.ss.ussd_String",
25016         FT_BYTES, BASE_NONE, NULL, 0,
25017         NULL, HFILL }},
25018     { &hf_gsm_map_ss_alertingPattern,
25019       { "alertingPattern", "gsm_map.ss.alertingPattern",
25020         FT_BYTES, BASE_NONE, NULL, 0,
25021         NULL, HFILL }},
25022     { &hf_gsm_map_ss_msisdn,
25023       { "msisdn", "gsm_map.ss.msisdn",
25024         FT_BYTES, BASE_NONE, NULL, 0,
25025         "ISDN_AddressString", HFILL }},
25026     { &hf_gsm_map_ss_SS_List_item,
25027       { "SS-Code", "gsm_map.ss.SS_Code",
25028         FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
25029         NULL, HFILL }},
25030     { &hf_gsm_map_ss_BasicServiceGroupList_item,
25031       { "BasicServiceCode", "gsm_map.ss.BasicServiceCode",
25032         FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
25033         NULL, HFILL }},
25034     { &hf_gsm_map_ss_imsi,
25035       { "imsi", "gsm_map.ss.imsi",
25036         FT_BYTES, BASE_NONE, NULL, 0,
25037         NULL, HFILL }},
25038     { &hf_gsm_map_ss_ss_Event,
25039       { "ss-Event", "gsm_map.ss.ss_Event",
25040         FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
25041         "SS_Code", HFILL }},
25042     { &hf_gsm_map_ss_ss_EventSpecification,
25043       { "ss-EventSpecification", "gsm_map.ss.ss_EventSpecification",
25044         FT_UINT32, BASE_DEC, NULL, 0,
25045         NULL, HFILL }},
25046     { &hf_gsm_map_ss_extensionContainer,
25047       { "extensionContainer", "gsm_map.ss.extensionContainer_element",
25048         FT_NONE, BASE_NONE, NULL, 0,
25049         NULL, HFILL }},
25050     { &hf_gsm_map_ss_ccbs_RequestState,
25051       { "ccbs-RequestState", "gsm_map.ss.ccbs_RequestState",
25052         FT_UINT32, BASE_DEC, VALS(gsm_map_ss_CCBS_RequestState_vals), 0,
25053         NULL, HFILL }},
25054     { &hf_gsm_map_ss_SS_EventSpecification_item,
25055       { "AddressString", "gsm_map.ss.AddressString",
25056         FT_BYTES, BASE_NONE, NULL, 0,
25057         NULL, HFILL }},
25058     { &hf_gsm_map_ss_ccbs_Data,
25059       { "ccbs-Data", "gsm_map.ss.ccbs_Data_element",
25060         FT_NONE, BASE_NONE, NULL, 0,
25061         NULL, HFILL }},
25062     { &hf_gsm_map_ss_ccbs_Feature,
25063       { "ccbs-Feature", "gsm_map.ss.ccbs_Feature_element",
25064         FT_NONE, BASE_NONE, NULL, 0,
25065         NULL, HFILL }},
25066     { &hf_gsm_map_ss_translatedB_Number,
25067       { "translatedB-Number", "gsm_map.ss.translatedB_Number",
25068         FT_BYTES, BASE_NONE, NULL, 0,
25069         "ISDN_AddressString", HFILL }},
25070     { &hf_gsm_map_ss_serviceIndicator,
25071       { "serviceIndicator", "gsm_map.ss.serviceIndicator",
25072         FT_BYTES, BASE_NONE, NULL, 0,
25073         NULL, HFILL }},
25074     { &hf_gsm_map_ss_callInfo,
25075       { "callInfo", "gsm_map.ss.callInfo_element",
25076         FT_NONE, BASE_NONE, NULL, 0,
25077         "ExternalSignalInfo", HFILL }},
25078     { &hf_gsm_map_ss_networkSignalInfo,
25079       { "networkSignalInfo", "gsm_map.ss.networkSignalInfo_element",
25080         FT_NONE, BASE_NONE, NULL, 0,
25081         "ExternalSignalInfo", HFILL }},
25082     { &hf_gsm_map_ss_ServiceIndicator_clir_invoked,
25083       { "clir-invoked", "gsm.map.ss.ServiceIndicator.clir.invoked",
25084         FT_BOOLEAN, 8, NULL, 0x80,
25085         NULL, HFILL }},
25086     { &hf_gsm_map_ss_ServiceIndicator_camel_invoked,
25087       { "camel-invoked", "gsm.map.ss.ServiceIndicator.camel.invoked",
25088         FT_BOOLEAN, 8, NULL, 0x40,
25089         NULL, HFILL }},
25090 
25091 /* --- Module MAP-ER-DataTypes --- --- ---                                    */
25092 
25093     { &hf_gsm_map_er_roamingNotAllowedCause,
25094       { "roamingNotAllowedCause", "gsm_map.er.roamingNotAllowedCause",
25095         FT_UINT32, BASE_DEC, VALS(gsm_map_er_RoamingNotAllowedCause_vals), 0,
25096         NULL, HFILL }},
25097     { &hf_gsm_map_er_extensionContainer,
25098       { "extensionContainer", "gsm_map.er.extensionContainer_element",
25099         FT_NONE, BASE_NONE, NULL, 0,
25100         NULL, HFILL }},
25101     { &hf_gsm_map_er_additionalRoamingNotAllowedCause,
25102       { "additionalRoamingNotAllowedCause", "gsm_map.er.additionalRoamingNotAllowedCause",
25103         FT_UINT32, BASE_DEC, VALS(gsm_map_er_AdditionalRoamingNotAllowedCause_vals), 0,
25104         NULL, HFILL }},
25105     { &hf_gsm_map_er_callBarringCause,
25106       { "callBarringCause", "gsm_map.er.callBarringCause",
25107         FT_UINT32, BASE_DEC, VALS(gsm_map_er_CallBarringCause_vals), 0,
25108         NULL, HFILL }},
25109     { &hf_gsm_map_er_extensibleCallBarredParam,
25110       { "extensibleCallBarredParam", "gsm_map.er.extensibleCallBarredParam_element",
25111         FT_NONE, BASE_NONE, NULL, 0,
25112         NULL, HFILL }},
25113     { &hf_gsm_map_er_unauthorisedMessageOriginator,
25114       { "unauthorisedMessageOriginator", "gsm_map.er.unauthorisedMessageOriginator_element",
25115         FT_NONE, BASE_NONE, NULL, 0,
25116         NULL, HFILL }},
25117     { &hf_gsm_map_er_anonymousCallRejection,
25118       { "anonymousCallRejection", "gsm_map.er.anonymousCallRejection_element",
25119         FT_NONE, BASE_NONE, NULL, 0,
25120         NULL, HFILL }},
25121     { &hf_gsm_map_er_cug_RejectCause,
25122       { "cug-RejectCause", "gsm_map.er.cug_RejectCause",
25123         FT_UINT32, BASE_DEC, VALS(gsm_map_er_CUG_RejectCause_vals), 0,
25124         NULL, HFILL }},
25125     { &hf_gsm_map_er_ss_Code,
25126       { "ss-Code", "gsm_map.er.ss_Code",
25127         FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
25128         NULL, HFILL }},
25129     { &hf_gsm_map_er_basicService,
25130       { "basicService", "gsm_map.er.basicService",
25131         FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
25132         "BasicServiceCode", HFILL }},
25133     { &hf_gsm_map_er_ss_Status,
25134       { "ss-Status", "gsm_map.er.ss_Status",
25135         FT_BYTES, BASE_NONE, NULL, 0,
25136         NULL, HFILL }},
25137     { &hf_gsm_map_er_sm_EnumeratedDeliveryFailureCause,
25138       { "sm-EnumeratedDeliveryFailureCause", "gsm_map.er.sm_EnumeratedDeliveryFailureCause",
25139         FT_UINT32, BASE_DEC, VALS(gsm_map_er_SM_EnumeratedDeliveryFailureCause_vals), 0,
25140         NULL, HFILL }},
25141     { &hf_gsm_map_er_diagnosticInfo,
25142       { "diagnosticInfo", "gsm_map.er.diagnosticInfo",
25143         FT_BYTES, BASE_NONE, NULL, 0,
25144         "SignalInfo", HFILL }},
25145     { &hf_gsm_map_er_absentSubscriberDiagnosticSM,
25146       { "absentSubscriberDiagnosticSM", "gsm_map.er.absentSubscriberDiagnosticSM",
25147         FT_UINT32, BASE_DEC, NULL, 0,
25148         NULL, HFILL }},
25149     { &hf_gsm_map_er_additionalAbsentSubscriberDiagnosticSM,
25150       { "additionalAbsentSubscriberDiagnosticSM", "gsm_map.er.additionalAbsentSubscriberDiagnosticSM",
25151         FT_UINT32, BASE_DEC, NULL, 0,
25152         "AbsentSubscriberDiagnosticSM", HFILL }},
25153     { &hf_gsm_map_er_imsi,
25154       { "imsi", "gsm_map.er.imsi",
25155         FT_BYTES, BASE_NONE, NULL, 0,
25156         NULL, HFILL }},
25157     { &hf_gsm_map_er_requestedRetransmissionTime,
25158       { "requestedRetransmissionTime", "gsm_map.er.requestedRetransmissionTime",
25159         FT_BYTES, BASE_NONE, NULL, 0,
25160         "Time", HFILL }},
25161     { &hf_gsm_map_er_userIdentifierAlert,
25162       { "userIdentifierAlert", "gsm_map.er.userIdentifierAlert",
25163         FT_BYTES, BASE_NONE, NULL, 0,
25164         "IMSI", HFILL }},
25165     { &hf_gsm_map_er_networkResource,
25166       { "networkResource", "gsm_map.er.networkResource",
25167         FT_UINT32, BASE_DEC, VALS(gsm_map_NetworkResource_vals), 0,
25168         NULL, HFILL }},
25169     { &hf_gsm_map_er_extensibleSystemFailureParam,
25170       { "extensibleSystemFailureParam", "gsm_map.er.extensibleSystemFailureParam_element",
25171         FT_NONE, BASE_NONE, NULL, 0,
25172         NULL, HFILL }},
25173     { &hf_gsm_map_er_additionalNetworkResource,
25174       { "additionalNetworkResource", "gsm_map.er.additionalNetworkResource",
25175         FT_UINT32, BASE_DEC, VALS(gsm_map_AdditionalNetworkResource_vals), 0,
25176         NULL, HFILL }},
25177     { &hf_gsm_map_er_failureCauseParam,
25178       { "failureCauseParam", "gsm_map.er.failureCauseParam",
25179         FT_UINT32, BASE_DEC, VALS(gsm_map_er_FailureCauseParam_vals), 0,
25180         NULL, HFILL }},
25181     { &hf_gsm_map_er_unexpectedSubscriber,
25182       { "unexpectedSubscriber", "gsm_map.er.unexpectedSubscriber_element",
25183         FT_NONE, BASE_NONE, NULL, 0,
25184         NULL, HFILL }},
25185     { &hf_gsm_map_er_shapeOfLocationEstimateNotSupported,
25186       { "shapeOfLocationEstimateNotSupported", "gsm_map.er.shapeOfLocationEstimateNotSupported_element",
25187         FT_NONE, BASE_NONE, NULL, 0,
25188         NULL, HFILL }},
25189     { &hf_gsm_map_er_neededLcsCapabilityNotSupportedInServingNode,
25190       { "neededLcsCapabilityNotSupportedInServingNode", "gsm_map.er.neededLcsCapabilityNotSupportedInServingNode_element",
25191         FT_NONE, BASE_NONE, NULL, 0,
25192         NULL, HFILL }},
25193     { &hf_gsm_map_er_unknownSubscriberDiagnostic,
25194       { "unknownSubscriberDiagnostic", "gsm_map.er.unknownSubscriberDiagnostic",
25195         FT_UINT32, BASE_DEC, VALS(gsm_map_er_UnknownSubscriberDiagnostic_vals), 0,
25196         NULL, HFILL }},
25197     { &hf_gsm_map_er_absentSubscriberReason,
25198       { "absentSubscriberReason", "gsm_map.er.absentSubscriberReason",
25199         FT_UINT32, BASE_DEC, VALS(gsm_map_er_AbsentSubscriberReason_vals), 0,
25200         NULL, HFILL }},
25201     { &hf_gsm_map_er_ccbs_Possible,
25202       { "ccbs-Possible", "gsm_map.er.ccbs_Possible_element",
25203         FT_NONE, BASE_NONE, NULL, 0,
25204         NULL, HFILL }},
25205     { &hf_gsm_map_er_ccbs_Busy,
25206       { "ccbs-Busy", "gsm_map.er.ccbs_Busy_element",
25207         FT_NONE, BASE_NONE, NULL, 0,
25208         NULL, HFILL }},
25209     { &hf_gsm_map_er_gprsConnectionSuspended,
25210       { "gprsConnectionSuspended", "gsm_map.er.gprsConnectionSuspended_element",
25211         FT_NONE, BASE_NONE, NULL, 0,
25212         NULL, HFILL }},
25213     { &hf_gsm_map_er_unauthorizedLCSClient_Diagnostic,
25214       { "unauthorizedLCSClient-Diagnostic", "gsm_map.er.unauthorizedLCSClient_Diagnostic",
25215         FT_UINT32, BASE_DEC, VALS(gsm_map_er_UnauthorizedLCSClient_Diagnostic_vals), 0,
25216         NULL, HFILL }},
25217     { &hf_gsm_map_er_positionMethodFailure_Diagnostic,
25218       { "positionMethodFailure-Diagnostic", "gsm_map.er.positionMethodFailure_Diagnostic",
25219         FT_UINT32, BASE_DEC, VALS(gsm_map_er_PositionMethodFailure_Diagnostic_vals), 0,
25220         NULL, HFILL }},
25221 
25222 /* --- Module MAP-SM-DataTypes --- --- ---                                    */
25223 
25224     { &hf_gsm_map_sm_msisdn,
25225       { "msisdn", "gsm_map.sm.msisdn",
25226         FT_BYTES, BASE_NONE, NULL, 0,
25227         "ISDN_AddressString", HFILL }},
25228     { &hf_gsm_map_sm_sm_RP_PRI,
25229       { "sm-RP-PRI", "gsm_map.sm.sm_RP_PRI",
25230         FT_BOOLEAN, BASE_NONE, NULL, 0,
25231         "BOOLEAN", HFILL }},
25232     { &hf_gsm_map_sm_serviceCentreAddress,
25233       { "serviceCentreAddress", "gsm_map.sm.serviceCentreAddress",
25234         FT_BYTES, BASE_NONE, NULL, 0,
25235         "AddressString", HFILL }},
25236     { &hf_gsm_map_sm_extensionContainer,
25237       { "extensionContainer", "gsm_map.sm.extensionContainer_element",
25238         FT_NONE, BASE_NONE, NULL, 0,
25239         NULL, HFILL }},
25240     { &hf_gsm_map_sm_gprsSupportIndicator,
25241       { "gprsSupportIndicator", "gsm_map.sm.gprsSupportIndicator_element",
25242         FT_NONE, BASE_NONE, NULL, 0,
25243         NULL, HFILL }},
25244     { &hf_gsm_map_sm_sm_RP_MTI,
25245       { "sm-RP-MTI", "gsm_map.sm.sm_RP_MTI",
25246         FT_UINT32, BASE_DEC, NULL, 0,
25247         NULL, HFILL }},
25248     { &hf_gsm_map_sm_sm_RP_SMEA,
25249       { "sm-RP-SMEA", "gsm_map.sm.sm_RP_SMEA",
25250         FT_BYTES, BASE_NONE, NULL, 0,
25251         NULL, HFILL }},
25252     { &hf_gsm_map_sm_sm_deliveryNotIntended,
25253       { "sm-deliveryNotIntended", "gsm_map.sm.sm_deliveryNotIntended",
25254         FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_DeliveryNotIntended_vals), 0,
25255         NULL, HFILL }},
25256     { &hf_gsm_map_sm_ip_sm_gwGuidanceIndicator,
25257       { "ip-sm-gwGuidanceIndicator", "gsm_map.sm.ip_sm_gwGuidanceIndicator_element",
25258         FT_NONE, BASE_NONE, NULL, 0,
25259         NULL, HFILL }},
25260     { &hf_gsm_map_sm_imsi,
25261       { "imsi", "gsm_map.sm.imsi",
25262         FT_BYTES, BASE_NONE, NULL, 0,
25263         NULL, HFILL }},
25264     { &hf_gsm_map_sm_t4_Trigger_Indicator,
25265       { "t4-Trigger-Indicator", "gsm_map.sm.t4_Trigger_Indicator_element",
25266         FT_NONE, BASE_NONE, NULL, 0,
25267         NULL, HFILL }},
25268     { &hf_gsm_map_sm_singleAttemptDelivery,
25269       { "singleAttemptDelivery", "gsm_map.sm.singleAttemptDelivery_element",
25270         FT_NONE, BASE_NONE, NULL, 0,
25271         NULL, HFILL }},
25272     { &hf_gsm_map_sm_correlationID,
25273       { "correlationID", "gsm_map.sm.correlationID_element",
25274         FT_NONE, BASE_NONE, NULL, 0,
25275         NULL, HFILL }},
25276     { &hf_gsm_map_sm_smsf_supportIndicator,
25277       { "smsf-supportIndicator", "gsm_map.sm.smsf_supportIndicator_element",
25278         FT_NONE, BASE_NONE, NULL, 0,
25279         NULL, HFILL }},
25280     { &hf_gsm_map_sm_locationInfoWithLMSI,
25281       { "locationInfoWithLMSI", "gsm_map.sm.locationInfoWithLMSI_element",
25282         FT_NONE, BASE_NONE, NULL, 0,
25283         NULL, HFILL }},
25284     { &hf_gsm_map_sm_ip_sm_gwGuidance,
25285       { "ip-sm-gwGuidance", "gsm_map.sm.ip_sm_gwGuidance_element",
25286         FT_NONE, BASE_NONE, NULL, 0,
25287         "IP_SM_GW_Guidance", HFILL }},
25288     { &hf_gsm_map_sm_minimumDeliveryTimeValue,
25289       { "minimumDeliveryTimeValue", "gsm_map.sm.minimumDeliveryTimeValue",
25290         FT_UINT32, BASE_DEC, NULL, 0,
25291         "SM_DeliveryTimerValue", HFILL }},
25292     { &hf_gsm_map_sm_recommendedDeliveryTimeValue,
25293       { "recommendedDeliveryTimeValue", "gsm_map.sm.recommendedDeliveryTimeValue",
25294         FT_UINT32, BASE_DEC, NULL, 0,
25295         "SM_DeliveryTimerValue", HFILL }},
25296     { &hf_gsm_map_sm_networkNode_Number,
25297       { "networkNode-Number", "gsm_map.sm.networkNode_Number",
25298         FT_BYTES, BASE_NONE, NULL, 0,
25299         "ISDN_AddressString", HFILL }},
25300     { &hf_gsm_map_sm_lmsi,
25301       { "lmsi", "gsm_map.sm.lmsi",
25302         FT_BYTES, BASE_NONE, NULL, 0,
25303         NULL, HFILL }},
25304     { &hf_gsm_map_sm_gprsNodeIndicator,
25305       { "gprsNodeIndicator", "gsm_map.sm.gprsNodeIndicator_element",
25306         FT_NONE, BASE_NONE, NULL, 0,
25307         NULL, HFILL }},
25308     { &hf_gsm_map_sm_additional_Number,
25309       { "additional-Number", "gsm_map.sm.additional_Number",
25310         FT_UINT32, BASE_DEC, VALS(gsm_map_sm_Additional_Number_vals), 0,
25311         NULL, HFILL }},
25312     { &hf_gsm_map_sm_networkNodeDiameterAddress,
25313       { "networkNodeDiameterAddress", "gsm_map.sm.networkNodeDiameterAddress_element",
25314         FT_NONE, BASE_NONE, NULL, 0,
25315         NULL, HFILL }},
25316     { &hf_gsm_map_sm_additionalNetworkNodeDiameterAddress,
25317       { "additionalNetworkNodeDiameterAddress", "gsm_map.sm.additionalNetworkNodeDiameterAddress_element",
25318         FT_NONE, BASE_NONE, NULL, 0,
25319         "NetworkNodeDiameterAddress", HFILL }},
25320     { &hf_gsm_map_sm_thirdNumber,
25321       { "thirdNumber", "gsm_map.sm.thirdNumber",
25322         FT_UINT32, BASE_DEC, VALS(gsm_map_sm_Additional_Number_vals), 0,
25323         "Additional_Number", HFILL }},
25324     { &hf_gsm_map_sm_thirdNetworkNodeDiameterAddress,
25325       { "thirdNetworkNodeDiameterAddress", "gsm_map.sm.thirdNetworkNodeDiameterAddress_element",
25326         FT_NONE, BASE_NONE, NULL, 0,
25327         "NetworkNodeDiameterAddress", HFILL }},
25328     { &hf_gsm_map_sm_imsNodeIndicator,
25329       { "imsNodeIndicator", "gsm_map.sm.imsNodeIndicator_element",
25330         FT_NONE, BASE_NONE, NULL, 0,
25331         NULL, HFILL }},
25332     { &hf_gsm_map_sm_smsf_3gpp_Number,
25333       { "smsf-3gpp-Number", "gsm_map.sm.smsf_3gpp_Number",
25334         FT_BYTES, BASE_NONE, NULL, 0,
25335         "ISDN_AddressString", HFILL }},
25336     { &hf_gsm_map_sm_smsf_3gpp_DiameterAddress,
25337       { "smsf-3gpp-DiameterAddress", "gsm_map.sm.smsf_3gpp_DiameterAddress_element",
25338         FT_NONE, BASE_NONE, NULL, 0,
25339         "NetworkNodeDiameterAddress", HFILL }},
25340     { &hf_gsm_map_sm_smsf_non_3gpp_Number,
25341       { "smsf-non-3gpp-Number", "gsm_map.sm.smsf_non_3gpp_Number",
25342         FT_BYTES, BASE_NONE, NULL, 0,
25343         "ISDN_AddressString", HFILL }},
25344     { &hf_gsm_map_sm_smsf_non_3gpp_DiameterAddress,
25345       { "smsf-non-3gpp-DiameterAddress", "gsm_map.sm.smsf_non_3gpp_DiameterAddress_element",
25346         FT_NONE, BASE_NONE, NULL, 0,
25347         "NetworkNodeDiameterAddress", HFILL }},
25348     { &hf_gsm_map_sm_smsf_3gpp_address_indicator,
25349       { "smsf-3gpp-address-indicator", "gsm_map.sm.smsf_3gpp_address_indicator_element",
25350         FT_NONE, BASE_NONE, NULL, 0,
25351         NULL, HFILL }},
25352     { &hf_gsm_map_sm_smsf_non_3gpp_address_indicator,
25353       { "smsf-non-3gpp-address-indicator", "gsm_map.sm.smsf_non_3gpp_address_indicator_element",
25354         FT_NONE, BASE_NONE, NULL, 0,
25355         NULL, HFILL }},
25356     { &hf_gsm_map_sm_msc_Number,
25357       { "msc-Number", "gsm_map.sm.msc_Number",
25358         FT_BYTES, BASE_NONE, NULL, 0,
25359         "ISDN_AddressString", HFILL }},
25360     { &hf_gsm_map_sm_sgsn_Number,
25361       { "sgsn-Number", "gsm_map.sm.sgsn_Number",
25362         FT_BYTES, BASE_NONE, NULL, 0,
25363         "ISDN_AddressString", HFILL }},
25364     { &hf_gsm_map_sm_sm_RP_DA,
25365       { "sm-RP-DA", "gsm_map.sm.sm_RP_DA",
25366         FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_RP_DA_vals), 0,
25367         NULL, HFILL }},
25368     { &hf_gsm_map_sm_sm_RP_OA,
25369       { "sm-RP-OA", "gsm_map.sm.sm_RP_OA",
25370         FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_RP_OA_vals), 0,
25371         NULL, HFILL }},
25372     { &hf_gsm_map_sm_sm_RP_UI,
25373       { "sm-RP-UI", "gsm_map.sm.sm_RP_UI",
25374         FT_BYTES, BASE_NONE, NULL, 0,
25375         "SignalInfo", HFILL }},
25376     { &hf_gsm_map_sm_sm_DeliveryOutcome,
25377       { "sm-DeliveryOutcome", "gsm_map.sm.sm_DeliveryOutcome",
25378         FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_DeliveryOutcome_vals), 0,
25379         NULL, HFILL }},
25380     { &hf_gsm_map_sm_moreMessagesToSend,
25381       { "moreMessagesToSend", "gsm_map.sm.moreMessagesToSend_element",
25382         FT_NONE, BASE_NONE, NULL, 0,
25383         NULL, HFILL }},
25384     { &hf_gsm_map_sm_smDeliveryTimer,
25385       { "smDeliveryTimer", "gsm_map.sm.smDeliveryTimer",
25386         FT_UINT32, BASE_DEC, NULL, 0,
25387         "SM_DeliveryTimerValue", HFILL }},
25388     { &hf_gsm_map_sm_smDeliveryStartTime,
25389       { "smDeliveryStartTime", "gsm_map.sm.smDeliveryStartTime",
25390         FT_BYTES, BASE_NONE, NULL, 0,
25391         "Time", HFILL }},
25392     { &hf_gsm_map_sm_smsOverIP_OnlyIndicator,
25393       { "smsOverIP-OnlyIndicator", "gsm_map.sm.smsOverIP_OnlyIndicator_element",
25394         FT_NONE, BASE_NONE, NULL, 0,
25395         NULL, HFILL }},
25396     { &hf_gsm_map_sm_maximumRetransmissionTime,
25397       { "maximumRetransmissionTime", "gsm_map.sm.maximumRetransmissionTime",
25398         FT_BYTES, BASE_NONE, NULL, 0,
25399         "Time", HFILL }},
25400     { &hf_gsm_map_sm_smsGmscAddress,
25401       { "smsGmscAddress", "gsm_map.sm.smsGmscAddress",
25402         FT_BYTES, BASE_NONE, NULL, 0,
25403         "ISDN_AddressString", HFILL }},
25404     { &hf_gsm_map_sm_smsGmscDiameterAddress,
25405       { "smsGmscDiameterAddress", "gsm_map.sm.smsGmscDiameterAddress_element",
25406         FT_NONE, BASE_NONE, NULL, 0,
25407         "NetworkNodeDiameterAddress", HFILL }},
25408     { &hf_gsm_map_sm_hlr_id,
25409       { "hlr-id", "gsm_map.sm.hlr_id",
25410         FT_BYTES, BASE_NONE, NULL, 0,
25411         NULL, HFILL }},
25412     { &hf_gsm_map_sm_sip_uri_A,
25413       { "sip-uri-A", "gsm_map.sm.sip_uri_A",
25414         FT_BYTES, BASE_NONE, NULL, 0,
25415         "SIP_URI", HFILL }},
25416     { &hf_gsm_map_sm_sip_uri_B,
25417       { "sip-uri-B", "gsm_map.sm.sip_uri_B",
25418         FT_BYTES, BASE_NONE, NULL, 0,
25419         "SIP_URI", HFILL }},
25420     { &hf_gsm_map_sm_imsi_01,
25421       { "imsi", "gsm_map.sm.imsi",
25422         FT_BYTES, BASE_NONE, NULL, 0,
25423         NULL, HFILL }},
25424     { &hf_gsm_map_sm_lmsi_01,
25425       { "lmsi", "gsm_map.sm.lmsi",
25426         FT_BYTES, BASE_NONE, NULL, 0,
25427         NULL, HFILL }},
25428     { &hf_gsm_map_sm_serviceCentreAddressDA,
25429       { "serviceCentreAddressDA", "gsm_map.sm.serviceCentreAddressDA",
25430         FT_BYTES, BASE_NONE, NULL, 0,
25431         NULL, HFILL }},
25432     { &hf_gsm_map_sm_noSM_RP_DA,
25433       { "noSM-RP-DA", "gsm_map.sm.noSM_RP_DA_element",
25434         FT_NONE, BASE_NONE, NULL, 0,
25435         NULL, HFILL }},
25436     { &hf_gsm_map_sm_msisdn_01,
25437       { "msisdn", "gsm_map.sm.msisdn",
25438         FT_BYTES, BASE_NONE, NULL, 0,
25439         NULL, HFILL }},
25440     { &hf_gsm_map_sm_serviceCentreAddressOA,
25441       { "serviceCentreAddressOA", "gsm_map.sm.serviceCentreAddressOA",
25442         FT_BYTES, BASE_NONE, NULL, 0,
25443         NULL, HFILL }},
25444     { &hf_gsm_map_sm_noSM_RP_OA,
25445       { "noSM-RP-OA", "gsm_map.sm.noSM_RP_OA_element",
25446         FT_NONE, BASE_NONE, NULL, 0,
25447         NULL, HFILL }},
25448     { &hf_gsm_map_sm_absentSubscriberDiagnosticSM,
25449       { "absentSubscriberDiagnosticSM", "gsm_map.sm.absentSubscriberDiagnosticSM",
25450         FT_UINT32, BASE_DEC, NULL, 0,
25451         NULL, HFILL }},
25452     { &hf_gsm_map_sm_deliveryOutcomeIndicator,
25453       { "deliveryOutcomeIndicator", "gsm_map.sm.deliveryOutcomeIndicator_element",
25454         FT_NONE, BASE_NONE, NULL, 0,
25455         NULL, HFILL }},
25456     { &hf_gsm_map_sm_additionalSM_DeliveryOutcome,
25457       { "additionalSM-DeliveryOutcome", "gsm_map.sm.additionalSM_DeliveryOutcome",
25458         FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_DeliveryOutcome_vals), 0,
25459         "SM_DeliveryOutcome", HFILL }},
25460     { &hf_gsm_map_sm_additionalAbsentSubscriberDiagnosticSM,
25461       { "additionalAbsentSubscriberDiagnosticSM", "gsm_map.sm.additionalAbsentSubscriberDiagnosticSM",
25462         FT_UINT32, BASE_DEC, NULL, 0,
25463         "AbsentSubscriberDiagnosticSM", HFILL }},
25464     { &hf_gsm_map_sm_ip_sm_gw_Indicator,
25465       { "ip-sm-gw-Indicator", "gsm_map.sm.ip_sm_gw_Indicator_element",
25466         FT_NONE, BASE_NONE, NULL, 0,
25467         NULL, HFILL }},
25468     { &hf_gsm_map_sm_ip_sm_gw_sm_deliveryOutcome,
25469       { "ip-sm-gw-sm-deliveryOutcome", "gsm_map.sm.ip_sm_gw_sm_deliveryOutcome",
25470         FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_DeliveryOutcome_vals), 0,
25471         "SM_DeliveryOutcome", HFILL }},
25472     { &hf_gsm_map_sm_ip_sm_gw_absentSubscriberDiagnosticSM,
25473       { "ip-sm-gw-absentSubscriberDiagnosticSM", "gsm_map.sm.ip_sm_gw_absentSubscriberDiagnosticSM",
25474         FT_UINT32, BASE_DEC, NULL, 0,
25475         "AbsentSubscriberDiagnosticSM", HFILL }},
25476     { &hf_gsm_map_sm_smsf_3gpp_deliveryOutcomeIndicator,
25477       { "smsf-3gpp-deliveryOutcomeIndicator", "gsm_map.sm.smsf_3gpp_deliveryOutcomeIndicator_element",
25478         FT_NONE, BASE_NONE, NULL, 0,
25479         NULL, HFILL }},
25480     { &hf_gsm_map_sm_smsf_3gpp_deliveryOutcome,
25481       { "smsf-3gpp-deliveryOutcome", "gsm_map.sm.smsf_3gpp_deliveryOutcome",
25482         FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_DeliveryOutcome_vals), 0,
25483         "SM_DeliveryOutcome", HFILL }},
25484     { &hf_gsm_map_sm_smsf_3gpp_absentSubscriberDiagSM,
25485       { "smsf-3gpp-absentSubscriberDiagSM", "gsm_map.sm.smsf_3gpp_absentSubscriberDiagSM",
25486         FT_UINT32, BASE_DEC, NULL, 0,
25487         "AbsentSubscriberDiagnosticSM", HFILL }},
25488     { &hf_gsm_map_sm_smsf_non_3gpp_deliveryOutcomeIndicator,
25489       { "smsf-non-3gpp-deliveryOutcomeIndicator", "gsm_map.sm.smsf_non_3gpp_deliveryOutcomeIndicator_element",
25490         FT_NONE, BASE_NONE, NULL, 0,
25491         NULL, HFILL }},
25492     { &hf_gsm_map_sm_smsf_non_3gpp_deliveryOutcome,
25493       { "smsf-non-3gpp-deliveryOutcome", "gsm_map.sm.smsf_non_3gpp_deliveryOutcome",
25494         FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SM_DeliveryOutcome_vals), 0,
25495         "SM_DeliveryOutcome", HFILL }},
25496     { &hf_gsm_map_sm_smsf_non_3gpp_absentSubscriberDiagSM,
25497       { "smsf-non-3gpp-absentSubscriberDiagSM", "gsm_map.sm.smsf_non_3gpp_absentSubscriberDiagSM",
25498         FT_UINT32, BASE_DEC, NULL, 0,
25499         "AbsentSubscriberDiagnosticSM", HFILL }},
25500     { &hf_gsm_map_sm_storedMSISDN,
25501       { "storedMSISDN", "gsm_map.sm.storedMSISDN",
25502         FT_BYTES, BASE_NONE, NULL, 0,
25503         "ISDN_AddressString", HFILL }},
25504     { &hf_gsm_map_sm_maximumUeAvailabilityTime,
25505       { "maximumUeAvailabilityTime", "gsm_map.sm.maximumUeAvailabilityTime",
25506         FT_BYTES, BASE_NONE, NULL, 0,
25507         "Time", HFILL }},
25508     { &hf_gsm_map_sm_smsGmscAlertEvent,
25509       { "smsGmscAlertEvent", "gsm_map.sm.smsGmscAlertEvent",
25510         FT_UINT32, BASE_DEC, VALS(gsm_map_sm_SmsGmsc_Alert_Event_vals), 0,
25511         "SmsGmsc_Alert_Event", HFILL }},
25512     { &hf_gsm_map_sm_newSGSNNumber,
25513       { "newSGSNNumber", "gsm_map.sm.newSGSNNumber",
25514         FT_BYTES, BASE_NONE, NULL, 0,
25515         "ISDN_AddressString", HFILL }},
25516     { &hf_gsm_map_sm_newSGSNDiameterAddress,
25517       { "newSGSNDiameterAddress", "gsm_map.sm.newSGSNDiameterAddress_element",
25518         FT_NONE, BASE_NONE, NULL, 0,
25519         "NetworkNodeDiameterAddress", HFILL }},
25520     { &hf_gsm_map_sm_newMMENumber,
25521       { "newMMENumber", "gsm_map.sm.newMMENumber",
25522         FT_BYTES, BASE_NONE, NULL, 0,
25523         "ISDN_AddressString", HFILL }},
25524     { &hf_gsm_map_sm_newMMEDiameterAddress,
25525       { "newMMEDiameterAddress", "gsm_map.sm.newMMEDiameterAddress_element",
25526         FT_NONE, BASE_NONE, NULL, 0,
25527         "NetworkNodeDiameterAddress", HFILL }},
25528     { &hf_gsm_map_sm_newMSCNumber,
25529       { "newMSCNumber", "gsm_map.sm.newMSCNumber",
25530         FT_BYTES, BASE_NONE, NULL, 0,
25531         "ISDN_AddressString", HFILL }},
25532     { &hf_gsm_map_sm_mw_Status,
25533       { "mw-Status", "gsm_map.sm.mw_Status",
25534         FT_BYTES, BASE_NONE, NULL, 0,
25535         NULL, HFILL }},
25536     { &hf_gsm_map_sm_smsf3gppAbsentSubscriberDiagnosticSM,
25537       { "smsf3gppAbsentSubscriberDiagnosticSM", "gsm_map.sm.smsf3gppAbsentSubscriberDiagnosticSM",
25538         FT_UINT32, BASE_DEC, NULL, 0,
25539         "AbsentSubscriberDiagnosticSM", HFILL }},
25540     { &hf_gsm_map_sm_smsfNon3gppAbsentSubscriberDiagnosticSM,
25541       { "smsfNon3gppAbsentSubscriberDiagnosticSM", "gsm_map.sm.smsfNon3gppAbsentSubscriberDiagnosticSM",
25542         FT_UINT32, BASE_DEC, NULL, 0,
25543         "AbsentSubscriberDiagnosticSM", HFILL }},
25544     { &hf_gsm_map_sm_alertReason,
25545       { "alertReason", "gsm_map.sm.alertReason",
25546         FT_UINT32, BASE_DEC, VALS(gsm_map_sm_AlertReason_vals), 0,
25547         NULL, HFILL }},
25548     { &hf_gsm_map_sm_alertReasonIndicator,
25549       { "alertReasonIndicator", "gsm_map.sm.alertReasonIndicator_element",
25550         FT_NONE, BASE_NONE, NULL, 0,
25551         NULL, HFILL }},
25552     { &hf_gsm_map_sm_additionalAlertReasonIndicator,
25553       { "additionalAlertReasonIndicator", "gsm_map.sm.additionalAlertReasonIndicator_element",
25554         FT_NONE, BASE_NONE, NULL, 0,
25555         NULL, HFILL }},
25556     { &hf_gsm_map_sm_asciCallReference,
25557       { "asciCallReference", "gsm_map.sm.asciCallReference",
25558         FT_BYTES, BASE_NONE, NULL, 0,
25559         "ASCI_CallReference", HFILL }},
25560     { &hf_gsm_map_sm_dispatcherList,
25561       { "dispatcherList", "gsm_map.sm.dispatcherList",
25562         FT_UINT32, BASE_DEC, NULL, 0,
25563         NULL, HFILL }},
25564     { &hf_gsm_map_sm_ongoingCall,
25565       { "ongoingCall", "gsm_map.sm.ongoingCall_element",
25566         FT_NONE, BASE_NONE, NULL, 0,
25567         NULL, HFILL }},
25568     { &hf_gsm_map_sm_additionalDispatcherList,
25569       { "additionalDispatcherList", "gsm_map.sm.additionalDispatcherList",
25570         FT_UINT32, BASE_DEC, NULL, 0,
25571         NULL, HFILL }},
25572     { &hf_gsm_map_sm_DispatcherList_item,
25573       { "ISDN-AddressString", "gsm_map.sm.ISDN_AddressString",
25574         FT_BYTES, BASE_NONE, NULL, 0,
25575         NULL, HFILL }},
25576     { &hf_gsm_map_sm_AdditionalDispatcherList_item,
25577       { "ISDN-AddressString", "gsm_map.sm.ISDN_AddressString",
25578         FT_BYTES, BASE_NONE, NULL, 0,
25579         NULL, HFILL }},
25580     { &hf_gsm_map_sm_MW_Status_sc_AddressNotIncluded,
25581       { "sc-AddressNotIncluded", "gsm.map.sm.MW.Status.sc.AddressNotIncluded",
25582         FT_BOOLEAN, 8, NULL, 0x80,
25583         NULL, HFILL }},
25584     { &hf_gsm_map_sm_MW_Status_mnrf_Set,
25585       { "mnrf-Set", "gsm.map.sm.MW.Status.mnrf.Set",
25586         FT_BOOLEAN, 8, NULL, 0x40,
25587         NULL, HFILL }},
25588     { &hf_gsm_map_sm_MW_Status_mcef_Set,
25589       { "mcef-Set", "gsm.map.sm.MW.Status.mcef.Set",
25590         FT_BOOLEAN, 8, NULL, 0x20,
25591         NULL, HFILL }},
25592     { &hf_gsm_map_sm_MW_Status_mnrg_Set,
25593       { "mnrg-Set", "gsm.map.sm.MW.Status.mnrg.Set",
25594         FT_BOOLEAN, 8, NULL, 0x10,
25595         NULL, HFILL }},
25596     { &hf_gsm_map_sm_MW_Status_mnr5g_Set,
25597       { "mnr5g-Set", "gsm.map.sm.MW.Status.mnr5g.Set",
25598         FT_BOOLEAN, 8, NULL, 0x08,
25599         NULL, HFILL }},
25600     { &hf_gsm_map_sm_MW_Status_mnr5gn3g_Set,
25601       { "mnr5gn3g-Set", "gsm.map.sm.MW.Status.mnr5gn3g.Set",
25602         FT_BOOLEAN, 8, NULL, 0x04,
25603         NULL, HFILL }},
25604 
25605 /* --- Module MAP-OM-DataTypes --- --- ---                                    */
25606 
25607     { &hf_gsm_map_om_imsi,
25608       { "imsi", "gsm_map.om.imsi",
25609         FT_BYTES, BASE_NONE, NULL, 0,
25610         NULL, HFILL }},
25611     { &hf_gsm_map_om_traceReference,
25612       { "traceReference", "gsm_map.om.traceReference",
25613         FT_BYTES, BASE_NONE, NULL, 0,
25614         NULL, HFILL }},
25615     { &hf_gsm_map_om_traceType,
25616       { "traceType", "gsm_map.om.traceType",
25617         FT_UINT32, BASE_DEC, NULL, 0,
25618         NULL, HFILL }},
25619     { &hf_gsm_map_om_omc_Id,
25620       { "omc-Id", "gsm_map.om.omc_Id",
25621         FT_BYTES, BASE_NONE, NULL, 0,
25622         "AddressString", HFILL }},
25623     { &hf_gsm_map_om_extensionContainer,
25624       { "extensionContainer", "gsm_map.om.extensionContainer_element",
25625         FT_NONE, BASE_NONE, NULL, 0,
25626         NULL, HFILL }},
25627     { &hf_gsm_map_om_traceReference2,
25628       { "traceReference2", "gsm_map.om.traceReference2",
25629         FT_BYTES, BASE_NONE, NULL, 0,
25630         NULL, HFILL }},
25631     { &hf_gsm_map_om_traceDepthList,
25632       { "traceDepthList", "gsm_map.om.traceDepthList_element",
25633         FT_NONE, BASE_NONE, NULL, 0,
25634         NULL, HFILL }},
25635     { &hf_gsm_map_om_traceNE_TypeList,
25636       { "traceNE-TypeList", "gsm_map.om.traceNE_TypeList",
25637         FT_BYTES, BASE_NONE, NULL, 0,
25638         NULL, HFILL }},
25639     { &hf_gsm_map_om_traceInterfaceList,
25640       { "traceInterfaceList", "gsm_map.om.traceInterfaceList_element",
25641         FT_NONE, BASE_NONE, NULL, 0,
25642         NULL, HFILL }},
25643     { &hf_gsm_map_om_traceEventList,
25644       { "traceEventList", "gsm_map.om.traceEventList_element",
25645         FT_NONE, BASE_NONE, NULL, 0,
25646         NULL, HFILL }},
25647     { &hf_gsm_map_om_traceCollectionEntity,
25648       { "traceCollectionEntity", "gsm_map.om.traceCollectionEntity",
25649         FT_BYTES, BASE_NONE, NULL, 0,
25650         "GSN_Address", HFILL }},
25651     { &hf_gsm_map_om_mdt_Configuration,
25652       { "mdt-Configuration", "gsm_map.om.mdt_Configuration_element",
25653         FT_NONE, BASE_NONE, NULL, 0,
25654         NULL, HFILL }},
25655     { &hf_gsm_map_om_jobType,
25656       { "jobType", "gsm_map.om.jobType",
25657         FT_UINT32, BASE_DEC, VALS(gsm_map_om_JobType_vals), 0,
25658         NULL, HFILL }},
25659     { &hf_gsm_map_om_areaScope,
25660       { "areaScope", "gsm_map.om.areaScope_element",
25661         FT_NONE, BASE_NONE, NULL, 0,
25662         NULL, HFILL }},
25663     { &hf_gsm_map_om_listOfMeasurements,
25664       { "listOfMeasurements", "gsm_map.om.listOfMeasurements",
25665         FT_BYTES, BASE_NONE, NULL, 0,
25666         NULL, HFILL }},
25667     { &hf_gsm_map_om_reportingTrigger,
25668       { "reportingTrigger", "gsm_map.om.reportingTrigger",
25669         FT_BYTES, BASE_NONE, NULL, 0,
25670         NULL, HFILL }},
25671     { &hf_gsm_map_om_reportInterval,
25672       { "reportInterval", "gsm_map.om.reportInterval",
25673         FT_UINT32, BASE_DEC, VALS(gsm_map_om_ReportInterval_vals), 0,
25674         NULL, HFILL }},
25675     { &hf_gsm_map_om_reportAmount,
25676       { "reportAmount", "gsm_map.om.reportAmount",
25677         FT_UINT32, BASE_DEC, VALS(gsm_map_om_ReportAmount_vals), 0,
25678         NULL, HFILL }},
25679     { &hf_gsm_map_om_eventThresholdRSRP,
25680       { "eventThresholdRSRP", "gsm_map.om.eventThresholdRSRP",
25681         FT_UINT32, BASE_DEC, NULL, 0,
25682         NULL, HFILL }},
25683     { &hf_gsm_map_om_eventThresholdRSRQ,
25684       { "eventThresholdRSRQ", "gsm_map.om.eventThresholdRSRQ",
25685         FT_UINT32, BASE_DEC, NULL, 0,
25686         NULL, HFILL }},
25687     { &hf_gsm_map_om_loggingInterval,
25688       { "loggingInterval", "gsm_map.om.loggingInterval",
25689         FT_UINT32, BASE_DEC, VALS(gsm_map_om_LoggingInterval_vals), 0,
25690         NULL, HFILL }},
25691     { &hf_gsm_map_om_loggingDuration,
25692       { "loggingDuration", "gsm_map.om.loggingDuration",
25693         FT_UINT32, BASE_DEC, VALS(gsm_map_om_LoggingDuration_vals), 0,
25694         NULL, HFILL }},
25695     { &hf_gsm_map_om_measurementPeriodUMTS,
25696       { "measurementPeriodUMTS", "gsm_map.om.measurementPeriodUMTS",
25697         FT_UINT32, BASE_DEC, VALS(gsm_map_om_PeriodUMTS_vals), 0,
25698         "PeriodUMTS", HFILL }},
25699     { &hf_gsm_map_om_measurementPeriodLTE,
25700       { "measurementPeriodLTE", "gsm_map.om.measurementPeriodLTE",
25701         FT_UINT32, BASE_DEC, VALS(gsm_map_om_PeriodLTE_vals), 0,
25702         "PeriodLTE", HFILL }},
25703     { &hf_gsm_map_om_collectionPeriodRRM_UMTS,
25704       { "collectionPeriodRRM-UMTS", "gsm_map.om.collectionPeriodRRM_UMTS",
25705         FT_UINT32, BASE_DEC, VALS(gsm_map_om_PeriodUMTS_vals), 0,
25706         "PeriodUMTS", HFILL }},
25707     { &hf_gsm_map_om_collectionPeriodRRM_LTE,
25708       { "collectionPeriodRRM-LTE", "gsm_map.om.collectionPeriodRRM_LTE",
25709         FT_UINT32, BASE_DEC, VALS(gsm_map_om_PeriodLTE_vals), 0,
25710         "PeriodLTE", HFILL }},
25711     { &hf_gsm_map_om_positioningMethod,
25712       { "positioningMethod", "gsm_map.om.positioningMethod",
25713         FT_BYTES, BASE_NONE, NULL, 0,
25714         NULL, HFILL }},
25715     { &hf_gsm_map_om_measurementQuantity,
25716       { "measurementQuantity", "gsm_map.om.measurementQuantity",
25717         FT_BYTES, BASE_NONE, NULL, 0,
25718         NULL, HFILL }},
25719     { &hf_gsm_map_om_eventThreshold1F,
25720       { "eventThreshold1F", "gsm_map.om.eventThreshold1F",
25721         FT_INT32, BASE_DEC, NULL, 0,
25722         NULL, HFILL }},
25723     { &hf_gsm_map_om_eventThreshold1I,
25724       { "eventThreshold1I", "gsm_map.om.eventThreshold1I",
25725         FT_INT32, BASE_DEC, NULL, 0,
25726         NULL, HFILL }},
25727     { &hf_gsm_map_om_mdt_Allowed_PLMN_List,
25728       { "mdt-Allowed-PLMN-List", "gsm_map.om.mdt_Allowed_PLMN_List",
25729         FT_UINT32, BASE_DEC, NULL, 0,
25730         "MDT_Allowed_PLMNId_List", HFILL }},
25731     { &hf_gsm_map_om_MDT_Allowed_PLMNId_List_item,
25732       { "PLMN-Id", "gsm_map.om.PLMN_Id",
25733         FT_BYTES, BASE_NONE, NULL, 0,
25734         NULL, HFILL }},
25735     { &hf_gsm_map_om_cgi_List,
25736       { "cgi-List", "gsm_map.om.cgi_List",
25737         FT_UINT32, BASE_DEC, NULL, 0,
25738         NULL, HFILL }},
25739     { &hf_gsm_map_om_e_utran_cgi_List,
25740       { "e-utran-cgi-List", "gsm_map.om.e_utran_cgi_List",
25741         FT_UINT32, BASE_DEC, NULL, 0,
25742         NULL, HFILL }},
25743     { &hf_gsm_map_om_routingAreaId_List,
25744       { "routingAreaId-List", "gsm_map.om.routingAreaId_List",
25745         FT_UINT32, BASE_DEC, NULL, 0,
25746         NULL, HFILL }},
25747     { &hf_gsm_map_om_locationAreaId_List,
25748       { "locationAreaId-List", "gsm_map.om.locationAreaId_List",
25749         FT_UINT32, BASE_DEC, NULL, 0,
25750         NULL, HFILL }},
25751     { &hf_gsm_map_om_trackingAreaId_List,
25752       { "trackingAreaId-List", "gsm_map.om.trackingAreaId_List",
25753         FT_UINT32, BASE_DEC, NULL, 0,
25754         NULL, HFILL }},
25755     { &hf_gsm_map_om_CGI_List_item,
25756       { "GlobalCellId", "gsm_map.om.GlobalCellId",
25757         FT_BYTES, BASE_NONE, NULL, 0,
25758         NULL, HFILL }},
25759     { &hf_gsm_map_om_E_UTRAN_CGI_List_item,
25760       { "E-UTRAN-CGI", "gsm_map.om.E_UTRAN_CGI",
25761         FT_BYTES, BASE_NONE, NULL, 0,
25762         NULL, HFILL }},
25763     { &hf_gsm_map_om_RoutingAreaId_List_item,
25764       { "RAIdentity", "gsm_map.om.RAIdentity",
25765         FT_BYTES, BASE_NONE, NULL, 0,
25766         NULL, HFILL }},
25767     { &hf_gsm_map_om_LocationAreaId_List_item,
25768       { "LAIFixedLength", "gsm_map.om.LAIFixedLength",
25769         FT_BYTES, BASE_NONE, NULL, 0,
25770         NULL, HFILL }},
25771     { &hf_gsm_map_om_TrackingAreaId_List_item,
25772       { "TA-Id", "gsm_map.om.TA_Id",
25773         FT_BYTES, BASE_NONE, NULL, 0,
25774         NULL, HFILL }},
25775     { &hf_gsm_map_om_msc_s_TraceDepth,
25776       { "msc-s-TraceDepth", "gsm_map.om.msc_s_TraceDepth",
25777         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
25778         "TraceDepth", HFILL }},
25779     { &hf_gsm_map_om_mgw_TraceDepth,
25780       { "mgw-TraceDepth", "gsm_map.om.mgw_TraceDepth",
25781         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
25782         "TraceDepth", HFILL }},
25783     { &hf_gsm_map_om_sgsn_TraceDepth,
25784       { "sgsn-TraceDepth", "gsm_map.om.sgsn_TraceDepth",
25785         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
25786         "TraceDepth", HFILL }},
25787     { &hf_gsm_map_om_ggsn_TraceDepth,
25788       { "ggsn-TraceDepth", "gsm_map.om.ggsn_TraceDepth",
25789         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
25790         "TraceDepth", HFILL }},
25791     { &hf_gsm_map_om_rnc_TraceDepth,
25792       { "rnc-TraceDepth", "gsm_map.om.rnc_TraceDepth",
25793         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
25794         "TraceDepth", HFILL }},
25795     { &hf_gsm_map_om_bmsc_TraceDepth,
25796       { "bmsc-TraceDepth", "gsm_map.om.bmsc_TraceDepth",
25797         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
25798         "TraceDepth", HFILL }},
25799     { &hf_gsm_map_om_mme_TraceDepth,
25800       { "mme-TraceDepth", "gsm_map.om.mme_TraceDepth",
25801         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
25802         "TraceDepth", HFILL }},
25803     { &hf_gsm_map_om_sgw_TraceDepth,
25804       { "sgw-TraceDepth", "gsm_map.om.sgw_TraceDepth",
25805         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
25806         "TraceDepth", HFILL }},
25807     { &hf_gsm_map_om_pgw_TraceDepth,
25808       { "pgw-TraceDepth", "gsm_map.om.pgw_TraceDepth",
25809         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
25810         "TraceDepth", HFILL }},
25811     { &hf_gsm_map_om_eNB_TraceDepth,
25812       { "eNB-TraceDepth", "gsm_map.om.eNB_TraceDepth",
25813         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepth_vals), 0,
25814         "TraceDepth", HFILL }},
25815     { &hf_gsm_map_om_msc_s_TraceDepthExtension,
25816       { "msc-s-TraceDepthExtension", "gsm_map.om.msc_s_TraceDepthExtension",
25817         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
25818         "TraceDepthExtension", HFILL }},
25819     { &hf_gsm_map_om_mgw_TraceDepthExtension,
25820       { "mgw-TraceDepthExtension", "gsm_map.om.mgw_TraceDepthExtension",
25821         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
25822         "TraceDepthExtension", HFILL }},
25823     { &hf_gsm_map_om_sgsn_TraceDepthExtension,
25824       { "sgsn-TraceDepthExtension", "gsm_map.om.sgsn_TraceDepthExtension",
25825         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
25826         "TraceDepthExtension", HFILL }},
25827     { &hf_gsm_map_om_ggsn_TraceDepthExtension,
25828       { "ggsn-TraceDepthExtension", "gsm_map.om.ggsn_TraceDepthExtension",
25829         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
25830         "TraceDepthExtension", HFILL }},
25831     { &hf_gsm_map_om_rnc_TraceDepthExtension,
25832       { "rnc-TraceDepthExtension", "gsm_map.om.rnc_TraceDepthExtension",
25833         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
25834         "TraceDepthExtension", HFILL }},
25835     { &hf_gsm_map_om_bmsc_TraceDepthExtension,
25836       { "bmsc-TraceDepthExtension", "gsm_map.om.bmsc_TraceDepthExtension",
25837         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
25838         "TraceDepthExtension", HFILL }},
25839     { &hf_gsm_map_om_mme_TraceDepthExtension,
25840       { "mme-TraceDepthExtension", "gsm_map.om.mme_TraceDepthExtension",
25841         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
25842         "TraceDepthExtension", HFILL }},
25843     { &hf_gsm_map_om_sgw_TraceDepthExtension,
25844       { "sgw-TraceDepthExtension", "gsm_map.om.sgw_TraceDepthExtension",
25845         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
25846         "TraceDepthExtension", HFILL }},
25847     { &hf_gsm_map_om_pgw_TraceDepthExtension,
25848       { "pgw-TraceDepthExtension", "gsm_map.om.pgw_TraceDepthExtension",
25849         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
25850         "TraceDepthExtension", HFILL }},
25851     { &hf_gsm_map_om_eNB_TraceDepthExtension,
25852       { "eNB-TraceDepthExtension", "gsm_map.om.eNB_TraceDepthExtension",
25853         FT_UINT32, BASE_DEC, VALS(gsm_map_om_TraceDepthExtension_vals), 0,
25854         "TraceDepthExtension", HFILL }},
25855     { &hf_gsm_map_om_msc_s_List,
25856       { "msc-s-List", "gsm_map.om.msc_s_List",
25857         FT_BYTES, BASE_NONE, NULL, 0,
25858         "MSC_S_InterfaceList", HFILL }},
25859     { &hf_gsm_map_om_mgw_List,
25860       { "mgw-List", "gsm_map.om.mgw_List",
25861         FT_BYTES, BASE_NONE, NULL, 0,
25862         "MGW_InterfaceList", HFILL }},
25863     { &hf_gsm_map_om_sgsn_List,
25864       { "sgsn-List", "gsm_map.om.sgsn_List",
25865         FT_BYTES, BASE_NONE, NULL, 0,
25866         "SGSN_InterfaceList", HFILL }},
25867     { &hf_gsm_map_om_ggsn_List,
25868       { "ggsn-List", "gsm_map.om.ggsn_List",
25869         FT_BYTES, BASE_NONE, NULL, 0,
25870         "GGSN_InterfaceList", HFILL }},
25871     { &hf_gsm_map_om_rnc_List,
25872       { "rnc-List", "gsm_map.om.rnc_List",
25873         FT_BYTES, BASE_NONE, NULL, 0,
25874         "RNC_InterfaceList", HFILL }},
25875     { &hf_gsm_map_om_bmsc_List,
25876       { "bmsc-List", "gsm_map.om.bmsc_List",
25877         FT_BYTES, BASE_NONE, NULL, 0,
25878         "BMSC_InterfaceList", HFILL }},
25879     { &hf_gsm_map_om_mme_List,
25880       { "mme-List", "gsm_map.om.mme_List",
25881         FT_BYTES, BASE_NONE, NULL, 0,
25882         "MME_InterfaceList", HFILL }},
25883     { &hf_gsm_map_om_sgw_List,
25884       { "sgw-List", "gsm_map.om.sgw_List",
25885         FT_BYTES, BASE_NONE, NULL, 0,
25886         "SGW_InterfaceList", HFILL }},
25887     { &hf_gsm_map_om_pgw_List,
25888       { "pgw-List", "gsm_map.om.pgw_List",
25889         FT_BYTES, BASE_NONE, NULL, 0,
25890         "PGW_InterfaceList", HFILL }},
25891     { &hf_gsm_map_om_eNB_List,
25892       { "eNB-List", "gsm_map.om.eNB_List",
25893         FT_BYTES, BASE_NONE, NULL, 0,
25894         "ENB_InterfaceList", HFILL }},
25895     { &hf_gsm_map_om_msc_s_List_01,
25896       { "msc-s-List", "gsm_map.om.msc_s_List",
25897         FT_BYTES, BASE_NONE, NULL, 0,
25898         "MSC_S_EventList", HFILL }},
25899     { &hf_gsm_map_om_mgw_List_01,
25900       { "mgw-List", "gsm_map.om.mgw_List",
25901         FT_BYTES, BASE_NONE, NULL, 0,
25902         "MGW_EventList", HFILL }},
25903     { &hf_gsm_map_om_sgsn_List_01,
25904       { "sgsn-List", "gsm_map.om.sgsn_List",
25905         FT_BYTES, BASE_NONE, NULL, 0,
25906         "SGSN_EventList", HFILL }},
25907     { &hf_gsm_map_om_ggsn_List_01,
25908       { "ggsn-List", "gsm_map.om.ggsn_List",
25909         FT_BYTES, BASE_NONE, NULL, 0,
25910         "GGSN_EventList", HFILL }},
25911     { &hf_gsm_map_om_bmsc_List_01,
25912       { "bmsc-List", "gsm_map.om.bmsc_List",
25913         FT_BYTES, BASE_NONE, NULL, 0,
25914         "BMSC_EventList", HFILL }},
25915     { &hf_gsm_map_om_mme_List_01,
25916       { "mme-List", "gsm_map.om.mme_List",
25917         FT_BYTES, BASE_NONE, NULL, 0,
25918         "MME_EventList", HFILL }},
25919     { &hf_gsm_map_om_sgw_List_01,
25920       { "sgw-List", "gsm_map.om.sgw_List",
25921         FT_BYTES, BASE_NONE, NULL, 0,
25922         "SGW_EventList", HFILL }},
25923     { &hf_gsm_map_om_pgw_List_01,
25924       { "pgw-List", "gsm_map.om.pgw_List",
25925         FT_BYTES, BASE_NONE, NULL, 0,
25926         "PGW_EventList", HFILL }},
25927     { &hf_gsm_map_om_traceRecordingSessionReference,
25928       { "traceRecordingSessionReference", "gsm_map.om.traceRecordingSessionReference",
25929         FT_BYTES, BASE_NONE, NULL, 0,
25930         NULL, HFILL }},
25931     { &hf_gsm_map_om_rnc_InterfaceList,
25932       { "rnc-InterfaceList", "gsm_map.om.rnc_InterfaceList",
25933         FT_BYTES, BASE_NONE, NULL, 0,
25934         NULL, HFILL }},
25935     { &hf_gsm_map_om_msc_s_InterfaceList,
25936       { "msc-s-InterfaceList", "gsm_map.om.msc_s_InterfaceList",
25937         FT_BYTES, BASE_NONE, NULL, 0,
25938         NULL, HFILL }},
25939     { &hf_gsm_map_om_msc_s_EventList,
25940       { "msc-s-EventList", "gsm_map.om.msc_s_EventList",
25941         FT_BYTES, BASE_NONE, NULL, 0,
25942         NULL, HFILL }},
25943     { &hf_gsm_map_om_mgw_InterfaceList,
25944       { "mgw-InterfaceList", "gsm_map.om.mgw_InterfaceList",
25945         FT_BYTES, BASE_NONE, NULL, 0,
25946         NULL, HFILL }},
25947     { &hf_gsm_map_om_mgw_EventList,
25948       { "mgw-EventList", "gsm_map.om.mgw_EventList",
25949         FT_BYTES, BASE_NONE, NULL, 0,
25950         NULL, HFILL }},
25951     { &hf_gsm_map_om_traceSupportIndicator,
25952       { "traceSupportIndicator", "gsm_map.om.traceSupportIndicator_element",
25953         FT_NONE, BASE_NONE, NULL, 0,
25954         NULL, HFILL }},
25955     { &hf_gsm_map_om_TraceNE_TypeList_msc_s,
25956       { "msc-s", "gsm.map.om.TraceNE.TypeList.msc.s",
25957         FT_BOOLEAN, 8, NULL, 0x80,
25958         NULL, HFILL }},
25959     { &hf_gsm_map_om_TraceNE_TypeList_mgw,
25960       { "mgw", "gsm.map.om.TraceNE.TypeList.mgw",
25961         FT_BOOLEAN, 8, NULL, 0x40,
25962         NULL, HFILL }},
25963     { &hf_gsm_map_om_TraceNE_TypeList_sgsn,
25964       { "sgsn", "gsm.map.om.TraceNE.TypeList.sgsn",
25965         FT_BOOLEAN, 8, NULL, 0x20,
25966         NULL, HFILL }},
25967     { &hf_gsm_map_om_TraceNE_TypeList_ggsn,
25968       { "ggsn", "gsm.map.om.TraceNE.TypeList.ggsn",
25969         FT_BOOLEAN, 8, NULL, 0x10,
25970         NULL, HFILL }},
25971     { &hf_gsm_map_om_TraceNE_TypeList_rnc,
25972       { "rnc", "gsm.map.om.TraceNE.TypeList.rnc",
25973         FT_BOOLEAN, 8, NULL, 0x08,
25974         NULL, HFILL }},
25975     { &hf_gsm_map_om_TraceNE_TypeList_bm_sc,
25976       { "bm-sc", "gsm.map.om.TraceNE.TypeList.bm.sc",
25977         FT_BOOLEAN, 8, NULL, 0x04,
25978         NULL, HFILL }},
25979     { &hf_gsm_map_om_TraceNE_TypeList_mme,
25980       { "mme", "gsm.map.om.TraceNE.TypeList.mme",
25981         FT_BOOLEAN, 8, NULL, 0x02,
25982         NULL, HFILL }},
25983     { &hf_gsm_map_om_TraceNE_TypeList_sgw,
25984       { "sgw", "gsm.map.om.TraceNE.TypeList.sgw",
25985         FT_BOOLEAN, 8, NULL, 0x01,
25986         NULL, HFILL }},
25987     { &hf_gsm_map_om_TraceNE_TypeList_pgw,
25988       { "pgw", "gsm.map.om.TraceNE.TypeList.pgw",
25989         FT_BOOLEAN, 8, NULL, 0x80,
25990         NULL, HFILL }},
25991     { &hf_gsm_map_om_TraceNE_TypeList_eNB,
25992       { "eNB", "gsm.map.om.TraceNE.TypeList.eNB",
25993         FT_BOOLEAN, 8, NULL, 0x40,
25994         NULL, HFILL }},
25995     { &hf_gsm_map_om_MSC_S_InterfaceList_a,
25996       { "a", "gsm.map.om.MSC.S.InterfaceList.a",
25997         FT_BOOLEAN, 8, NULL, 0x80,
25998         NULL, HFILL }},
25999     { &hf_gsm_map_om_MSC_S_InterfaceList_iu,
26000       { "iu", "gsm.map.om.MSC.S.InterfaceList.iu",
26001         FT_BOOLEAN, 8, NULL, 0x40,
26002         NULL, HFILL }},
26003     { &hf_gsm_map_om_MSC_S_InterfaceList_mc,
26004       { "mc", "gsm.map.om.MSC.S.InterfaceList.mc",
26005         FT_BOOLEAN, 8, NULL, 0x20,
26006         NULL, HFILL }},
26007     { &hf_gsm_map_om_MSC_S_InterfaceList_map_g,
26008       { "map-g", "gsm.map.om.MSC.S.InterfaceList.map.g",
26009         FT_BOOLEAN, 8, NULL, 0x10,
26010         NULL, HFILL }},
26011     { &hf_gsm_map_om_MSC_S_InterfaceList_map_b,
26012       { "map-b", "gsm.map.om.MSC.S.InterfaceList.map.b",
26013         FT_BOOLEAN, 8, NULL, 0x08,
26014         NULL, HFILL }},
26015     { &hf_gsm_map_om_MSC_S_InterfaceList_map_e,
26016       { "map-e", "gsm.map.om.MSC.S.InterfaceList.map.e",
26017         FT_BOOLEAN, 8, NULL, 0x04,
26018         NULL, HFILL }},
26019     { &hf_gsm_map_om_MSC_S_InterfaceList_map_f,
26020       { "map-f", "gsm.map.om.MSC.S.InterfaceList.map.f",
26021         FT_BOOLEAN, 8, NULL, 0x02,
26022         NULL, HFILL }},
26023     { &hf_gsm_map_om_MSC_S_InterfaceList_cap,
26024       { "cap", "gsm.map.om.MSC.S.InterfaceList.cap",
26025         FT_BOOLEAN, 8, NULL, 0x01,
26026         NULL, HFILL }},
26027     { &hf_gsm_map_om_MSC_S_InterfaceList_map_d,
26028       { "map-d", "gsm.map.om.MSC.S.InterfaceList.map.d",
26029         FT_BOOLEAN, 8, NULL, 0x80,
26030         NULL, HFILL }},
26031     { &hf_gsm_map_om_MSC_S_InterfaceList_map_c,
26032       { "map-c", "gsm.map.om.MSC.S.InterfaceList.map.c",
26033         FT_BOOLEAN, 8, NULL, 0x40,
26034         NULL, HFILL }},
26035     { &hf_gsm_map_om_MGW_InterfaceList_mc,
26036       { "mc", "gsm.map.om.MGW.InterfaceList.mc",
26037         FT_BOOLEAN, 8, NULL, 0x80,
26038         NULL, HFILL }},
26039     { &hf_gsm_map_om_MGW_InterfaceList_nb_up,
26040       { "nb-up", "gsm.map.om.MGW.InterfaceList.nb.up",
26041         FT_BOOLEAN, 8, NULL, 0x40,
26042         NULL, HFILL }},
26043     { &hf_gsm_map_om_MGW_InterfaceList_iu_up,
26044       { "iu-up", "gsm.map.om.MGW.InterfaceList.iu.up",
26045         FT_BOOLEAN, 8, NULL, 0x20,
26046         NULL, HFILL }},
26047     { &hf_gsm_map_om_SGSN_InterfaceList_gb,
26048       { "gb", "gsm.map.om.SGSN.InterfaceList.gb",
26049         FT_BOOLEAN, 8, NULL, 0x80,
26050         NULL, HFILL }},
26051     { &hf_gsm_map_om_SGSN_InterfaceList_iu,
26052       { "iu", "gsm.map.om.SGSN.InterfaceList.iu",
26053         FT_BOOLEAN, 8, NULL, 0x40,
26054         NULL, HFILL }},
26055     { &hf_gsm_map_om_SGSN_InterfaceList_gn,
26056       { "gn", "gsm.map.om.SGSN.InterfaceList.gn",
26057         FT_BOOLEAN, 8, NULL, 0x20,
26058         NULL, HFILL }},
26059     { &hf_gsm_map_om_SGSN_InterfaceList_map_gr,
26060       { "map-gr", "gsm.map.om.SGSN.InterfaceList.map.gr",
26061         FT_BOOLEAN, 8, NULL, 0x10,
26062         NULL, HFILL }},
26063     { &hf_gsm_map_om_SGSN_InterfaceList_map_gd,
26064       { "map-gd", "gsm.map.om.SGSN.InterfaceList.map.gd",
26065         FT_BOOLEAN, 8, NULL, 0x08,
26066         NULL, HFILL }},
26067     { &hf_gsm_map_om_SGSN_InterfaceList_map_gf,
26068       { "map-gf", "gsm.map.om.SGSN.InterfaceList.map.gf",
26069         FT_BOOLEAN, 8, NULL, 0x04,
26070         NULL, HFILL }},
26071     { &hf_gsm_map_om_SGSN_InterfaceList_gs,
26072       { "gs", "gsm.map.om.SGSN.InterfaceList.gs",
26073         FT_BOOLEAN, 8, NULL, 0x02,
26074         NULL, HFILL }},
26075     { &hf_gsm_map_om_SGSN_InterfaceList_ge,
26076       { "ge", "gsm.map.om.SGSN.InterfaceList.ge",
26077         FT_BOOLEAN, 8, NULL, 0x01,
26078         NULL, HFILL }},
26079     { &hf_gsm_map_om_SGSN_InterfaceList_s3,
26080       { "s3", "gsm.map.om.SGSN.InterfaceList.s3",
26081         FT_BOOLEAN, 8, NULL, 0x80,
26082         NULL, HFILL }},
26083     { &hf_gsm_map_om_SGSN_InterfaceList_s4,
26084       { "s4", "gsm.map.om.SGSN.InterfaceList.s4",
26085         FT_BOOLEAN, 8, NULL, 0x40,
26086         NULL, HFILL }},
26087     { &hf_gsm_map_om_SGSN_InterfaceList_s6d,
26088       { "s6d", "gsm.map.om.SGSN.InterfaceList.s6d",
26089         FT_BOOLEAN, 8, NULL, 0x20,
26090         NULL, HFILL }},
26091     { &hf_gsm_map_om_GGSN_InterfaceList_gn,
26092       { "gn", "gsm.map.om.GGSN.InterfaceList.gn",
26093         FT_BOOLEAN, 8, NULL, 0x80,
26094         NULL, HFILL }},
26095     { &hf_gsm_map_om_GGSN_InterfaceList_gi,
26096       { "gi", "gsm.map.om.GGSN.InterfaceList.gi",
26097         FT_BOOLEAN, 8, NULL, 0x40,
26098         NULL, HFILL }},
26099     { &hf_gsm_map_om_GGSN_InterfaceList_gmb,
26100       { "gmb", "gsm.map.om.GGSN.InterfaceList.gmb",
26101         FT_BOOLEAN, 8, NULL, 0x20,
26102         NULL, HFILL }},
26103     { &hf_gsm_map_om_RNC_InterfaceList_iu,
26104       { "iu", "gsm.map.om.RNC.InterfaceList.iu",
26105         FT_BOOLEAN, 8, NULL, 0x80,
26106         NULL, HFILL }},
26107     { &hf_gsm_map_om_RNC_InterfaceList_iur,
26108       { "iur", "gsm.map.om.RNC.InterfaceList.iur",
26109         FT_BOOLEAN, 8, NULL, 0x40,
26110         NULL, HFILL }},
26111     { &hf_gsm_map_om_RNC_InterfaceList_iub,
26112       { "iub", "gsm.map.om.RNC.InterfaceList.iub",
26113         FT_BOOLEAN, 8, NULL, 0x20,
26114         NULL, HFILL }},
26115     { &hf_gsm_map_om_RNC_InterfaceList_uu,
26116       { "uu", "gsm.map.om.RNC.InterfaceList.uu",
26117         FT_BOOLEAN, 8, NULL, 0x10,
26118         NULL, HFILL }},
26119     { &hf_gsm_map_om_BMSC_InterfaceList_gmb,
26120       { "gmb", "gsm.map.om.BMSC.InterfaceList.gmb",
26121         FT_BOOLEAN, 8, NULL, 0x80,
26122         NULL, HFILL }},
26123     { &hf_gsm_map_om_MME_InterfaceList_s1_mme,
26124       { "s1-mme", "gsm.map.om.MME.InterfaceList.s1.mme",
26125         FT_BOOLEAN, 8, NULL, 0x80,
26126         NULL, HFILL }},
26127     { &hf_gsm_map_om_MME_InterfaceList_s3,
26128       { "s3", "gsm.map.om.MME.InterfaceList.s3",
26129         FT_BOOLEAN, 8, NULL, 0x40,
26130         NULL, HFILL }},
26131     { &hf_gsm_map_om_MME_InterfaceList_s6a,
26132       { "s6a", "gsm.map.om.MME.InterfaceList.s6a",
26133         FT_BOOLEAN, 8, NULL, 0x20,
26134         NULL, HFILL }},
26135     { &hf_gsm_map_om_MME_InterfaceList_s10,
26136       { "s10", "gsm.map.om.MME.InterfaceList.s10",
26137         FT_BOOLEAN, 8, NULL, 0x10,
26138         NULL, HFILL }},
26139     { &hf_gsm_map_om_MME_InterfaceList_s11,
26140       { "s11", "gsm.map.om.MME.InterfaceList.s11",
26141         FT_BOOLEAN, 8, NULL, 0x08,
26142         NULL, HFILL }},
26143     { &hf_gsm_map_om_SGW_InterfaceList_s4,
26144       { "s4", "gsm.map.om.SGW.InterfaceList.s4",
26145         FT_BOOLEAN, 8, NULL, 0x80,
26146         NULL, HFILL }},
26147     { &hf_gsm_map_om_SGW_InterfaceList_s5,
26148       { "s5", "gsm.map.om.SGW.InterfaceList.s5",
26149         FT_BOOLEAN, 8, NULL, 0x40,
26150         NULL, HFILL }},
26151     { &hf_gsm_map_om_SGW_InterfaceList_s8b,
26152       { "s8b", "gsm.map.om.SGW.InterfaceList.s8b",
26153         FT_BOOLEAN, 8, NULL, 0x20,
26154         NULL, HFILL }},
26155     { &hf_gsm_map_om_SGW_InterfaceList_s11,
26156       { "s11", "gsm.map.om.SGW.InterfaceList.s11",
26157         FT_BOOLEAN, 8, NULL, 0x10,
26158         NULL, HFILL }},
26159     { &hf_gsm_map_om_SGW_InterfaceList_gxc,
26160       { "gxc", "gsm.map.om.SGW.InterfaceList.gxc",
26161         FT_BOOLEAN, 8, NULL, 0x08,
26162         NULL, HFILL }},
26163     { &hf_gsm_map_om_PGW_InterfaceList_s2a,
26164       { "s2a", "gsm.map.om.PGW.InterfaceList.s2a",
26165         FT_BOOLEAN, 8, NULL, 0x80,
26166         NULL, HFILL }},
26167     { &hf_gsm_map_om_PGW_InterfaceList_s2b,
26168       { "s2b", "gsm.map.om.PGW.InterfaceList.s2b",
26169         FT_BOOLEAN, 8, NULL, 0x40,
26170         NULL, HFILL }},
26171     { &hf_gsm_map_om_PGW_InterfaceList_s2c,
26172       { "s2c", "gsm.map.om.PGW.InterfaceList.s2c",
26173         FT_BOOLEAN, 8, NULL, 0x20,
26174         NULL, HFILL }},
26175     { &hf_gsm_map_om_PGW_InterfaceList_s5,
26176       { "s5", "gsm.map.om.PGW.InterfaceList.s5",
26177         FT_BOOLEAN, 8, NULL, 0x10,
26178         NULL, HFILL }},
26179     { &hf_gsm_map_om_PGW_InterfaceList_s6b,
26180       { "s6b", "gsm.map.om.PGW.InterfaceList.s6b",
26181         FT_BOOLEAN, 8, NULL, 0x08,
26182         NULL, HFILL }},
26183     { &hf_gsm_map_om_PGW_InterfaceList_gx,
26184       { "gx", "gsm.map.om.PGW.InterfaceList.gx",
26185         FT_BOOLEAN, 8, NULL, 0x04,
26186         NULL, HFILL }},
26187     { &hf_gsm_map_om_PGW_InterfaceList_s8b,
26188       { "s8b", "gsm.map.om.PGW.InterfaceList.s8b",
26189         FT_BOOLEAN, 8, NULL, 0x02,
26190         NULL, HFILL }},
26191     { &hf_gsm_map_om_PGW_InterfaceList_sgi,
26192       { "sgi", "gsm.map.om.PGW.InterfaceList.sgi",
26193         FT_BOOLEAN, 8, NULL, 0x01,
26194         NULL, HFILL }},
26195     { &hf_gsm_map_om_ENB_InterfaceList_s1_mme,
26196       { "s1-mme", "gsm.map.om.ENB.InterfaceList.s1.mme",
26197         FT_BOOLEAN, 8, NULL, 0x80,
26198         NULL, HFILL }},
26199     { &hf_gsm_map_om_ENB_InterfaceList_x2,
26200       { "x2", "gsm.map.om.ENB.InterfaceList.x2",
26201         FT_BOOLEAN, 8, NULL, 0x40,
26202         NULL, HFILL }},
26203     { &hf_gsm_map_om_ENB_InterfaceList_uu,
26204       { "uu", "gsm.map.om.ENB.InterfaceList.uu",
26205         FT_BOOLEAN, 8, NULL, 0x20,
26206         NULL, HFILL }},
26207     { &hf_gsm_map_om_MSC_S_EventList_mo_mtCall,
26208       { "mo-mtCall", "gsm.map.om.MSC.S.EventList.mo.mtCall",
26209         FT_BOOLEAN, 8, NULL, 0x80,
26210         NULL, HFILL }},
26211     { &hf_gsm_map_om_MSC_S_EventList_mo_mt_sms,
26212       { "mo-mt-sms", "gsm.map.om.MSC.S.EventList.mo.mt.sms",
26213         FT_BOOLEAN, 8, NULL, 0x40,
26214         NULL, HFILL }},
26215     { &hf_gsm_map_om_MSC_S_EventList_lu_imsiAttach_imsiDetach,
26216       { "lu-imsiAttach-imsiDetach", "gsm.map.om.MSC.S.EventList.lu.imsiAttach.imsiDetach",
26217         FT_BOOLEAN, 8, NULL, 0x20,
26218         NULL, HFILL }},
26219     { &hf_gsm_map_om_MSC_S_EventList_handovers,
26220       { "handovers", "gsm.map.om.MSC.S.EventList.handovers",
26221         FT_BOOLEAN, 8, NULL, 0x10,
26222         NULL, HFILL }},
26223     { &hf_gsm_map_om_MSC_S_EventList_ss,
26224       { "ss", "gsm.map.om.MSC.S.EventList.ss",
26225         FT_BOOLEAN, 8, NULL, 0x08,
26226         NULL, HFILL }},
26227     { &hf_gsm_map_om_MGW_EventList_context,
26228       { "context", "gsm.map.om.MGW.EventList.context",
26229         FT_BOOLEAN, 8, NULL, 0x80,
26230         NULL, HFILL }},
26231     { &hf_gsm_map_om_SGSN_EventList_pdpContext,
26232       { "pdpContext", "gsm.map.om.SGSN.EventList.pdpContext",
26233         FT_BOOLEAN, 8, NULL, 0x80,
26234         NULL, HFILL }},
26235     { &hf_gsm_map_om_SGSN_EventList_mo_mt_sms,
26236       { "mo-mt-sms", "gsm.map.om.SGSN.EventList.mo.mt.sms",
26237         FT_BOOLEAN, 8, NULL, 0x40,
26238         NULL, HFILL }},
26239     { &hf_gsm_map_om_SGSN_EventList_rau_gprsAttach_gprsDetach,
26240       { "rau-gprsAttach-gprsDetach", "gsm.map.om.SGSN.EventList.rau.gprsAttach.gprsDetach",
26241         FT_BOOLEAN, 8, NULL, 0x20,
26242         NULL, HFILL }},
26243     { &hf_gsm_map_om_SGSN_EventList_mbmsContext,
26244       { "mbmsContext", "gsm.map.om.SGSN.EventList.mbmsContext",
26245         FT_BOOLEAN, 8, NULL, 0x10,
26246         NULL, HFILL }},
26247     { &hf_gsm_map_om_GGSN_EventList_pdpContext,
26248       { "pdpContext", "gsm.map.om.GGSN.EventList.pdpContext",
26249         FT_BOOLEAN, 8, NULL, 0x80,
26250         NULL, HFILL }},
26251     { &hf_gsm_map_om_GGSN_EventList_mbmsContext,
26252       { "mbmsContext", "gsm.map.om.GGSN.EventList.mbmsContext",
26253         FT_BOOLEAN, 8, NULL, 0x40,
26254         NULL, HFILL }},
26255     { &hf_gsm_map_om_BMSC_EventList_mbmsMulticastServiceActivation,
26256       { "mbmsMulticastServiceActivation", "gsm.map.om.BMSC.EventList.mbmsMulticastServiceActivation",
26257         FT_BOOLEAN, 8, NULL, 0x80,
26258         NULL, HFILL }},
26259     { &hf_gsm_map_om_MME_EventList_ue_initiatedPDNconectivityRequest,
26260       { "ue-initiatedPDNconectivityRequest", "gsm.map.om.MME.EventList.ue.initiatedPDNconectivityRequest",
26261         FT_BOOLEAN, 8, NULL, 0x80,
26262         NULL, HFILL }},
26263     { &hf_gsm_map_om_MME_EventList_serviceRequestts,
26264       { "serviceRequestts", "gsm.map.om.MME.EventList.serviceRequestts",
26265         FT_BOOLEAN, 8, NULL, 0x40,
26266         NULL, HFILL }},
26267     { &hf_gsm_map_om_MME_EventList_initialAttachTrackingAreaUpdateDetach,
26268       { "initialAttachTrackingAreaUpdateDetach", "gsm.map.om.MME.EventList.initialAttachTrackingAreaUpdateDetach",
26269         FT_BOOLEAN, 8, NULL, 0x20,
26270         NULL, HFILL }},
26271     { &hf_gsm_map_om_MME_EventList_ue_initiatedPDNdisconnection,
26272       { "ue-initiatedPDNdisconnection", "gsm.map.om.MME.EventList.ue.initiatedPDNdisconnection",
26273         FT_BOOLEAN, 8, NULL, 0x10,
26274         NULL, HFILL }},
26275     { &hf_gsm_map_om_MME_EventList_bearerActivationModificationDeletion,
26276       { "bearerActivationModificationDeletion", "gsm.map.om.MME.EventList.bearerActivationModificationDeletion",
26277         FT_BOOLEAN, 8, NULL, 0x08,
26278         NULL, HFILL }},
26279     { &hf_gsm_map_om_MME_EventList_handover,
26280       { "handover", "gsm.map.om.MME.EventList.handover",
26281         FT_BOOLEAN, 8, NULL, 0x04,
26282         NULL, HFILL }},
26283     { &hf_gsm_map_om_SGW_EventList_pdn_connectionCreation,
26284       { "pdn-connectionCreation", "gsm.map.om.SGW.EventList.pdn.connectionCreation",
26285         FT_BOOLEAN, 8, NULL, 0x80,
26286         NULL, HFILL }},
26287     { &hf_gsm_map_om_SGW_EventList_pdn_connectionTermination,
26288       { "pdn-connectionTermination", "gsm.map.om.SGW.EventList.pdn.connectionTermination",
26289         FT_BOOLEAN, 8, NULL, 0x40,
26290         NULL, HFILL }},
26291     { &hf_gsm_map_om_SGW_EventList_bearerActivationModificationDeletion,
26292       { "bearerActivationModificationDeletion", "gsm.map.om.SGW.EventList.bearerActivationModificationDeletion",
26293         FT_BOOLEAN, 8, NULL, 0x20,
26294         NULL, HFILL }},
26295     { &hf_gsm_map_om_PGW_EventList_pdn_connectionCreation,
26296       { "pdn-connectionCreation", "gsm.map.om.PGW.EventList.pdn.connectionCreation",
26297         FT_BOOLEAN, 8, NULL, 0x80,
26298         NULL, HFILL }},
26299     { &hf_gsm_map_om_PGW_EventList_pdn_connectionTermination,
26300       { "pdn-connectionTermination", "gsm.map.om.PGW.EventList.pdn.connectionTermination",
26301         FT_BOOLEAN, 8, NULL, 0x40,
26302         NULL, HFILL }},
26303     { &hf_gsm_map_om_PGW_EventList_bearerActivationModificationDeletion,
26304       { "bearerActivationModificationDeletion", "gsm.map.om.PGW.EventList.bearerActivationModificationDeletion",
26305         FT_BOOLEAN, 8, NULL, 0x20,
26306         NULL, HFILL }},
26307 
26308 /* --- Module MAP-MS-DataTypes --- --- ---                                    */
26309 
26310     { &hf_gsm_map_ms_gsm_map_ms_SendAuthenticationInfoArg_PDU,
26311       { "SendAuthenticationInfoArg", "gsm_map.ms.SendAuthenticationInfoArg_element",
26312         FT_NONE, BASE_NONE, NULL, 0,
26313         NULL, HFILL }},
26314     { &hf_gsm_map_ms_gsm_map_ms_SendAuthenticationInfoRes_PDU,
26315       { "SendAuthenticationInfoRes", "gsm_map.ms.SendAuthenticationInfoRes_element",
26316         FT_NONE, BASE_NONE, NULL, 0,
26317         NULL, HFILL }},
26318     { &hf_gsm_map_ms_imsi,
26319       { "imsi", "gsm_map.ms.imsi",
26320         FT_BYTES, BASE_NONE, NULL, 0,
26321         NULL, HFILL }},
26322     { &hf_gsm_map_ms_msc_Number,
26323       { "msc-Number", "gsm_map.ms.msc_Number",
26324         FT_BYTES, BASE_NONE, NULL, 0,
26325         "ISDN_AddressString", HFILL }},
26326     { &hf_gsm_map_ms_vlr_Number,
26327       { "vlr-Number", "gsm_map.ms.vlr_Number",
26328         FT_BYTES, BASE_NONE, NULL, 0,
26329         "ISDN_AddressString", HFILL }},
26330     { &hf_gsm_map_ms_lmsi,
26331       { "lmsi", "gsm_map.ms.lmsi",
26332         FT_BYTES, BASE_NONE, NULL, 0,
26333         NULL, HFILL }},
26334     { &hf_gsm_map_ms_extensionContainer,
26335       { "extensionContainer", "gsm_map.ms.extensionContainer_element",
26336         FT_NONE, BASE_NONE, NULL, 0,
26337         NULL, HFILL }},
26338     { &hf_gsm_map_ms_vlr_Capability,
26339       { "vlr-Capability", "gsm_map.ms.vlr_Capability_element",
26340         FT_NONE, BASE_NONE, NULL, 0,
26341         NULL, HFILL }},
26342     { &hf_gsm_map_ms_informPreviousNetworkEntity,
26343       { "informPreviousNetworkEntity", "gsm_map.ms.informPreviousNetworkEntity_element",
26344         FT_NONE, BASE_NONE, NULL, 0,
26345         NULL, HFILL }},
26346     { &hf_gsm_map_ms_cs_LCS_NotSupportedByUE,
26347       { "cs-LCS-NotSupportedByUE", "gsm_map.ms.cs_LCS_NotSupportedByUE_element",
26348         FT_NONE, BASE_NONE, NULL, 0,
26349         NULL, HFILL }},
26350     { &hf_gsm_map_ms_v_gmlc_Address,
26351       { "v-gmlc-Address", "gsm_map.ms.v_gmlc_Address",
26352         FT_BYTES, BASE_NONE, NULL, 0,
26353         "GSN_Address", HFILL }},
26354     { &hf_gsm_map_ms_add_info,
26355       { "add-info", "gsm_map.ms.add_info_element",
26356         FT_NONE, BASE_NONE, NULL, 0,
26357         NULL, HFILL }},
26358     { &hf_gsm_map_ms_pagingArea,
26359       { "pagingArea", "gsm_map.ms.pagingArea",
26360         FT_UINT32, BASE_DEC, NULL, 0,
26361         NULL, HFILL }},
26362     { &hf_gsm_map_ms_skipSubscriberDataUpdate,
26363       { "skipSubscriberDataUpdate", "gsm_map.ms.skipSubscriberDataUpdate_element",
26364         FT_NONE, BASE_NONE, NULL, 0,
26365         NULL, HFILL }},
26366     { &hf_gsm_map_ms_restorationIndicator,
26367       { "restorationIndicator", "gsm_map.ms.restorationIndicator_element",
26368         FT_NONE, BASE_NONE, NULL, 0,
26369         NULL, HFILL }},
26370     { &hf_gsm_map_ms_eplmn_List,
26371       { "eplmn-List", "gsm_map.ms.eplmn_List",
26372         FT_UINT32, BASE_DEC, NULL, 0,
26373         NULL, HFILL }},
26374     { &hf_gsm_map_ms_mme_DiameterAddress,
26375       { "mme-DiameterAddress", "gsm_map.ms.mme_DiameterAddress_element",
26376         FT_NONE, BASE_NONE, NULL, 0,
26377         "NetworkNodeDiameterAddress", HFILL }},
26378     { &hf_gsm_map_ms_supportedCamelPhases,
26379       { "supportedCamelPhases", "gsm_map.ms.supportedCamelPhases",
26380         FT_BYTES, BASE_NONE, NULL, 0,
26381         NULL, HFILL }},
26382     { &hf_gsm_map_ms_solsaSupportIndicator,
26383       { "solsaSupportIndicator", "gsm_map.ms.solsaSupportIndicator_element",
26384         FT_NONE, BASE_NONE, NULL, 0,
26385         NULL, HFILL }},
26386     { &hf_gsm_map_ms_istSupportIndicator,
26387       { "istSupportIndicator", "gsm_map.ms.istSupportIndicator",
26388         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_IST_SupportIndicator_vals), 0,
26389         "IST_SupportIndicator", HFILL }},
26390     { &hf_gsm_map_ms_superChargerSupportedInServingNetworkEntity,
26391       { "superChargerSupportedInServingNetworkEntity", "gsm_map.ms.superChargerSupportedInServingNetworkEntity",
26392         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SuperChargerInfo_vals), 0,
26393         "SuperChargerInfo", HFILL }},
26394     { &hf_gsm_map_ms_longFTN_Supported,
26395       { "longFTN-Supported", "gsm_map.ms.longFTN_Supported_element",
26396         FT_NONE, BASE_NONE, NULL, 0,
26397         NULL, HFILL }},
26398     { &hf_gsm_map_ms_supportedLCS_CapabilitySets,
26399       { "supportedLCS-CapabilitySets", "gsm_map.ms.supportedLCS_CapabilitySets",
26400         FT_BYTES, BASE_NONE, NULL, 0,
26401         NULL, HFILL }},
26402     { &hf_gsm_map_ms_offeredCamel4CSIs,
26403       { "offeredCamel4CSIs", "gsm_map.ms.offeredCamel4CSIs",
26404         FT_BYTES, BASE_NONE, NULL, 0,
26405         NULL, HFILL }},
26406     { &hf_gsm_map_ms_supportedRAT_TypesIndicator,
26407       { "supportedRAT-TypesIndicator", "gsm_map.ms.supportedRAT_TypesIndicator",
26408         FT_BYTES, BASE_NONE, NULL, 0,
26409         "SupportedRAT_Types", HFILL }},
26410     { &hf_gsm_map_ms_longGroupID_Supported,
26411       { "longGroupID-Supported", "gsm_map.ms.longGroupID_Supported_element",
26412         FT_NONE, BASE_NONE, NULL, 0,
26413         NULL, HFILL }},
26414     { &hf_gsm_map_ms_mtRoamingForwardingSupported,
26415       { "mtRoamingForwardingSupported", "gsm_map.ms.mtRoamingForwardingSupported_element",
26416         FT_NONE, BASE_NONE, NULL, 0,
26417         NULL, HFILL }},
26418     { &hf_gsm_map_ms_msisdn_lessOperation_Supported,
26419       { "msisdn-lessOperation-Supported", "gsm_map.ms.msisdn_lessOperation_Supported_element",
26420         FT_NONE, BASE_NONE, NULL, 0,
26421         NULL, HFILL }},
26422     { &hf_gsm_map_ms_reset_ids_Supported,
26423       { "reset-ids-Supported", "gsm_map.ms.reset_ids_Supported_element",
26424         FT_NONE, BASE_NONE, NULL, 0,
26425         NULL, HFILL }},
26426     { &hf_gsm_map_ms_sendSubscriberData,
26427       { "sendSubscriberData", "gsm_map.ms.sendSubscriberData_element",
26428         FT_NONE, BASE_NONE, NULL, 0,
26429         NULL, HFILL }},
26430     { &hf_gsm_map_ms_subscriberDataStored,
26431       { "subscriberDataStored", "gsm_map.ms.subscriberDataStored",
26432         FT_BYTES, BASE_NONE, NULL, 0,
26433         "AgeIndicator", HFILL }},
26434     { &hf_gsm_map_ms_hlr_Number,
26435       { "hlr-Number", "gsm_map.ms.hlr_Number",
26436         FT_BYTES, BASE_NONE, NULL, 0,
26437         "ISDN_AddressString", HFILL }},
26438     { &hf_gsm_map_ms_add_Capability,
26439       { "add-Capability", "gsm_map.ms.add_Capability_element",
26440         FT_NONE, BASE_NONE, NULL, 0,
26441         NULL, HFILL }},
26442     { &hf_gsm_map_ms_pagingArea_Capability,
26443       { "pagingArea-Capability", "gsm_map.ms.pagingArea_Capability_element",
26444         FT_NONE, BASE_NONE, NULL, 0,
26445         NULL, HFILL }},
26446     { &hf_gsm_map_ms_imeisv,
26447       { "imeisv", "gsm_map.ms.imeisv",
26448         FT_BYTES, BASE_NONE, NULL, 0,
26449         "IMEI", HFILL }},
26450     { &hf_gsm_map_ms_PagingArea_item,
26451       { "LocationArea", "gsm_map.ms.LocationArea",
26452         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_LocationArea_vals), 0,
26453         NULL, HFILL }},
26454     { &hf_gsm_map_ms_laiFixedLength,
26455       { "laiFixedLength", "gsm_map.ms.laiFixedLength",
26456         FT_BYTES, BASE_NONE, NULL, 0,
26457         NULL, HFILL }},
26458     { &hf_gsm_map_ms_lac,
26459       { "lac", "gsm_map.ms.lac",
26460         FT_UINT16, BASE_DEC_HEX, NULL, 0,
26461         NULL, HFILL }},
26462     { &hf_gsm_map_ms_identity,
26463       { "identity", "gsm_map.ms.identity",
26464         FT_UINT32, BASE_DEC, VALS(gsm_map_Identity_vals), 0,
26465         NULL, HFILL }},
26466     { &hf_gsm_map_ms_cancellationType,
26467       { "cancellationType", "gsm_map.ms.cancellationType",
26468         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_CancellationType_vals), 0,
26469         NULL, HFILL }},
26470     { &hf_gsm_map_ms_typeOfUpdate,
26471       { "typeOfUpdate", "gsm_map.ms.typeOfUpdate",
26472         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_TypeOfUpdate_vals), 0,
26473         NULL, HFILL }},
26474     { &hf_gsm_map_ms_mtrf_SupportedAndAuthorized,
26475       { "mtrf-SupportedAndAuthorized", "gsm_map.ms.mtrf_SupportedAndAuthorized_element",
26476         FT_NONE, BASE_NONE, NULL, 0,
26477         NULL, HFILL }},
26478     { &hf_gsm_map_ms_mtrf_SupportedAndNotAuthorized,
26479       { "mtrf-SupportedAndNotAuthorized", "gsm_map.ms.mtrf_SupportedAndNotAuthorized_element",
26480         FT_NONE, BASE_NONE, NULL, 0,
26481         NULL, HFILL }},
26482     { &hf_gsm_map_ms_newMSC_Number,
26483       { "newMSC-Number", "gsm_map.ms.newMSC_Number",
26484         FT_BYTES, BASE_NONE, NULL, 0,
26485         "ISDN_AddressString", HFILL }},
26486     { &hf_gsm_map_ms_newVLR_Number,
26487       { "newVLR-Number", "gsm_map.ms.newVLR_Number",
26488         FT_BYTES, BASE_NONE, NULL, 0,
26489         "ISDN_AddressString", HFILL }},
26490     { &hf_gsm_map_ms_new_lmsi,
26491       { "new-lmsi", "gsm_map.ms.new_lmsi",
26492         FT_BYTES, BASE_NONE, NULL, 0,
26493         "LMSI", HFILL }},
26494     { &hf_gsm_map_ms_reattach_Required,
26495       { "reattach-Required", "gsm_map.ms.reattach_Required_element",
26496         FT_NONE, BASE_NONE, NULL, 0,
26497         NULL, HFILL }},
26498     { &hf_gsm_map_ms_sgsn_Number,
26499       { "sgsn-Number", "gsm_map.ms.sgsn_Number",
26500         FT_BYTES, BASE_NONE, NULL, 0,
26501         "ISDN_AddressString", HFILL }},
26502     { &hf_gsm_map_ms_locationInformation,
26503       { "locationInformation", "gsm_map.ms.locationInformation_element",
26504         FT_NONE, BASE_NONE, NULL, 0,
26505         NULL, HFILL }},
26506     { &hf_gsm_map_ms_locationInformationGPRS,
26507       { "locationInformationGPRS", "gsm_map.ms.locationInformationGPRS_element",
26508         FT_NONE, BASE_NONE, NULL, 0,
26509         NULL, HFILL }},
26510     { &hf_gsm_map_ms_locationInformationEPS,
26511       { "locationInformationEPS", "gsm_map.ms.locationInformationEPS_element",
26512         FT_NONE, BASE_NONE, NULL, 0,
26513         NULL, HFILL }},
26514     { &hf_gsm_map_ms_freezeTMSI,
26515       { "freezeTMSI", "gsm_map.ms.freezeTMSI_element",
26516         FT_NONE, BASE_NONE, NULL, 0,
26517         NULL, HFILL }},
26518     { &hf_gsm_map_ms_freezeP_TMSI,
26519       { "freezeP-TMSI", "gsm_map.ms.freezeP_TMSI_element",
26520         FT_NONE, BASE_NONE, NULL, 0,
26521         NULL, HFILL }},
26522     { &hf_gsm_map_ms_freezeM_TMSI,
26523       { "freezeM-TMSI", "gsm_map.ms.freezeM_TMSI_element",
26524         FT_NONE, BASE_NONE, NULL, 0,
26525         NULL, HFILL }},
26526     { &hf_gsm_map_ms_tmsi,
26527       { "tmsi", "gsm_map.ms.tmsi",
26528         FT_BYTES, BASE_NONE, NULL, 0,
26529         NULL, HFILL }},
26530     { &hf_gsm_map_ms_numberOfRequestedVectors,
26531       { "numberOfRequestedVectors", "gsm_map.ms.numberOfRequestedVectors",
26532         FT_UINT32, BASE_DEC, NULL, 0,
26533         NULL, HFILL }},
26534     { &hf_gsm_map_ms_segmentationProhibited,
26535       { "segmentationProhibited", "gsm_map.ms.segmentationProhibited_element",
26536         FT_NONE, BASE_NONE, NULL, 0,
26537         NULL, HFILL }},
26538     { &hf_gsm_map_ms_previous_LAI,
26539       { "previous-LAI", "gsm_map.ms.previous_LAI",
26540         FT_BYTES, BASE_NONE, NULL, 0,
26541         "LAIFixedLength", HFILL }},
26542     { &hf_gsm_map_ms_hopCounter,
26543       { "hopCounter", "gsm_map.ms.hopCounter",
26544         FT_UINT32, BASE_DEC, NULL, 0,
26545         NULL, HFILL }},
26546     { &hf_gsm_map_ms_authenticationSetList,
26547       { "authenticationSetList", "gsm_map.ms.authenticationSetList",
26548         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_AuthenticationSetList_vals), 0,
26549         NULL, HFILL }},
26550     { &hf_gsm_map_ms_currentSecurityContext,
26551       { "currentSecurityContext", "gsm_map.ms.currentSecurityContext",
26552         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_CurrentSecurityContext_vals), 0,
26553         NULL, HFILL }},
26554     { &hf_gsm_map_ms_lastUsedLtePLMN_Id,
26555       { "lastUsedLtePLMN-Id", "gsm_map.ms.lastUsedLtePLMN_Id",
26556         FT_BYTES, BASE_NONE, NULL, 0,
26557         "PLMN_Id", HFILL }},
26558     { &hf_gsm_map_ms_mtCallPendingFlag,
26559       { "mtCallPendingFlag", "gsm_map.ms.mtCallPendingFlag_element",
26560         FT_NONE, BASE_NONE, NULL, 0,
26561         NULL, HFILL }},
26562     { &hf_gsm_map_ms_tripletList,
26563       { "tripletList", "gsm_map.ms.tripletList",
26564         FT_UINT32, BASE_DEC, NULL, 0,
26565         NULL, HFILL }},
26566     { &hf_gsm_map_ms_quintupletList,
26567       { "quintupletList", "gsm_map.ms.quintupletList",
26568         FT_UINT32, BASE_DEC, NULL, 0,
26569         NULL, HFILL }},
26570     { &hf_gsm_map_ms_TripletList_item,
26571       { "AuthenticationTriplet", "gsm_map.ms.AuthenticationTriplet_element",
26572         FT_NONE, BASE_NONE, NULL, 0,
26573         NULL, HFILL }},
26574     { &hf_gsm_map_ms_QuintupletList_item,
26575       { "AuthenticationQuintuplet", "gsm_map.ms.AuthenticationQuintuplet_element",
26576         FT_NONE, BASE_NONE, NULL, 0,
26577         NULL, HFILL }},
26578     { &hf_gsm_map_ms_rand,
26579       { "rand", "gsm_map.ms.rand",
26580         FT_BYTES, BASE_NONE, NULL, 0,
26581         NULL, HFILL }},
26582     { &hf_gsm_map_ms_sres,
26583       { "sres", "gsm_map.ms.sres",
26584         FT_BYTES, BASE_NONE, NULL, 0,
26585         NULL, HFILL }},
26586     { &hf_gsm_map_ms_kc,
26587       { "kc", "gsm_map.ms.kc",
26588         FT_BYTES, BASE_NONE, NULL, 0,
26589         NULL, HFILL }},
26590     { &hf_gsm_map_ms_xres,
26591       { "xres", "gsm_map.ms.xres",
26592         FT_BYTES, BASE_NONE, NULL, 0,
26593         NULL, HFILL }},
26594     { &hf_gsm_map_ms_ck,
26595       { "ck", "gsm_map.ms.ck",
26596         FT_BYTES, BASE_NONE, NULL, 0,
26597         NULL, HFILL }},
26598     { &hf_gsm_map_ms_ik,
26599       { "ik", "gsm_map.ms.ik",
26600         FT_BYTES, BASE_NONE, NULL, 0,
26601         NULL, HFILL }},
26602     { &hf_gsm_map_ms_autn,
26603       { "autn", "gsm_map.ms.autn",
26604         FT_BYTES, BASE_NONE, NULL, 0,
26605         NULL, HFILL }},
26606     { &hf_gsm_map_ms_gsm_SecurityContextData,
26607       { "gsm-SecurityContextData", "gsm_map.ms.gsm_SecurityContextData_element",
26608         FT_NONE, BASE_NONE, NULL, 0,
26609         NULL, HFILL }},
26610     { &hf_gsm_map_ms_umts_SecurityContextData,
26611       { "umts-SecurityContextData", "gsm_map.ms.umts_SecurityContextData_element",
26612         FT_NONE, BASE_NONE, NULL, 0,
26613         NULL, HFILL }},
26614     { &hf_gsm_map_ms_cksn,
26615       { "cksn", "gsm_map.ms.cksn",
26616         FT_BYTES, BASE_NONE, NULL, 0,
26617         NULL, HFILL }},
26618     { &hf_gsm_map_ms_ksi,
26619       { "ksi", "gsm_map.ms.ksi",
26620         FT_BYTES, BASE_NONE, NULL, 0,
26621         NULL, HFILL }},
26622     { &hf_gsm_map_ms_failureCause,
26623       { "failureCause", "gsm_map.ms.failureCause",
26624         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_FailureCause_vals), 0,
26625         NULL, HFILL }},
26626     { &hf_gsm_map_ms_re_attempt,
26627       { "re-attempt", "gsm_map.ms.re_attempt",
26628         FT_BOOLEAN, BASE_NONE, NULL, 0,
26629         "BOOLEAN", HFILL }},
26630     { &hf_gsm_map_ms_accessType,
26631       { "accessType", "gsm_map.ms.accessType",
26632         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_AccessType_vals), 0,
26633         NULL, HFILL }},
26634     { &hf_gsm_map_ms_sgsn_Address,
26635       { "sgsn-Address", "gsm_map.ms.sgsn_Address",
26636         FT_BYTES, BASE_NONE, NULL, 0,
26637         "GSN_Address", HFILL }},
26638     { &hf_gsm_map_ms_sgsn_Capability,
26639       { "sgsn-Capability", "gsm_map.ms.sgsn_Capability_element",
26640         FT_NONE, BASE_NONE, NULL, 0,
26641         NULL, HFILL }},
26642     { &hf_gsm_map_ms_ps_LCS_NotSupportedByUE,
26643       { "ps-LCS-NotSupportedByUE", "gsm_map.ms.ps_LCS_NotSupportedByUE_element",
26644         FT_NONE, BASE_NONE, NULL, 0,
26645         NULL, HFILL }},
26646     { &hf_gsm_map_ms_eps_info,
26647       { "eps-info", "gsm_map.ms.eps_info",
26648         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_EPS_Info_vals), 0,
26649         NULL, HFILL }},
26650     { &hf_gsm_map_ms_servingNodeTypeIndicator,
26651       { "servingNodeTypeIndicator", "gsm_map.ms.servingNodeTypeIndicator_element",
26652         FT_NONE, BASE_NONE, NULL, 0,
26653         NULL, HFILL }},
26654     { &hf_gsm_map_ms_usedRAT_Type,
26655       { "usedRAT-Type", "gsm_map.ms.usedRAT_Type",
26656         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_Used_RAT_Type_vals), 0,
26657         "Used_RAT_Type", HFILL }},
26658     { &hf_gsm_map_ms_gprsSubscriptionDataNotNeeded,
26659       { "gprsSubscriptionDataNotNeeded", "gsm_map.ms.gprsSubscriptionDataNotNeeded_element",
26660         FT_NONE, BASE_NONE, NULL, 0,
26661         NULL, HFILL }},
26662     { &hf_gsm_map_ms_nodeTypeIndicator,
26663       { "nodeTypeIndicator", "gsm_map.ms.nodeTypeIndicator_element",
26664         FT_NONE, BASE_NONE, NULL, 0,
26665         NULL, HFILL }},
26666     { &hf_gsm_map_ms_areaRestricted,
26667       { "areaRestricted", "gsm_map.ms.areaRestricted_element",
26668         FT_NONE, BASE_NONE, NULL, 0,
26669         NULL, HFILL }},
26670     { &hf_gsm_map_ms_ue_reachableIndicator,
26671       { "ue-reachableIndicator", "gsm_map.ms.ue_reachableIndicator_element",
26672         FT_NONE, BASE_NONE, NULL, 0,
26673         NULL, HFILL }},
26674     { &hf_gsm_map_ms_epsSubscriptionDataNotNeeded,
26675       { "epsSubscriptionDataNotNeeded", "gsm_map.ms.epsSubscriptionDataNotNeeded_element",
26676         FT_NONE, BASE_NONE, NULL, 0,
26677         NULL, HFILL }},
26678     { &hf_gsm_map_ms_ue_srvcc_Capability,
26679       { "ue-srvcc-Capability", "gsm_map.ms.ue_srvcc_Capability",
26680         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_UE_SRVCC_Capability_vals), 0,
26681         NULL, HFILL }},
26682     { &hf_gsm_map_ms_mmeNumberforMTSMS,
26683       { "mmeNumberforMTSMS", "gsm_map.ms.mmeNumberforMTSMS",
26684         FT_BYTES, BASE_NONE, NULL, 0,
26685         "ISDN_AddressString", HFILL }},
26686     { &hf_gsm_map_ms_smsRegisterRequest,
26687       { "smsRegisterRequest", "gsm_map.ms.smsRegisterRequest",
26688         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SMSRegisterRequest_vals), 0,
26689         NULL, HFILL }},
26690     { &hf_gsm_map_ms_sms_Only,
26691       { "sms-Only", "gsm_map.ms.sms_Only_element",
26692         FT_NONE, BASE_NONE, NULL, 0,
26693         NULL, HFILL }},
26694     { &hf_gsm_map_ms_removalofMMERegistrationforSMS,
26695       { "removalofMMERegistrationforSMS", "gsm_map.ms.removalofMMERegistrationforSMS_element",
26696         FT_NONE, BASE_NONE, NULL, 0,
26697         NULL, HFILL }},
26698     { &hf_gsm_map_ms_sgsn_Name,
26699       { "sgsn-Name", "gsm_map.ms.sgsn_Name",
26700         FT_STRING, STR_ASCII, NULL, 0,
26701         "DiameterIdentity", HFILL }},
26702     { &hf_gsm_map_ms_sgsn_Realm,
26703       { "sgsn-Realm", "gsm_map.ms.sgsn_Realm",
26704         FT_STRING, STR_ASCII, NULL, 0,
26705         "DiameterIdentity", HFILL }},
26706     { &hf_gsm_map_ms_lgd_supportIndicator,
26707       { "lgd-supportIndicator", "gsm_map.ms.lgd_supportIndicator_element",
26708         FT_NONE, BASE_NONE, NULL, 0,
26709         NULL, HFILL }},
26710     { &hf_gsm_map_ms_adjacentPLMN_List,
26711       { "adjacentPLMN-List", "gsm_map.ms.adjacentPLMN_List",
26712         FT_UINT32, BASE_DEC, NULL, 0,
26713         NULL, HFILL }},
26714     { &hf_gsm_map_ms_pdn_gw_update,
26715       { "pdn-gw-update", "gsm_map.ms.pdn_gw_update_element",
26716         FT_NONE, BASE_NONE, NULL, 0,
26717         NULL, HFILL }},
26718     { &hf_gsm_map_ms_isr_Information,
26719       { "isr-Information", "gsm_map.ms.isr_Information",
26720         FT_BYTES, BASE_NONE, NULL, 0,
26721         NULL, HFILL }},
26722     { &hf_gsm_map_ms_apn,
26723       { "apn", "gsm_map.ms.apn",
26724         FT_BYTES, BASE_NONE, NULL, 0,
26725         NULL, HFILL }},
26726     { &hf_gsm_map_ms_pdn_gw_Identity,
26727       { "pdn-gw-Identity", "gsm_map.ms.pdn_gw_Identity_element",
26728         FT_NONE, BASE_NONE, NULL, 0,
26729         NULL, HFILL }},
26730     { &hf_gsm_map_ms_contextId,
26731       { "contextId", "gsm_map.ms.contextId",
26732         FT_UINT32, BASE_DEC, NULL, 0,
26733         NULL, HFILL }},
26734     { &hf_gsm_map_ms_gprsEnhancementsSupportIndicator,
26735       { "gprsEnhancementsSupportIndicator", "gsm_map.ms.gprsEnhancementsSupportIndicator_element",
26736         FT_NONE, BASE_NONE, NULL, 0,
26737         NULL, HFILL }},
26738     { &hf_gsm_map_ms_smsCallBarringSupportIndicator,
26739       { "smsCallBarringSupportIndicator", "gsm_map.ms.smsCallBarringSupportIndicator_element",
26740         FT_NONE, BASE_NONE, NULL, 0,
26741         NULL, HFILL }},
26742     { &hf_gsm_map_ms_supportedFeatures,
26743       { "supportedFeatures", "gsm_map.ms.supportedFeatures",
26744         FT_BYTES, BASE_NONE, NULL, 0,
26745         NULL, HFILL }},
26746     { &hf_gsm_map_ms_t_adsDataRetrieval,
26747       { "t-adsDataRetrieval", "gsm_map.ms.t_adsDataRetrieval_element",
26748         FT_NONE, BASE_NONE, NULL, 0,
26749         NULL, HFILL }},
26750     { &hf_gsm_map_ms_homogeneousSupportOfIMSVoiceOverPSSessions,
26751       { "homogeneousSupportOfIMSVoiceOverPSSessions", "gsm_map.ms.homogeneousSupportOfIMSVoiceOverPSSessions",
26752         FT_BOOLEAN, BASE_NONE, NULL, 0,
26753         "BOOLEAN", HFILL }},
26754     { &hf_gsm_map_ms_cancellationTypeInitialAttach,
26755       { "cancellationTypeInitialAttach", "gsm_map.ms.cancellationTypeInitialAttach_element",
26756         FT_NONE, BASE_NONE, NULL, 0,
26757         NULL, HFILL }},
26758     { &hf_gsm_map_ms_updateofHomogeneousSupportOfIMSVoiceOverPSSessions,
26759       { "updateofHomogeneousSupportOfIMSVoiceOverPSSessions", "gsm_map.ms.updateofHomogeneousSupportOfIMSVoiceOverPSSessions_element",
26760         FT_NONE, BASE_NONE, NULL, 0,
26761         NULL, HFILL }},
26762     { &hf_gsm_map_ms_ext_SupportedFeatures,
26763       { "ext-SupportedFeatures", "gsm_map.ms.ext_SupportedFeatures",
26764         FT_BYTES, BASE_NONE, NULL, 0,
26765         NULL, HFILL }},
26766     { &hf_gsm_map_ms_sgsn_mmeSeparationSupported,
26767       { "sgsn-mmeSeparationSupported", "gsm_map.ms.sgsn_mmeSeparationSupported_element",
26768         FT_NONE, BASE_NONE, NULL, 0,
26769         NULL, HFILL }},
26770     { &hf_gsm_map_ms_mmeRegisteredforSMS,
26771       { "mmeRegisteredforSMS", "gsm_map.ms.mmeRegisteredforSMS_element",
26772         FT_NONE, BASE_NONE, NULL, 0,
26773         NULL, HFILL }},
26774     { &hf_gsm_map_ms_EPLMN_List_item,
26775       { "PLMN-Id", "gsm_map.ms.PLMN_Id",
26776         FT_BYTES, BASE_NONE, NULL, 0,
26777         NULL, HFILL }},
26778     { &hf_gsm_map_ms_AdjacentPLMN_List_item,
26779       { "PLMN-Id", "gsm_map.ms.PLMN_Id",
26780         FT_BYTES, BASE_NONE, NULL, 0,
26781         NULL, HFILL }},
26782     { &hf_gsm_map_ms_an_APDU,
26783       { "an-APDU", "gsm_map.ms.an_APDU_element",
26784         FT_NONE, BASE_NONE, NULL, 0,
26785         "AccessNetworkSignalInfo", HFILL }},
26786     { &hf_gsm_map_ms_integrityProtectionInfo,
26787       { "integrityProtectionInfo", "gsm_map.ms.integrityProtectionInfo",
26788         FT_BYTES, BASE_NONE, NULL, 0,
26789         "IntegrityProtectionInformation", HFILL }},
26790     { &hf_gsm_map_ms_encryptionInfo,
26791       { "encryptionInfo", "gsm_map.ms.encryptionInfo",
26792         FT_BYTES, BASE_NONE, NULL, 0,
26793         "EncryptionInformation", HFILL }},
26794     { &hf_gsm_map_ms_keyStatus,
26795       { "keyStatus", "gsm_map.ms.keyStatus",
26796         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_KeyStatus_vals), 0,
26797         NULL, HFILL }},
26798     { &hf_gsm_map_ms_allowedGSM_Algorithms,
26799       { "allowedGSM-Algorithms", "gsm_map.ms.allowedGSM_Algorithms",
26800         FT_BYTES, BASE_NONE, NULL, 0,
26801         NULL, HFILL }},
26802     { &hf_gsm_map_ms_allowedUMTS_Algorithms,
26803       { "allowedUMTS-Algorithms", "gsm_map.ms.allowedUMTS_Algorithms_element",
26804         FT_NONE, BASE_NONE, NULL, 0,
26805         NULL, HFILL }},
26806     { &hf_gsm_map_ms_radioResourceInformation,
26807       { "radioResourceInformation", "gsm_map.ms.radioResourceInformation",
26808         FT_BYTES, BASE_NONE, NULL, 0,
26809         NULL, HFILL }},
26810     { &hf_gsm_map_ms_radioResourceList,
26811       { "radioResourceList", "gsm_map.ms.radioResourceList",
26812         FT_UINT32, BASE_DEC, NULL, 0,
26813         NULL, HFILL }},
26814     { &hf_gsm_map_ms_bssmap_ServiceHandover,
26815       { "bssmap-ServiceHandover", "gsm_map.ms.bssmap_ServiceHandover",
26816         FT_BYTES, BASE_NONE, NULL, 0,
26817         NULL, HFILL }},
26818     { &hf_gsm_map_ms_ranap_ServiceHandover,
26819       { "ranap-ServiceHandover", "gsm_map.ms.ranap_ServiceHandover",
26820         FT_BYTES, BASE_NONE, NULL, 0,
26821         NULL, HFILL }},
26822     { &hf_gsm_map_ms_bssmap_ServiceHandoverList,
26823       { "bssmap-ServiceHandoverList", "gsm_map.ms.bssmap_ServiceHandoverList",
26824         FT_UINT32, BASE_DEC, NULL, 0,
26825         NULL, HFILL }},
26826     { &hf_gsm_map_ms_currentlyUsedCodec,
26827       { "currentlyUsedCodec", "gsm_map.ms.currentlyUsedCodec",
26828         FT_BYTES, BASE_NONE, NULL, 0,
26829         "Codec", HFILL }},
26830     { &hf_gsm_map_ms_iuSupportedCodecsList,
26831       { "iuSupportedCodecsList", "gsm_map.ms.iuSupportedCodecsList_element",
26832         FT_NONE, BASE_NONE, NULL, 0,
26833         "SupportedCodecsList", HFILL }},
26834     { &hf_gsm_map_ms_rab_ConfigurationIndicator,
26835       { "rab-ConfigurationIndicator", "gsm_map.ms.rab_ConfigurationIndicator_element",
26836         FT_NONE, BASE_NONE, NULL, 0,
26837         NULL, HFILL }},
26838     { &hf_gsm_map_ms_iuSelectedCodec,
26839       { "iuSelectedCodec", "gsm_map.ms.iuSelectedCodec",
26840         FT_BYTES, BASE_NONE, NULL, 0,
26841         "Codec", HFILL }},
26842     { &hf_gsm_map_ms_alternativeChannelType,
26843       { "alternativeChannelType", "gsm_map.ms.alternativeChannelType",
26844         FT_BYTES, BASE_NONE, NULL, 0,
26845         "RadioResourceInformation", HFILL }},
26846     { &hf_gsm_map_ms_tracePropagationList,
26847       { "tracePropagationList", "gsm_map.ms.tracePropagationList_element",
26848         FT_NONE, BASE_NONE, NULL, 0,
26849         NULL, HFILL }},
26850     { &hf_gsm_map_ms_aoipSupportedCodecsListAnchor,
26851       { "aoipSupportedCodecsListAnchor", "gsm_map.ms.aoipSupportedCodecsListAnchor_element",
26852         FT_NONE, BASE_NONE, NULL, 0,
26853         "AoIPCodecsList", HFILL }},
26854     { &hf_gsm_map_ms_aoipSelectedCodecTarget,
26855       { "aoipSelectedCodecTarget", "gsm_map.ms.aoipSelectedCodecTarget",
26856         FT_BYTES, BASE_NONE, NULL, 0,
26857         "AoIPCodec", HFILL }},
26858     { &hf_gsm_map_ms_uesbi_Iu,
26859       { "uesbi-Iu", "gsm_map.ms.uesbi_Iu_element",
26860         FT_NONE, BASE_NONE, NULL, 0,
26861         NULL, HFILL }},
26862     { &hf_gsm_map_ms_integrityProtectionAlgorithms,
26863       { "integrityProtectionAlgorithms", "gsm_map.ms.integrityProtectionAlgorithms",
26864         FT_BYTES, BASE_NONE, NULL, 0,
26865         "PermittedIntegrityProtectionAlgorithms", HFILL }},
26866     { &hf_gsm_map_ms_encryptionAlgorithms,
26867       { "encryptionAlgorithms", "gsm_map.ms.encryptionAlgorithms",
26868         FT_BYTES, BASE_NONE, NULL, 0,
26869         "PermittedEncryptionAlgorithms", HFILL }},
26870     { &hf_gsm_map_ms_targetCellId,
26871       { "targetCellId", "gsm_map.ms.targetCellId",
26872         FT_BYTES, BASE_NONE, NULL, 0,
26873         "GlobalCellId", HFILL }},
26874     { &hf_gsm_map_ms_ho_NumberNotRequired,
26875       { "ho-NumberNotRequired", "gsm_map.ms.ho_NumberNotRequired_element",
26876         FT_NONE, BASE_NONE, NULL, 0,
26877         NULL, HFILL }},
26878     { &hf_gsm_map_ms_targetRNCId,
26879       { "targetRNCId", "gsm_map.ms.targetRNCId",
26880         FT_BYTES, BASE_NONE, NULL, 0,
26881         "RNCId", HFILL }},
26882     { &hf_gsm_map_ms_multipleBearerRequested,
26883       { "multipleBearerRequested", "gsm_map.ms.multipleBearerRequested_element",
26884         FT_NONE, BASE_NONE, NULL, 0,
26885         NULL, HFILL }},
26886     { &hf_gsm_map_ms_rab_Id,
26887       { "rab-Id", "gsm_map.ms.rab_Id",
26888         FT_UINT32, BASE_DEC, NULL, 0,
26889         NULL, HFILL }},
26890     { &hf_gsm_map_ms_asciCallReference,
26891       { "asciCallReference", "gsm_map.ms.asciCallReference",
26892         FT_BYTES, BASE_NONE, NULL, 0,
26893         "ASCI_CallReference", HFILL }},
26894     { &hf_gsm_map_ms_geran_classmark,
26895       { "geran-classmark", "gsm_map.ms.geran_classmark",
26896         FT_BYTES, BASE_NONE, NULL, 0,
26897         NULL, HFILL }},
26898     { &hf_gsm_map_ms_iuCurrentlyUsedCodec,
26899       { "iuCurrentlyUsedCodec", "gsm_map.ms.iuCurrentlyUsedCodec",
26900         FT_BYTES, BASE_NONE, NULL, 0,
26901         "Codec", HFILL }},
26902     { &hf_gsm_map_ms_regionalSubscriptionData,
26903       { "regionalSubscriptionData", "gsm_map.ms.regionalSubscriptionData",
26904         FT_UINT32, BASE_DEC, NULL, 0,
26905         "ZoneCodeList", HFILL }},
26906     { &hf_gsm_map_ms_lclsGlobalCallReference,
26907       { "lclsGlobalCallReference", "gsm_map.ms.lclsGlobalCallReference",
26908         FT_BYTES, BASE_NONE, NULL, 0,
26909         "LCLS_GlobalCallReference", HFILL }},
26910     { &hf_gsm_map_ms_lcls_Negotiation,
26911       { "lcls-Negotiation", "gsm_map.ms.lcls_Negotiation",
26912         FT_BYTES, BASE_NONE, NULL, 0,
26913         NULL, HFILL }},
26914     { &hf_gsm_map_ms_lcls_Configuration_Preference,
26915       { "lcls-Configuration-Preference", "gsm_map.ms.lcls_Configuration_Preference",
26916         FT_BYTES, BASE_NONE, NULL, 0,
26917         "LCLS_ConfigurationPreference", HFILL }},
26918     { &hf_gsm_map_ms_csg_SubscriptionDataList,
26919       { "csg-SubscriptionDataList", "gsm_map.ms.csg_SubscriptionDataList",
26920         FT_UINT32, BASE_DEC, NULL, 0,
26921         NULL, HFILL }},
26922     { &hf_gsm_map_ms_BSSMAP_ServiceHandoverList_item,
26923       { "BSSMAP-ServiceHandoverInfo", "gsm_map.ms.BSSMAP_ServiceHandoverInfo_element",
26924         FT_NONE, BASE_NONE, NULL, 0,
26925         NULL, HFILL }},
26926     { &hf_gsm_map_ms_RadioResourceList_item,
26927       { "RadioResource", "gsm_map.ms.RadioResource_element",
26928         FT_NONE, BASE_NONE, NULL, 0,
26929         NULL, HFILL }},
26930     { &hf_gsm_map_ms_handoverNumber,
26931       { "handoverNumber", "gsm_map.ms.handoverNumber",
26932         FT_BYTES, BASE_NONE, NULL, 0,
26933         "ISDN_AddressString", HFILL }},
26934     { &hf_gsm_map_ms_relocationNumberList,
26935       { "relocationNumberList", "gsm_map.ms.relocationNumberList",
26936         FT_UINT32, BASE_DEC, NULL, 0,
26937         NULL, HFILL }},
26938     { &hf_gsm_map_ms_multicallBearerInfo,
26939       { "multicallBearerInfo", "gsm_map.ms.multicallBearerInfo",
26940         FT_UINT32, BASE_DEC, NULL, 0,
26941         NULL, HFILL }},
26942     { &hf_gsm_map_ms_multipleBearerNotSupported,
26943       { "multipleBearerNotSupported", "gsm_map.ms.multipleBearerNotSupported_element",
26944         FT_NONE, BASE_NONE, NULL, 0,
26945         NULL, HFILL }},
26946     { &hf_gsm_map_ms_selectedUMTS_Algorithms,
26947       { "selectedUMTS-Algorithms", "gsm_map.ms.selectedUMTS_Algorithms_element",
26948         FT_NONE, BASE_NONE, NULL, 0,
26949         NULL, HFILL }},
26950     { &hf_gsm_map_ms_chosenRadioResourceInformation,
26951       { "chosenRadioResourceInformation", "gsm_map.ms.chosenRadioResourceInformation_element",
26952         FT_NONE, BASE_NONE, NULL, 0,
26953         NULL, HFILL }},
26954     { &hf_gsm_map_ms_iuAvailableCodecsList,
26955       { "iuAvailableCodecsList", "gsm_map.ms.iuAvailableCodecsList_element",
26956         FT_NONE, BASE_NONE, NULL, 0,
26957         "CodecList", HFILL }},
26958     { &hf_gsm_map_ms_aoipAvailableCodecsListMap,
26959       { "aoipAvailableCodecsListMap", "gsm_map.ms.aoipAvailableCodecsListMap_element",
26960         FT_NONE, BASE_NONE, NULL, 0,
26961         "AoIPCodecsList", HFILL }},
26962     { &hf_gsm_map_ms_integrityProtectionAlgorithm,
26963       { "integrityProtectionAlgorithm", "gsm_map.ms.integrityProtectionAlgorithm",
26964         FT_BYTES, BASE_NONE, NULL, 0,
26965         "ChosenIntegrityProtectionAlgorithm", HFILL }},
26966     { &hf_gsm_map_ms_encryptionAlgorithm,
26967       { "encryptionAlgorithm", "gsm_map.ms.encryptionAlgorithm",
26968         FT_BYTES, BASE_NONE, NULL, 0,
26969         "ChosenEncryptionAlgorithm", HFILL }},
26970     { &hf_gsm_map_ms_chosenChannelInfo,
26971       { "chosenChannelInfo", "gsm_map.ms.chosenChannelInfo",
26972         FT_BYTES, BASE_NONE, NULL, 0,
26973         NULL, HFILL }},
26974     { &hf_gsm_map_ms_chosenSpeechVersion,
26975       { "chosenSpeechVersion", "gsm_map.ms.chosenSpeechVersion",
26976         FT_BYTES, BASE_NONE, NULL, 0,
26977         NULL, HFILL }},
26978     { &hf_gsm_map_ms_targetMSC_Number,
26979       { "targetMSC-Number", "gsm_map.ms.targetMSC_Number",
26980         FT_BYTES, BASE_NONE, NULL, 0,
26981         "ISDN_AddressString", HFILL }},
26982     { &hf_gsm_map_ms_selectedRab_Id,
26983       { "selectedRab-Id", "gsm_map.ms.selectedRab_Id",
26984         FT_UINT32, BASE_DEC, NULL, 0,
26985         "RAB_Id", HFILL }},
26986     { &hf_gsm_map_ms_selectedGSM_Algorithm,
26987       { "selectedGSM-Algorithm", "gsm_map.ms.selectedGSM_Algorithm",
26988         FT_BYTES, BASE_NONE, NULL, 0,
26989         NULL, HFILL }},
26990     { &hf_gsm_map_ms_iUSelectedCodec,
26991       { "iUSelectedCodec", "gsm_map.ms.iUSelectedCodec",
26992         FT_BYTES, BASE_NONE, NULL, 0,
26993         "Codec", HFILL }},
26994     { &hf_gsm_map_ms_codec1,
26995       { "codec1", "gsm_map.ms.codec1",
26996         FT_BYTES, BASE_NONE, NULL, 0,
26997         "AoIPCodec", HFILL }},
26998     { &hf_gsm_map_ms_codec2,
26999       { "codec2", "gsm_map.ms.codec2",
27000         FT_BYTES, BASE_NONE, NULL, 0,
27001         "AoIPCodec", HFILL }},
27002     { &hf_gsm_map_ms_codec3,
27003       { "codec3", "gsm_map.ms.codec3",
27004         FT_BYTES, BASE_NONE, NULL, 0,
27005         "AoIPCodec", HFILL }},
27006     { &hf_gsm_map_ms_codec4,
27007       { "codec4", "gsm_map.ms.codec4",
27008         FT_BYTES, BASE_NONE, NULL, 0,
27009         "AoIPCodec", HFILL }},
27010     { &hf_gsm_map_ms_codec5,
27011       { "codec5", "gsm_map.ms.codec5",
27012         FT_BYTES, BASE_NONE, NULL, 0,
27013         "AoIPCodec", HFILL }},
27014     { &hf_gsm_map_ms_codec6,
27015       { "codec6", "gsm_map.ms.codec6",
27016         FT_BYTES, BASE_NONE, NULL, 0,
27017         "AoIPCodec", HFILL }},
27018     { &hf_gsm_map_ms_codec7,
27019       { "codec7", "gsm_map.ms.codec7",
27020         FT_BYTES, BASE_NONE, NULL, 0,
27021         "AoIPCodec", HFILL }},
27022     { &hf_gsm_map_ms_codec8,
27023       { "codec8", "gsm_map.ms.codec8",
27024         FT_BYTES, BASE_NONE, NULL, 0,
27025         "AoIPCodec", HFILL }},
27026     { &hf_gsm_map_ms_utranCodecList,
27027       { "utranCodecList", "gsm_map.ms.utranCodecList_element",
27028         FT_NONE, BASE_NONE, NULL, 0,
27029         "CodecList", HFILL }},
27030     { &hf_gsm_map_ms_geranCodecList,
27031       { "geranCodecList", "gsm_map.ms.geranCodecList_element",
27032         FT_NONE, BASE_NONE, NULL, 0,
27033         "CodecList", HFILL }},
27034     { &hf_gsm_map_ms_codec1_01,
27035       { "codec1", "gsm_map.ms.codec1",
27036         FT_BYTES, BASE_NONE, NULL, 0,
27037         "Codec", HFILL }},
27038     { &hf_gsm_map_ms_codec2_01,
27039       { "codec2", "gsm_map.ms.codec2",
27040         FT_BYTES, BASE_NONE, NULL, 0,
27041         "Codec", HFILL }},
27042     { &hf_gsm_map_ms_codec3_01,
27043       { "codec3", "gsm_map.ms.codec3",
27044         FT_BYTES, BASE_NONE, NULL, 0,
27045         "Codec", HFILL }},
27046     { &hf_gsm_map_ms_codec4_01,
27047       { "codec4", "gsm_map.ms.codec4",
27048         FT_BYTES, BASE_NONE, NULL, 0,
27049         "Codec", HFILL }},
27050     { &hf_gsm_map_ms_codec5_01,
27051       { "codec5", "gsm_map.ms.codec5",
27052         FT_BYTES, BASE_NONE, NULL, 0,
27053         "Codec", HFILL }},
27054     { &hf_gsm_map_ms_codec6_01,
27055       { "codec6", "gsm_map.ms.codec6",
27056         FT_BYTES, BASE_NONE, NULL, 0,
27057         "Codec", HFILL }},
27058     { &hf_gsm_map_ms_codec7_01,
27059       { "codec7", "gsm_map.ms.codec7",
27060         FT_BYTES, BASE_NONE, NULL, 0,
27061         "Codec", HFILL }},
27062     { &hf_gsm_map_ms_codec8_01,
27063       { "codec8", "gsm_map.ms.codec8",
27064         FT_BYTES, BASE_NONE, NULL, 0,
27065         "Codec", HFILL }},
27066     { &hf_gsm_map_ms_RelocationNumberList_item,
27067       { "RelocationNumber", "gsm_map.ms.RelocationNumber_element",
27068         FT_NONE, BASE_NONE, NULL, 0,
27069         NULL, HFILL }},
27070     { &hf_gsm_map_ms_immediateResponsePreferred,
27071       { "immediateResponsePreferred", "gsm_map.ms.immediateResponsePreferred_element",
27072         FT_NONE, BASE_NONE, NULL, 0,
27073         NULL, HFILL }},
27074     { &hf_gsm_map_ms_re_synchronisationInfo,
27075       { "re-synchronisationInfo", "gsm_map.ms.re_synchronisationInfo_element",
27076         FT_NONE, BASE_NONE, NULL, 0,
27077         NULL, HFILL }},
27078     { &hf_gsm_map_ms_requestingNodeType,
27079       { "requestingNodeType", "gsm_map.ms.requestingNodeType",
27080         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_RequestingNodeType_vals), 0,
27081         NULL, HFILL }},
27082     { &hf_gsm_map_ms_requestingPLMN_Id,
27083       { "requestingPLMN-Id", "gsm_map.ms.requestingPLMN_Id",
27084         FT_BYTES, BASE_NONE, NULL, 0,
27085         "PLMN_Id", HFILL }},
27086     { &hf_gsm_map_ms_numberOfRequestedAdditional_Vectors,
27087       { "numberOfRequestedAdditional-Vectors", "gsm_map.ms.numberOfRequestedAdditional_Vectors",
27088         FT_UINT32, BASE_DEC, NULL, 0,
27089         "NumberOfRequestedVectors", HFILL }},
27090     { &hf_gsm_map_ms_additionalVectorsAreForEPS,
27091       { "additionalVectorsAreForEPS", "gsm_map.ms.additionalVectorsAreForEPS_element",
27092         FT_NONE, BASE_NONE, NULL, 0,
27093         NULL, HFILL }},
27094     { &hf_gsm_map_ms_ueUsageTypeRequestIndication,
27095       { "ueUsageTypeRequestIndication", "gsm_map.ms.ueUsageTypeRequestIndication_element",
27096         FT_NONE, BASE_NONE, NULL, 0,
27097         NULL, HFILL }},
27098     { &hf_gsm_map_ms_auts,
27099       { "auts", "gsm_map.ms.auts",
27100         FT_BYTES, BASE_NONE, NULL, 0,
27101         NULL, HFILL }},
27102     { &hf_gsm_map_ms_eps_AuthenticationSetList,
27103       { "eps-AuthenticationSetList", "gsm_map.ms.eps_AuthenticationSetList",
27104         FT_UINT32, BASE_DEC, NULL, 0,
27105         NULL, HFILL }},
27106     { &hf_gsm_map_ms_ueUsageType,
27107       { "ueUsageType", "gsm_map.ms.ueUsageType",
27108         FT_BYTES, BASE_NONE, NULL, 0,
27109         "UE_UsageType", HFILL }},
27110     { &hf_gsm_map_ms_EPS_AuthenticationSetList_item,
27111       { "EPC-AV", "gsm_map.ms.EPC_AV_element",
27112         FT_NONE, BASE_NONE, NULL, 0,
27113         NULL, HFILL }},
27114     { &hf_gsm_map_ms_kasme,
27115       { "kasme", "gsm_map.ms.kasme",
27116         FT_BYTES, BASE_NONE, NULL, 0,
27117         NULL, HFILL }},
27118     { &hf_gsm_map_ms_imei,
27119       { "imei", "gsm_map.ms.imei",
27120         FT_BYTES, BASE_NONE, NULL, 0,
27121         NULL, HFILL }},
27122     { &hf_gsm_map_ms_requestedEquipmentInfo,
27123       { "requestedEquipmentInfo", "gsm_map.ms.requestedEquipmentInfo",
27124         FT_BYTES, BASE_NONE, NULL, 0,
27125         NULL, HFILL }},
27126     { &hf_gsm_map_ms_equipmentStatus,
27127       { "equipmentStatus", "gsm_map.ms.equipmentStatus",
27128         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_EquipmentStatus_vals), 0,
27129         NULL, HFILL }},
27130     { &hf_gsm_map_ms_bmuef,
27131       { "bmuef", "gsm_map.ms.bmuef_element",
27132         FT_NONE, BASE_NONE, NULL, 0,
27133         "UESBI_Iu", HFILL }},
27134     { &hf_gsm_map_ms_uesbi_IuA,
27135       { "uesbi-IuA", "gsm_map.ms.uesbi_IuA",
27136         FT_BYTES, BASE_NONE, NULL, 0,
27137         NULL, HFILL }},
27138     { &hf_gsm_map_ms_uesbi_IuB,
27139       { "uesbi-IuB", "gsm_map.ms.uesbi_IuB",
27140         FT_BYTES, BASE_NONE, NULL, 0,
27141         NULL, HFILL }},
27142     { &hf_gsm_map_ms_EDRX_Cycle_Length_List_item,
27143       { "EDRX-Cycle-Length", "gsm_map.ms.EDRX_Cycle_Length_element",
27144         FT_NONE, BASE_NONE, NULL, 0,
27145         NULL, HFILL }},
27146     { &hf_gsm_map_ms_rat_Type,
27147       { "rat-Type", "gsm_map.ms.rat_Type",
27148         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_Used_RAT_Type_vals), 0,
27149         "Used_RAT_Type", HFILL }},
27150     { &hf_gsm_map_ms_eDRX_Cycle_Length_Value,
27151       { "eDRX-Cycle-Length-Value", "gsm_map.ms.eDRX_Cycle_Length_Value",
27152         FT_BYTES, BASE_NONE, NULL, 0,
27153         NULL, HFILL }},
27154     { &hf_gsm_map_ms_Reset_Id_List_item,
27155       { "Reset-Id", "gsm_map.ms.Reset_Id",
27156         FT_BYTES, BASE_NONE, NULL, 0,
27157         NULL, HFILL }},
27158     { &hf_gsm_map_ms_IMSI_GroupIdList_item,
27159       { "IMSI-GroupId", "gsm_map.ms.IMSI_GroupId_element",
27160         FT_NONE, BASE_NONE, NULL, 0,
27161         NULL, HFILL }},
27162     { &hf_gsm_map_ms_group_Service_Id,
27163       { "group-Service-Id", "gsm_map.ms.group_Service_Id",
27164         FT_UINT32, BASE_DEC, NULL, 0,
27165         NULL, HFILL }},
27166     { &hf_gsm_map_ms_plmnId,
27167       { "plmnId", "gsm_map.ms.plmnId",
27168         FT_BYTES, BASE_NONE, NULL, 0,
27169         "PLMN_Id", HFILL }},
27170     { &hf_gsm_map_ms_local_Group_ID,
27171       { "local-Group-ID", "gsm_map.ms.local_Group_ID",
27172         FT_BYTES, BASE_NONE, NULL, 0,
27173         "Local_GroupID", HFILL }},
27174     { &hf_gsm_map_ms_CSG_SubscriptionDataList_item,
27175       { "CSG-SubscriptionData", "gsm_map.ms.CSG_SubscriptionData_element",
27176         FT_NONE, BASE_NONE, NULL, 0,
27177         NULL, HFILL }},
27178     { &hf_gsm_map_ms_csg_Id,
27179       { "csg-Id", "gsm_map.ms.csg_Id",
27180         FT_BYTES, BASE_NONE, NULL, 0,
27181         NULL, HFILL }},
27182     { &hf_gsm_map_ms_expirationDate,
27183       { "expirationDate", "gsm_map.ms.expirationDate",
27184         FT_BYTES, BASE_NONE, NULL, 0,
27185         "Time", HFILL }},
27186     { &hf_gsm_map_ms_lipa_AllowedAPNList,
27187       { "lipa-AllowedAPNList", "gsm_map.ms.lipa_AllowedAPNList",
27188         FT_UINT32, BASE_DEC, NULL, 0,
27189         NULL, HFILL }},
27190     { &hf_gsm_map_ms_plmn_Id,
27191       { "plmn-Id", "gsm_map.ms.plmn_Id",
27192         FT_BYTES, BASE_NONE, NULL, 0,
27193         NULL, HFILL }},
27194     { &hf_gsm_map_ms_VPLMN_CSG_SubscriptionDataList_item,
27195       { "CSG-SubscriptionData", "gsm_map.ms.CSG_SubscriptionData_element",
27196         FT_NONE, BASE_NONE, NULL, 0,
27197         NULL, HFILL }},
27198     { &hf_gsm_map_ms_LIPA_AllowedAPNList_item,
27199       { "APN", "gsm_map.ms.APN",
27200         FT_BYTES, BASE_NONE, NULL, 0,
27201         NULL, HFILL }},
27202     { &hf_gsm_map_ms_apn_oi_Replacement,
27203       { "apn-oi-Replacement", "gsm_map.ms.apn_oi_Replacement",
27204         FT_BYTES, BASE_NONE, NULL, 0,
27205         NULL, HFILL }},
27206     { &hf_gsm_map_ms_rfsp_id,
27207       { "rfsp-id", "gsm_map.ms.rfsp_id",
27208         FT_UINT32, BASE_DEC, NULL, 0,
27209         NULL, HFILL }},
27210     { &hf_gsm_map_ms_ambr,
27211       { "ambr", "gsm_map.ms.ambr_element",
27212         FT_NONE, BASE_NONE, NULL, 0,
27213         NULL, HFILL }},
27214     { &hf_gsm_map_ms_apn_ConfigurationProfile,
27215       { "apn-ConfigurationProfile", "gsm_map.ms.apn_ConfigurationProfile_element",
27216         FT_NONE, BASE_NONE, NULL, 0,
27217         NULL, HFILL }},
27218     { &hf_gsm_map_ms_stn_sr,
27219       { "stn-sr", "gsm_map.ms.stn_sr",
27220         FT_BYTES, BASE_NONE, NULL, 0,
27221         "ISDN_AddressString", HFILL }},
27222     { &hf_gsm_map_ms_mps_CSPriority,
27223       { "mps-CSPriority", "gsm_map.ms.mps_CSPriority_element",
27224         FT_NONE, BASE_NONE, NULL, 0,
27225         NULL, HFILL }},
27226     { &hf_gsm_map_ms_mps_EPSPriority,
27227       { "mps-EPSPriority", "gsm_map.ms.mps_EPSPriority_element",
27228         FT_NONE, BASE_NONE, NULL, 0,
27229         NULL, HFILL }},
27230     { &hf_gsm_map_ms_subscribed_vsrvcc,
27231       { "subscribed-vsrvcc", "gsm_map.ms.subscribed_vsrvcc_element",
27232         FT_NONE, BASE_NONE, NULL, 0,
27233         NULL, HFILL }},
27234     { &hf_gsm_map_ms_defaultContext,
27235       { "defaultContext", "gsm_map.ms.defaultContext",
27236         FT_UINT32, BASE_DEC, NULL, 0,
27237         "ContextId", HFILL }},
27238     { &hf_gsm_map_ms_completeDataListIncluded,
27239       { "completeDataListIncluded", "gsm_map.ms.completeDataListIncluded_element",
27240         FT_NONE, BASE_NONE, NULL, 0,
27241         NULL, HFILL }},
27242     { &hf_gsm_map_ms_epsDataList,
27243       { "epsDataList", "gsm_map.ms.epsDataList",
27244         FT_UINT32, BASE_DEC, NULL, 0,
27245         "EPS_DataList", HFILL }},
27246     { &hf_gsm_map_ms_additionalDefaultContext,
27247       { "additionalDefaultContext", "gsm_map.ms.additionalDefaultContext",
27248         FT_UINT32, BASE_DEC, NULL, 0,
27249         "ContextId", HFILL }},
27250     { &hf_gsm_map_ms_EPS_DataList_item,
27251       { "APN-Configuration", "gsm_map.ms.APN_Configuration_element",
27252         FT_NONE, BASE_NONE, NULL, 0,
27253         NULL, HFILL }},
27254     { &hf_gsm_map_ms_pdn_Type,
27255       { "pdn-Type", "gsm_map.ms.pdn_Type",
27256         FT_BYTES, BASE_NONE, NULL, 0,
27257         NULL, HFILL }},
27258     { &hf_gsm_map_ms_servedPartyIP_IPv4_Address,
27259       { "servedPartyIP-IPv4-Address", "gsm_map.ms.servedPartyIP_IPv4_Address",
27260         FT_BYTES, BASE_NONE, NULL, 0,
27261         "PDP_Address", HFILL }},
27262     { &hf_gsm_map_ms_eps_qos_Subscribed,
27263       { "eps-qos-Subscribed", "gsm_map.ms.eps_qos_Subscribed_element",
27264         FT_NONE, BASE_NONE, NULL, 0,
27265         NULL, HFILL }},
27266     { &hf_gsm_map_ms_pdn_gw_AllocationType,
27267       { "pdn-gw-AllocationType", "gsm_map.ms.pdn_gw_AllocationType",
27268         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_PDN_GW_AllocationType_vals), 0,
27269         NULL, HFILL }},
27270     { &hf_gsm_map_ms_vplmnAddressAllowed,
27271       { "vplmnAddressAllowed", "gsm_map.ms.vplmnAddressAllowed_element",
27272         FT_NONE, BASE_NONE, NULL, 0,
27273         NULL, HFILL }},
27274     { &hf_gsm_map_ms_chargingCharacteristics,
27275       { "chargingCharacteristics", "gsm_map.ms.chargingCharacteristics",
27276         FT_UINT16, BASE_DEC, VALS(chargingcharacteristics_values), 0x0f00,
27277         NULL, HFILL }},
27278     { &hf_gsm_map_ms_specificAPNInfoList,
27279       { "specificAPNInfoList", "gsm_map.ms.specificAPNInfoList",
27280         FT_UINT32, BASE_DEC, NULL, 0,
27281         NULL, HFILL }},
27282     { &hf_gsm_map_ms_servedPartyIP_IPv6_Address,
27283       { "servedPartyIP-IPv6-Address", "gsm_map.ms.servedPartyIP_IPv6_Address",
27284         FT_BYTES, BASE_NONE, NULL, 0,
27285         "PDP_Address", HFILL }},
27286     { &hf_gsm_map_ms_sipto_Permission,
27287       { "sipto-Permission", "gsm_map.ms.sipto_Permission",
27288         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SIPTO_Permission_vals), 0,
27289         NULL, HFILL }},
27290     { &hf_gsm_map_ms_lipa_Permission,
27291       { "lipa-Permission", "gsm_map.ms.lipa_Permission",
27292         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_LIPA_Permission_vals), 0,
27293         NULL, HFILL }},
27294     { &hf_gsm_map_ms_restoration_Priority,
27295       { "restoration-Priority", "gsm_map.ms.restoration_Priority",
27296         FT_BYTES, BASE_NONE, NULL, 0,
27297         NULL, HFILL }},
27298     { &hf_gsm_map_ms_sipto_local_network_Permission,
27299       { "sipto-local-network-Permission", "gsm_map.ms.sipto_local_network_Permission",
27300         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SIPTO_Local_Network_Permission_vals), 0,
27301         NULL, HFILL }},
27302     { &hf_gsm_map_ms_wlan_offloadability,
27303       { "wlan-offloadability", "gsm_map.ms.wlan_offloadability_element",
27304         FT_NONE, BASE_NONE, NULL, 0,
27305         NULL, HFILL }},
27306     { &hf_gsm_map_ms_non_IP_PDN_Type_Indicator,
27307       { "non-IP-PDN-Type-Indicator", "gsm_map.ms.non_IP_PDN_Type_Indicator_element",
27308         FT_NONE, BASE_NONE, NULL, 0,
27309         NULL, HFILL }},
27310     { &hf_gsm_map_ms_nIDD_Mechanism,
27311       { "nIDD-Mechanism", "gsm_map.ms.nIDD_Mechanism",
27312         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NIDD_Mechanism_vals), 0,
27313         NULL, HFILL }},
27314     { &hf_gsm_map_ms_sCEF_ID,
27315       { "sCEF-ID", "gsm_map.ms.sCEF_ID",
27316         FT_BYTES, BASE_NONE, NULL, 0,
27317         "FQDN", HFILL }},
27318     { &hf_gsm_map_ms_pdn_ConnectionContinuity,
27319       { "pdn-ConnectionContinuity", "gsm_map.ms.pdn_ConnectionContinuity",
27320         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_PDN_ConnectionContinuity_vals), 0,
27321         NULL, HFILL }},
27322     { &hf_gsm_map_ms_qos_Class_Identifier,
27323       { "qos-Class-Identifier", "gsm_map.ms.qos_Class_Identifier",
27324         FT_UINT32, BASE_DEC, NULL, 0,
27325         NULL, HFILL }},
27326     { &hf_gsm_map_ms_allocation_Retention_Priority,
27327       { "allocation-Retention-Priority", "gsm_map.ms.allocation_Retention_Priority_element",
27328         FT_NONE, BASE_NONE, NULL, 0,
27329         NULL, HFILL }},
27330     { &hf_gsm_map_ms_max_RequestedBandwidth_UL,
27331       { "max-RequestedBandwidth-UL", "gsm_map.ms.max_RequestedBandwidth_UL",
27332         FT_INT32, BASE_DEC, NULL, 0,
27333         "Bandwidth", HFILL }},
27334     { &hf_gsm_map_ms_max_RequestedBandwidth_DL,
27335       { "max-RequestedBandwidth-DL", "gsm_map.ms.max_RequestedBandwidth_DL",
27336         FT_INT32, BASE_DEC, NULL, 0,
27337         "Bandwidth", HFILL }},
27338     { &hf_gsm_map_ms_extended_Max_RequestedBandwidth_UL,
27339       { "extended-Max-RequestedBandwidth-UL", "gsm_map.ms.extended_Max_RequestedBandwidth_UL",
27340         FT_INT32, BASE_DEC, NULL, 0,
27341         "BandwidthExt", HFILL }},
27342     { &hf_gsm_map_ms_extended_Max_RequestedBandwidth_DL,
27343       { "extended-Max-RequestedBandwidth-DL", "gsm_map.ms.extended_Max_RequestedBandwidth_DL",
27344         FT_INT32, BASE_DEC, NULL, 0,
27345         "BandwidthExt", HFILL }},
27346     { &hf_gsm_map_ms_SpecificAPNInfoList_item,
27347       { "SpecificAPNInfo", "gsm_map.ms.SpecificAPNInfo_element",
27348         FT_NONE, BASE_NONE, NULL, 0,
27349         NULL, HFILL }},
27350     { &hf_gsm_map_ms_priority_level,
27351       { "priority-level", "gsm_map.ms.priority_level",
27352         FT_INT32, BASE_DEC, NULL, 0,
27353         "INTEGER", HFILL }},
27354     { &hf_gsm_map_ms_pre_emption_capability,
27355       { "pre-emption-capability", "gsm_map.ms.pre_emption_capability",
27356         FT_BOOLEAN, BASE_NONE, NULL, 0,
27357         "BOOLEAN", HFILL }},
27358     { &hf_gsm_map_ms_pre_emption_vulnerability,
27359       { "pre-emption-vulnerability", "gsm_map.ms.pre_emption_vulnerability",
27360         FT_BOOLEAN, BASE_NONE, NULL, 0,
27361         "BOOLEAN", HFILL }},
27362     { &hf_gsm_map_ms_pdn_gw_ipv4_Address,
27363       { "pdn-gw-ipv4-Address", "gsm_map.ms.pdn_gw_ipv4_Address",
27364         FT_BYTES, BASE_NONE, NULL, 0,
27365         "PDP_Address", HFILL }},
27366     { &hf_gsm_map_ms_pdn_gw_ipv6_Address,
27367       { "pdn-gw-ipv6-Address", "gsm_map.ms.pdn_gw_ipv6_Address",
27368         FT_BYTES, BASE_NONE, NULL, 0,
27369         "PDP_Address", HFILL }},
27370     { &hf_gsm_map_ms_pdn_gw_name,
27371       { "pdn-gw-name", "gsm_map.ms.pdn_gw_name",
27372         FT_BYTES, BASE_NONE, NULL, 0,
27373         "FQDN", HFILL }},
27374     { &hf_gsm_map_ms_wlan_offloadability_EUTRAN,
27375       { "wlan-offloadability-EUTRAN", "gsm_map.ms.wlan_offloadability_EUTRAN",
27376         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_WLAN_Offloadability_Indication_vals), 0,
27377         "WLAN_Offloadability_Indication", HFILL }},
27378     { &hf_gsm_map_ms_wlan_offloadability_UTRAN,
27379       { "wlan-offloadability-UTRAN", "gsm_map.ms.wlan_offloadability_UTRAN",
27380         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_WLAN_Offloadability_Indication_vals), 0,
27381         "WLAN_Offloadability_Indication", HFILL }},
27382     { &hf_gsm_map_ms_AdjacentAccessRestrictionDataList_item,
27383       { "AdjacentAccessRestrictionData", "gsm_map.ms.AdjacentAccessRestrictionData_element",
27384         FT_NONE, BASE_NONE, NULL, 0,
27385         NULL, HFILL }},
27386     { &hf_gsm_map_ms_accessRestrictionData,
27387       { "accessRestrictionData", "gsm_map.ms.accessRestrictionData",
27388         FT_BYTES, BASE_NONE, NULL, 0,
27389         NULL, HFILL }},
27390     { &hf_gsm_map_ms_ext_AccessRestrictionData,
27391       { "ext-AccessRestrictionData", "gsm_map.ms.ext_AccessRestrictionData",
27392         FT_BYTES, BASE_NONE, NULL, 0,
27393         NULL, HFILL }},
27394     { &hf_gsm_map_ms_gmlc_List,
27395       { "gmlc-List", "gsm_map.ms.gmlc_List",
27396         FT_UINT32, BASE_DEC, NULL, 0,
27397         NULL, HFILL }},
27398     { &hf_gsm_map_ms_lcs_PrivacyExceptionList,
27399       { "lcs-PrivacyExceptionList", "gsm_map.ms.lcs_PrivacyExceptionList",
27400         FT_UINT32, BASE_DEC, NULL, 0,
27401         NULL, HFILL }},
27402     { &hf_gsm_map_ms_molr_List,
27403       { "molr-List", "gsm_map.ms.molr_List",
27404         FT_UINT32, BASE_DEC, NULL, 0,
27405         NULL, HFILL }},
27406     { &hf_gsm_map_ms_add_lcs_PrivacyExceptionList,
27407       { "add-lcs-PrivacyExceptionList", "gsm_map.ms.add_lcs_PrivacyExceptionList",
27408         FT_UINT32, BASE_DEC, NULL, 0,
27409         "LCS_PrivacyExceptionList", HFILL }},
27410     { &hf_gsm_map_ms_GMLC_List_item,
27411       { "ISDN-AddressString", "gsm_map.ms.ISDN_AddressString",
27412         FT_BYTES, BASE_NONE, NULL, 0,
27413         NULL, HFILL }},
27414     { &hf_gsm_map_ms_GPRSDataList_item,
27415       { "PDP-Context", "gsm_map.ms.PDP_Context_element",
27416         FT_NONE, BASE_NONE, NULL, 0,
27417         NULL, HFILL }},
27418     { &hf_gsm_map_ms_pdp_ContextId,
27419       { "pdp-ContextId", "gsm_map.ms.pdp_ContextId",
27420         FT_UINT32, BASE_DEC, NULL, 0,
27421         "ContextId", HFILL }},
27422     { &hf_gsm_map_ms_pdp_Type,
27423       { "pdp-Type", "gsm_map.ms.pdp_Type",
27424         FT_BYTES, BASE_NONE, NULL, 0,
27425         NULL, HFILL }},
27426     { &hf_gsm_map_ms_pdp_Address,
27427       { "pdp-Address", "gsm_map.ms.pdp_Address",
27428         FT_BYTES, BASE_NONE, NULL, 0,
27429         NULL, HFILL }},
27430     { &hf_gsm_map_ms_qos_Subscribed,
27431       { "qos-Subscribed", "gsm_map.ms.qos_Subscribed",
27432         FT_BYTES, BASE_NONE, NULL, 0,
27433         NULL, HFILL }},
27434     { &hf_gsm_map_ms_ext_QoS_Subscribed,
27435       { "ext-QoS-Subscribed", "gsm_map.ms.ext_QoS_Subscribed",
27436         FT_BYTES, BASE_NONE, NULL, 0,
27437         NULL, HFILL }},
27438     { &hf_gsm_map_ms_pdp_ChargingCharacteristics,
27439       { "pdp-ChargingCharacteristics", "gsm_map.ms.pdp_ChargingCharacteristics",
27440         FT_UINT16, BASE_DEC, VALS(chargingcharacteristics_values), 0x0f00,
27441         "ChargingCharacteristics", HFILL }},
27442     { &hf_gsm_map_ms_ext2_QoS_Subscribed,
27443       { "ext2-QoS-Subscribed", "gsm_map.ms.ext2_QoS_Subscribed",
27444         FT_BYTES, BASE_NONE, NULL, 0,
27445         NULL, HFILL }},
27446     { &hf_gsm_map_ms_ext3_QoS_Subscribed,
27447       { "ext3-QoS-Subscribed", "gsm_map.ms.ext3_QoS_Subscribed",
27448         FT_BYTES, BASE_NONE, NULL, 0,
27449         NULL, HFILL }},
27450     { &hf_gsm_map_ms_ext4_QoS_Subscribed,
27451       { "ext4-QoS-Subscribed", "gsm_map.ms.ext4_QoS_Subscribed",
27452         FT_BYTES, BASE_NONE, NULL, 0,
27453         NULL, HFILL }},
27454     { &hf_gsm_map_ms_ext_pdp_Type,
27455       { "ext-pdp-Type", "gsm_map.ms.ext_pdp_Type",
27456         FT_BYTES, BASE_NONE, NULL, 0,
27457         NULL, HFILL }},
27458     { &hf_gsm_map_ms_ext_pdp_Address,
27459       { "ext-pdp-Address", "gsm_map.ms.ext_pdp_Address",
27460         FT_BYTES, BASE_NONE, NULL, 0,
27461         "PDP_Address", HFILL }},
27462     { &hf_gsm_map_ms_gprsDataList,
27463       { "gprsDataList", "gsm_map.ms.gprsDataList",
27464         FT_UINT32, BASE_DEC, NULL, 0,
27465         NULL, HFILL }},
27466     { &hf_gsm_map_ms_gprs_CSI,
27467       { "gprs-CSI", "gsm_map.ms.gprs_CSI_element",
27468         FT_NONE, BASE_NONE, NULL, 0,
27469         NULL, HFILL }},
27470     { &hf_gsm_map_ms_mo_sms_CSI,
27471       { "mo-sms-CSI", "gsm_map.ms.mo_sms_CSI_element",
27472         FT_NONE, BASE_NONE, NULL, 0,
27473         "SMS_CSI", HFILL }},
27474     { &hf_gsm_map_ms_mt_sms_CSI,
27475       { "mt-sms-CSI", "gsm_map.ms.mt_sms_CSI_element",
27476         FT_NONE, BASE_NONE, NULL, 0,
27477         "SMS_CSI", HFILL }},
27478     { &hf_gsm_map_ms_mt_smsCAMELTDP_CriteriaList,
27479       { "mt-smsCAMELTDP-CriteriaList", "gsm_map.ms.mt_smsCAMELTDP_CriteriaList",
27480         FT_UINT32, BASE_DEC, NULL, 0,
27481         NULL, HFILL }},
27482     { &hf_gsm_map_ms_mg_csi,
27483       { "mg-csi", "gsm_map.ms.mg_csi_element",
27484         FT_NONE, BASE_NONE, NULL, 0,
27485         NULL, HFILL }},
27486     { &hf_gsm_map_ms_gprs_CamelTDPDataList,
27487       { "gprs-CamelTDPDataList", "gsm_map.ms.gprs_CamelTDPDataList",
27488         FT_UINT32, BASE_DEC, NULL, 0,
27489         NULL, HFILL }},
27490     { &hf_gsm_map_ms_camelCapabilityHandling,
27491       { "camelCapabilityHandling", "gsm_map.ms.camelCapabilityHandling",
27492         FT_UINT32, BASE_DEC, NULL, 0,
27493         NULL, HFILL }},
27494     { &hf_gsm_map_ms_notificationToCSE,
27495       { "notificationToCSE", "gsm_map.ms.notificationToCSE_element",
27496         FT_NONE, BASE_NONE, NULL, 0,
27497         NULL, HFILL }},
27498     { &hf_gsm_map_ms_csi_Active,
27499       { "csi-Active", "gsm_map.ms.csi_Active_element",
27500         FT_NONE, BASE_NONE, NULL, 0,
27501         NULL, HFILL }},
27502     { &hf_gsm_map_ms_GPRS_CamelTDPDataList_item,
27503       { "GPRS-CamelTDPData", "gsm_map.ms.GPRS_CamelTDPData_element",
27504         FT_NONE, BASE_NONE, NULL, 0,
27505         NULL, HFILL }},
27506     { &hf_gsm_map_ms_gprs_TriggerDetectionPoint,
27507       { "gprs-TriggerDetectionPoint", "gsm_map.ms.gprs_TriggerDetectionPoint",
27508         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_GPRS_TriggerDetectionPoint_vals), 0,
27509         NULL, HFILL }},
27510     { &hf_gsm_map_ms_serviceKey,
27511       { "serviceKey", "gsm_map.ms.serviceKey",
27512         FT_UINT32, BASE_DEC, NULL, 0,
27513         NULL, HFILL }},
27514     { &hf_gsm_map_ms_gsmSCF_Address,
27515       { "gsmSCF-Address", "gsm_map.ms.gsmSCF_Address",
27516         FT_BYTES, BASE_NONE, NULL, 0,
27517         "ISDN_AddressString", HFILL }},
27518     { &hf_gsm_map_ms_defaultSessionHandling,
27519       { "defaultSessionHandling", "gsm_map.ms.defaultSessionHandling",
27520         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_DefaultGPRS_Handling_vals), 0,
27521         "DefaultGPRS_Handling", HFILL }},
27522     { &hf_gsm_map_ms_LSADataList_item,
27523       { "LSAData", "gsm_map.ms.LSAData_element",
27524         FT_NONE, BASE_NONE, NULL, 0,
27525         NULL, HFILL }},
27526     { &hf_gsm_map_ms_lsaIdentity,
27527       { "lsaIdentity", "gsm_map.ms.lsaIdentity",
27528         FT_BYTES, BASE_NONE, NULL, 0,
27529         NULL, HFILL }},
27530     { &hf_gsm_map_ms_lsaAttributes,
27531       { "lsaAttributes", "gsm_map.ms.lsaAttributes",
27532         FT_BYTES, BASE_NONE, NULL, 0,
27533         NULL, HFILL }},
27534     { &hf_gsm_map_ms_lsaActiveModeIndicator,
27535       { "lsaActiveModeIndicator", "gsm_map.ms.lsaActiveModeIndicator_element",
27536         FT_NONE, BASE_NONE, NULL, 0,
27537         NULL, HFILL }},
27538     { &hf_gsm_map_ms_lsaOnlyAccessIndicator,
27539       { "lsaOnlyAccessIndicator", "gsm_map.ms.lsaOnlyAccessIndicator",
27540         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_LSAOnlyAccessIndicator_vals), 0,
27541         NULL, HFILL }},
27542     { &hf_gsm_map_ms_lsaDataList,
27543       { "lsaDataList", "gsm_map.ms.lsaDataList",
27544         FT_UINT32, BASE_DEC, NULL, 0,
27545         NULL, HFILL }},
27546     { &hf_gsm_map_ms_msisdn,
27547       { "msisdn", "gsm_map.ms.msisdn",
27548         FT_BYTES, BASE_NONE, NULL, 0,
27549         "ISDN_AddressString", HFILL }},
27550     { &hf_gsm_map_ms_category,
27551       { "category", "gsm_map.ms.category",
27552         FT_BYTES, BASE_NONE, NULL, 0,
27553         NULL, HFILL }},
27554     { &hf_gsm_map_ms_subscriberStatus,
27555       { "subscriberStatus", "gsm_map.ms.subscriberStatus",
27556         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SubscriberStatus_vals), 0,
27557         NULL, HFILL }},
27558     { &hf_gsm_map_ms_bearerServiceList,
27559       { "bearerServiceList", "gsm_map.ms.bearerServiceList",
27560         FT_UINT32, BASE_DEC, NULL, 0,
27561         NULL, HFILL }},
27562     { &hf_gsm_map_ms_teleserviceList,
27563       { "teleserviceList", "gsm_map.ms.teleserviceList",
27564         FT_UINT32, BASE_DEC, NULL, 0,
27565         NULL, HFILL }},
27566     { &hf_gsm_map_ms_provisionedSS,
27567       { "provisionedSS", "gsm_map.ms.provisionedSS",
27568         FT_UINT32, BASE_DEC, NULL, 0,
27569         "Ext_SS_InfoList", HFILL }},
27570     { &hf_gsm_map_ms_odb_Data,
27571       { "odb-Data", "gsm_map.ms.odb_Data_element",
27572         FT_NONE, BASE_NONE, NULL, 0,
27573         NULL, HFILL }},
27574     { &hf_gsm_map_ms_roamingRestrictionDueToUnsupportedFeature,
27575       { "roamingRestrictionDueToUnsupportedFeature", "gsm_map.ms.roamingRestrictionDueToUnsupportedFeature_element",
27576         FT_NONE, BASE_NONE, NULL, 0,
27577         NULL, HFILL }},
27578     { &hf_gsm_map_ms_vbsSubscriptionData,
27579       { "vbsSubscriptionData", "gsm_map.ms.vbsSubscriptionData",
27580         FT_UINT32, BASE_DEC, NULL, 0,
27581         "VBSDataList", HFILL }},
27582     { &hf_gsm_map_ms_vgcsSubscriptionData,
27583       { "vgcsSubscriptionData", "gsm_map.ms.vgcsSubscriptionData",
27584         FT_UINT32, BASE_DEC, NULL, 0,
27585         "VGCSDataList", HFILL }},
27586     { &hf_gsm_map_ms_vlrCamelSubscriptionInfo,
27587       { "vlrCamelSubscriptionInfo", "gsm_map.ms.vlrCamelSubscriptionInfo_element",
27588         FT_NONE, BASE_NONE, NULL, 0,
27589         NULL, HFILL }},
27590     { &hf_gsm_map_ms_BearerServiceList_item,
27591       { "Ext-BearerServiceCode", "gsm_map.ms.Ext_BearerServiceCode",
27592         FT_UINT8, BASE_DEC, VALS(Bearerservice_vals), 0,
27593         NULL, HFILL }},
27594     { &hf_gsm_map_ms_TeleserviceList_item,
27595       { "Ext-TeleserviceCode", "gsm_map.ms.Ext_TeleserviceCode",
27596         FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
27597         NULL, HFILL }},
27598     { &hf_gsm_map_ms_odb_GeneralData,
27599       { "odb-GeneralData", "gsm_map.ms.odb_GeneralData",
27600         FT_BYTES, BASE_NONE, NULL, 0,
27601         NULL, HFILL }},
27602     { &hf_gsm_map_ms_odb_HPLMN_Data,
27603       { "odb-HPLMN-Data", "gsm_map.ms.odb_HPLMN_Data",
27604         FT_BYTES, BASE_NONE, NULL, 0,
27605         NULL, HFILL }},
27606     { &hf_gsm_map_ms_Ext_SS_InfoList_item,
27607       { "Ext-SS-Info", "gsm_map.ms.Ext_SS_Info",
27608         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_Ext_SS_Info_vals), 0,
27609         NULL, HFILL }},
27610     { &hf_gsm_map_ms_forwardingInfo,
27611       { "forwardingInfo", "gsm_map.ms.forwardingInfo_element",
27612         FT_NONE, BASE_NONE, NULL, 0,
27613         "Ext_ForwInfo", HFILL }},
27614     { &hf_gsm_map_ms_callBarringInfo,
27615       { "callBarringInfo", "gsm_map.ms.callBarringInfo_element",
27616         FT_NONE, BASE_NONE, NULL, 0,
27617         "Ext_CallBarInfo", HFILL }},
27618     { &hf_gsm_map_ms_cug_Info,
27619       { "cug-Info", "gsm_map.ms.cug_Info_element",
27620         FT_NONE, BASE_NONE, NULL, 0,
27621         NULL, HFILL }},
27622     { &hf_gsm_map_ms_ss_Data,
27623       { "ss-Data", "gsm_map.ms.ss_Data_element",
27624         FT_NONE, BASE_NONE, NULL, 0,
27625         "Ext_SS_Data", HFILL }},
27626     { &hf_gsm_map_ms_emlpp_Info,
27627       { "emlpp-Info", "gsm_map.ms.emlpp_Info_element",
27628         FT_NONE, BASE_NONE, NULL, 0,
27629         NULL, HFILL }},
27630     { &hf_gsm_map_ms_ss_Code,
27631       { "ss-Code", "gsm_map.ms.ss_Code",
27632         FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
27633         NULL, HFILL }},
27634     { &hf_gsm_map_ms_forwardingFeatureList,
27635       { "forwardingFeatureList", "gsm_map.ms.forwardingFeatureList",
27636         FT_UINT32, BASE_DEC, NULL, 0,
27637         "Ext_ForwFeatureList", HFILL }},
27638     { &hf_gsm_map_ms_Ext_ForwFeatureList_item,
27639       { "Ext-ForwFeature", "gsm_map.ms.Ext_ForwFeature_element",
27640         FT_NONE, BASE_NONE, NULL, 0,
27641         NULL, HFILL }},
27642     { &hf_gsm_map_ms_basicService,
27643       { "basicService", "gsm_map.ms.basicService",
27644         FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
27645         "Ext_BasicServiceCode", HFILL }},
27646     { &hf_gsm_map_ms_ss_Status,
27647       { "ss-Status", "gsm_map.ms.ss_Status",
27648         FT_BYTES, BASE_NONE, NULL, 0,
27649         "Ext_SS_Status", HFILL }},
27650     { &hf_gsm_map_ms_forwardedToNumber,
27651       { "forwardedToNumber", "gsm_map.ms.forwardedToNumber",
27652         FT_BYTES, BASE_NONE, NULL, 0,
27653         "ISDN_AddressString", HFILL }},
27654     { &hf_gsm_map_ms_forwardedToSubaddress,
27655       { "forwardedToSubaddress", "gsm_map.ms.forwardedToSubaddress",
27656         FT_BYTES, BASE_NONE, NULL, 0,
27657         "ISDN_SubaddressString", HFILL }},
27658     { &hf_gsm_map_ms_forwardingOptions,
27659       { "forwardingOptions", "gsm_map.ms.forwardingOptions",
27660         FT_BYTES, BASE_NONE, NULL, 0,
27661         NULL, HFILL }},
27662     { &hf_gsm_map_ms_noReplyConditionTime,
27663       { "noReplyConditionTime", "gsm_map.ms.noReplyConditionTime",
27664         FT_UINT32, BASE_DEC, NULL, 0,
27665         "Ext_NoRepCondTime", HFILL }},
27666     { &hf_gsm_map_ms_longForwardedToNumber,
27667       { "longForwardedToNumber", "gsm_map.ms.longForwardedToNumber",
27668         FT_BYTES, BASE_NONE, NULL, 0,
27669         "FTN_AddressString", HFILL }},
27670     { &hf_gsm_map_ms_callBarringFeatureList,
27671       { "callBarringFeatureList", "gsm_map.ms.callBarringFeatureList",
27672         FT_UINT32, BASE_DEC, NULL, 0,
27673         "Ext_CallBarFeatureList", HFILL }},
27674     { &hf_gsm_map_ms_Ext_CallBarFeatureList_item,
27675       { "Ext-CallBarringFeature", "gsm_map.ms.Ext_CallBarringFeature_element",
27676         FT_NONE, BASE_NONE, NULL, 0,
27677         NULL, HFILL }},
27678     { &hf_gsm_map_ms_cug_SubscriptionList,
27679       { "cug-SubscriptionList", "gsm_map.ms.cug_SubscriptionList",
27680         FT_UINT32, BASE_DEC, NULL, 0,
27681         NULL, HFILL }},
27682     { &hf_gsm_map_ms_cug_FeatureList,
27683       { "cug-FeatureList", "gsm_map.ms.cug_FeatureList",
27684         FT_UINT32, BASE_DEC, NULL, 0,
27685         NULL, HFILL }},
27686     { &hf_gsm_map_ms_CUG_SubscriptionList_item,
27687       { "CUG-Subscription", "gsm_map.ms.CUG_Subscription_element",
27688         FT_NONE, BASE_NONE, NULL, 0,
27689         NULL, HFILL }},
27690     { &hf_gsm_map_ms_cug_Index,
27691       { "cug-Index", "gsm_map.ms.cug_Index",
27692         FT_UINT32, BASE_DEC, NULL, 0,
27693         NULL, HFILL }},
27694     { &hf_gsm_map_ms_cug_Interlock,
27695       { "cug-Interlock", "gsm_map.ms.cug_Interlock",
27696         FT_BYTES, BASE_NONE, NULL, 0,
27697         NULL, HFILL }},
27698     { &hf_gsm_map_ms_intraCUG_Options,
27699       { "intraCUG-Options", "gsm_map.ms.intraCUG_Options",
27700         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_IntraCUG_Options_vals), 0,
27701         NULL, HFILL }},
27702     { &hf_gsm_map_ms_basicServiceGroupList,
27703       { "basicServiceGroupList", "gsm_map.ms.basicServiceGroupList",
27704         FT_UINT32, BASE_DEC, NULL, 0,
27705         "Ext_BasicServiceGroupList", HFILL }},
27706     { &hf_gsm_map_ms_CUG_FeatureList_item,
27707       { "CUG-Feature", "gsm_map.ms.CUG_Feature_element",
27708         FT_NONE, BASE_NONE, NULL, 0,
27709         NULL, HFILL }},
27710     { &hf_gsm_map_ms_Ext_BasicServiceGroupList_item,
27711       { "Ext-BasicServiceCode", "gsm_map.ms.Ext_BasicServiceCode",
27712         FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
27713         NULL, HFILL }},
27714     { &hf_gsm_map_ms_preferentialCUG_Indicator,
27715       { "preferentialCUG-Indicator", "gsm_map.ms.preferentialCUG_Indicator",
27716         FT_UINT32, BASE_DEC, NULL, 0,
27717         "CUG_Index", HFILL }},
27718     { &hf_gsm_map_ms_interCUG_Restrictions,
27719       { "interCUG-Restrictions", "gsm_map.ms.interCUG_Restrictions",
27720         FT_BYTES, BASE_NONE, NULL, 0,
27721         NULL, HFILL }},
27722     { &hf_gsm_map_ms_ss_SubscriptionOption,
27723       { "ss-SubscriptionOption", "gsm_map.ms.ss_SubscriptionOption",
27724         FT_UINT32, BASE_DEC, VALS(gsm_map_ss_SS_SubscriptionOption_vals), 0,
27725         NULL, HFILL }},
27726     { &hf_gsm_map_ms_LCS_PrivacyExceptionList_item,
27727       { "LCS-PrivacyClass", "gsm_map.ms.LCS_PrivacyClass_element",
27728         FT_NONE, BASE_NONE, NULL, 0,
27729         NULL, HFILL }},
27730     { &hf_gsm_map_ms_notificationToMSUser,
27731       { "notificationToMSUser", "gsm_map.ms.notificationToMSUser",
27732         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NotificationToMSUser_vals), 0,
27733         NULL, HFILL }},
27734     { &hf_gsm_map_ms_externalClientList,
27735       { "externalClientList", "gsm_map.ms.externalClientList",
27736         FT_UINT32, BASE_DEC, NULL, 0,
27737         NULL, HFILL }},
27738     { &hf_gsm_map_ms_plmnClientList,
27739       { "plmnClientList", "gsm_map.ms.plmnClientList",
27740         FT_UINT32, BASE_DEC, NULL, 0,
27741         NULL, HFILL }},
27742     { &hf_gsm_map_ms_ext_externalClientList,
27743       { "ext-externalClientList", "gsm_map.ms.ext_externalClientList",
27744         FT_UINT32, BASE_DEC, NULL, 0,
27745         NULL, HFILL }},
27746     { &hf_gsm_map_ms_serviceTypeList,
27747       { "serviceTypeList", "gsm_map.ms.serviceTypeList",
27748         FT_UINT32, BASE_DEC, NULL, 0,
27749         NULL, HFILL }},
27750     { &hf_gsm_map_ms_ExternalClientList_item,
27751       { "ExternalClient", "gsm_map.ms.ExternalClient_element",
27752         FT_NONE, BASE_NONE, NULL, 0,
27753         NULL, HFILL }},
27754     { &hf_gsm_map_ms_PLMNClientList_item,
27755       { "LCSClientInternalID", "gsm_map.ms.LCSClientInternalID",
27756         FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientInternalID_vals), 0,
27757         NULL, HFILL }},
27758     { &hf_gsm_map_ms_Ext_ExternalClientList_item,
27759       { "ExternalClient", "gsm_map.ms.ExternalClient_element",
27760         FT_NONE, BASE_NONE, NULL, 0,
27761         NULL, HFILL }},
27762     { &hf_gsm_map_ms_clientIdentity,
27763       { "clientIdentity", "gsm_map.ms.clientIdentity_element",
27764         FT_NONE, BASE_NONE, NULL, 0,
27765         "LCSClientExternalID", HFILL }},
27766     { &hf_gsm_map_ms_gmlc_Restriction,
27767       { "gmlc-Restriction", "gsm_map.ms.gmlc_Restriction",
27768         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_GMLC_Restriction_vals), 0,
27769         NULL, HFILL }},
27770     { &hf_gsm_map_ms_ServiceTypeList_item,
27771       { "ServiceType", "gsm_map.ms.ServiceType_element",
27772         FT_NONE, BASE_NONE, NULL, 0,
27773         NULL, HFILL }},
27774     { &hf_gsm_map_ms_serviceTypeIdentity,
27775       { "serviceTypeIdentity", "gsm_map.ms.serviceTypeIdentity",
27776         FT_UINT32, BASE_DEC, VALS(gsm_map_LCSServiceTypeID_vals), 0,
27777         "LCSServiceTypeID", HFILL }},
27778     { &hf_gsm_map_ms_MOLR_List_item,
27779       { "MOLR-Class", "gsm_map.ms.MOLR_Class_element",
27780         FT_NONE, BASE_NONE, NULL, 0,
27781         NULL, HFILL }},
27782     { &hf_gsm_map_ms_ZoneCodeList_item,
27783       { "ZoneCode", "gsm_map.ms.ZoneCode",
27784         FT_BYTES, BASE_NONE, NULL, 0,
27785         NULL, HFILL }},
27786     { &hf_gsm_map_ms_ss_List,
27787       { "ss-List", "gsm_map.ms.ss_List",
27788         FT_UINT32, BASE_DEC, NULL, 0,
27789         NULL, HFILL }},
27790     { &hf_gsm_map_ms_regionalSubscriptionResponse,
27791       { "regionalSubscriptionResponse", "gsm_map.ms.regionalSubscriptionResponse",
27792         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_RegionalSubscriptionResponse_vals), 0,
27793         NULL, HFILL }},
27794     { &hf_gsm_map_ms_basicServiceList,
27795       { "basicServiceList", "gsm_map.ms.basicServiceList",
27796         FT_UINT32, BASE_DEC, NULL, 0,
27797         NULL, HFILL }},
27798     { &hf_gsm_map_ms_regionalSubscriptionIdentifier,
27799       { "regionalSubscriptionIdentifier", "gsm_map.ms.regionalSubscriptionIdentifier",
27800         FT_BYTES, BASE_NONE, NULL, 0,
27801         "ZoneCode", HFILL }},
27802     { &hf_gsm_map_ms_vbsGroupIndication,
27803       { "vbsGroupIndication", "gsm_map.ms.vbsGroupIndication_element",
27804         FT_NONE, BASE_NONE, NULL, 0,
27805         NULL, HFILL }},
27806     { &hf_gsm_map_ms_vgcsGroupIndication,
27807       { "vgcsGroupIndication", "gsm_map.ms.vgcsGroupIndication_element",
27808         FT_NONE, BASE_NONE, NULL, 0,
27809         NULL, HFILL }},
27810     { &hf_gsm_map_ms_camelSubscriptionInfoWithdraw,
27811       { "camelSubscriptionInfoWithdraw", "gsm_map.ms.camelSubscriptionInfoWithdraw_element",
27812         FT_NONE, BASE_NONE, NULL, 0,
27813         NULL, HFILL }},
27814     { &hf_gsm_map_ms_gprsSubscriptionDataWithdraw,
27815       { "gprsSubscriptionDataWithdraw", "gsm_map.ms.gprsSubscriptionDataWithdraw",
27816         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_GPRSSubscriptionDataWithdraw_vals), 0,
27817         NULL, HFILL }},
27818     { &hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsuppportedFeature,
27819       { "roamingRestrictedInSgsnDueToUnsuppportedFeature", "gsm_map.ms.roamingRestrictedInSgsnDueToUnsuppportedFeature_element",
27820         FT_NONE, BASE_NONE, NULL, 0,
27821         NULL, HFILL }},
27822     { &hf_gsm_map_ms_lsaInformationWithdraw,
27823       { "lsaInformationWithdraw", "gsm_map.ms.lsaInformationWithdraw",
27824         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_LSAInformationWithdraw_vals), 0,
27825         NULL, HFILL }},
27826     { &hf_gsm_map_ms_gmlc_ListWithdraw,
27827       { "gmlc-ListWithdraw", "gsm_map.ms.gmlc_ListWithdraw_element",
27828         FT_NONE, BASE_NONE, NULL, 0,
27829         NULL, HFILL }},
27830     { &hf_gsm_map_ms_istInformationWithdraw,
27831       { "istInformationWithdraw", "gsm_map.ms.istInformationWithdraw_element",
27832         FT_NONE, BASE_NONE, NULL, 0,
27833         NULL, HFILL }},
27834     { &hf_gsm_map_ms_specificCSI_Withdraw,
27835       { "specificCSI-Withdraw", "gsm_map.ms.specificCSI_Withdraw",
27836         FT_BYTES, BASE_NONE, NULL, 0,
27837         NULL, HFILL }},
27838     { &hf_gsm_map_ms_chargingCharacteristicsWithdraw,
27839       { "chargingCharacteristicsWithdraw", "gsm_map.ms.chargingCharacteristicsWithdraw_element",
27840         FT_NONE, BASE_NONE, NULL, 0,
27841         NULL, HFILL }},
27842     { &hf_gsm_map_ms_stn_srWithdraw,
27843       { "stn-srWithdraw", "gsm_map.ms.stn_srWithdraw_element",
27844         FT_NONE, BASE_NONE, NULL, 0,
27845         NULL, HFILL }},
27846     { &hf_gsm_map_ms_epsSubscriptionDataWithdraw,
27847       { "epsSubscriptionDataWithdraw", "gsm_map.ms.epsSubscriptionDataWithdraw",
27848         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_EPS_SubscriptionDataWithdraw_vals), 0,
27849         "EPS_SubscriptionDataWithdraw", HFILL }},
27850     { &hf_gsm_map_ms_apn_oi_replacementWithdraw,
27851       { "apn-oi-replacementWithdraw", "gsm_map.ms.apn_oi_replacementWithdraw_element",
27852         FT_NONE, BASE_NONE, NULL, 0,
27853         NULL, HFILL }},
27854     { &hf_gsm_map_ms_csg_SubscriptionDeleted,
27855       { "csg-SubscriptionDeleted", "gsm_map.ms.csg_SubscriptionDeleted_element",
27856         FT_NONE, BASE_NONE, NULL, 0,
27857         NULL, HFILL }},
27858     { &hf_gsm_map_ms_subscribedPeriodicTAU_RAU_TimerWithdraw,
27859       { "subscribedPeriodicTAU-RAU-TimerWithdraw", "gsm_map.ms.subscribedPeriodicTAU_RAU_TimerWithdraw_element",
27860         FT_NONE, BASE_NONE, NULL, 0,
27861         NULL, HFILL }},
27862     { &hf_gsm_map_ms_subscribedPeriodicLAU_TimerWithdraw,
27863       { "subscribedPeriodicLAU-TimerWithdraw", "gsm_map.ms.subscribedPeriodicLAU_TimerWithdraw_element",
27864         FT_NONE, BASE_NONE, NULL, 0,
27865         NULL, HFILL }},
27866     { &hf_gsm_map_ms_subscribed_vsrvccWithdraw,
27867       { "subscribed-vsrvccWithdraw", "gsm_map.ms.subscribed_vsrvccWithdraw_element",
27868         FT_NONE, BASE_NONE, NULL, 0,
27869         NULL, HFILL }},
27870     { &hf_gsm_map_ms_vplmn_Csg_SubscriptionDeleted,
27871       { "vplmn-Csg-SubscriptionDeleted", "gsm_map.ms.vplmn_Csg_SubscriptionDeleted_element",
27872         FT_NONE, BASE_NONE, NULL, 0,
27873         NULL, HFILL }},
27874     { &hf_gsm_map_ms_additionalMSISDN_Withdraw,
27875       { "additionalMSISDN-Withdraw", "gsm_map.ms.additionalMSISDN_Withdraw_element",
27876         FT_NONE, BASE_NONE, NULL, 0,
27877         NULL, HFILL }},
27878     { &hf_gsm_map_ms_cs_to_ps_SRVCC_Withdraw,
27879       { "cs-to-ps-SRVCC-Withdraw", "gsm_map.ms.cs_to_ps_SRVCC_Withdraw_element",
27880         FT_NONE, BASE_NONE, NULL, 0,
27881         NULL, HFILL }},
27882     { &hf_gsm_map_ms_imsiGroupIdList_Withdraw,
27883       { "imsiGroupIdList-Withdraw", "gsm_map.ms.imsiGroupIdList_Withdraw_element",
27884         FT_NONE, BASE_NONE, NULL, 0,
27885         NULL, HFILL }},
27886     { &hf_gsm_map_ms_userPlaneIntegrityProtectionWithdraw,
27887       { "userPlaneIntegrityProtectionWithdraw", "gsm_map.ms.userPlaneIntegrityProtectionWithdraw_element",
27888         FT_NONE, BASE_NONE, NULL, 0,
27889         NULL, HFILL }},
27890     { &hf_gsm_map_ms_dl_Buffering_Suggested_Packet_Count_Withdraw,
27891       { "dl-Buffering-Suggested-Packet-Count-Withdraw", "gsm_map.ms.dl_Buffering_Suggested_Packet_Count_Withdraw_element",
27892         FT_NONE, BASE_NONE, NULL, 0,
27893         NULL, HFILL }},
27894     { &hf_gsm_map_ms_ue_UsageTypeWithdraw,
27895       { "ue-UsageTypeWithdraw", "gsm_map.ms.ue_UsageTypeWithdraw_element",
27896         FT_NONE, BASE_NONE, NULL, 0,
27897         NULL, HFILL }},
27898     { &hf_gsm_map_ms_reset_idsWithdraw,
27899       { "reset-idsWithdraw", "gsm_map.ms.reset_idsWithdraw_element",
27900         FT_NONE, BASE_NONE, NULL, 0,
27901         NULL, HFILL }},
27902     { &hf_gsm_map_ms_iab_OperationWithdraw,
27903       { "iab-OperationWithdraw", "gsm_map.ms.iab_OperationWithdraw_element",
27904         FT_NONE, BASE_NONE, NULL, 0,
27905         NULL, HFILL }},
27906     { &hf_gsm_map_ms_allGPRSData,
27907       { "allGPRSData", "gsm_map.ms.allGPRSData_element",
27908         FT_NONE, BASE_NONE, NULL, 0,
27909         NULL, HFILL }},
27910     { &hf_gsm_map_ms_contextIdList,
27911       { "contextIdList", "gsm_map.ms.contextIdList",
27912         FT_UINT32, BASE_DEC, NULL, 0,
27913         NULL, HFILL }},
27914     { &hf_gsm_map_ms_allEPS_Data,
27915       { "allEPS-Data", "gsm_map.ms.allEPS_Data_element",
27916         FT_NONE, BASE_NONE, NULL, 0,
27917         NULL, HFILL }},
27918     { &hf_gsm_map_ms_ContextIdList_item,
27919       { "ContextId", "gsm_map.ms.ContextId",
27920         FT_UINT32, BASE_DEC, NULL, 0,
27921         NULL, HFILL }},
27922     { &hf_gsm_map_ms_allLSAData,
27923       { "allLSAData", "gsm_map.ms.allLSAData_element",
27924         FT_NONE, BASE_NONE, NULL, 0,
27925         NULL, HFILL }},
27926     { &hf_gsm_map_ms_lsaIdentityList,
27927       { "lsaIdentityList", "gsm_map.ms.lsaIdentityList",
27928         FT_UINT32, BASE_DEC, NULL, 0,
27929         NULL, HFILL }},
27930     { &hf_gsm_map_ms_LSAIdentityList_item,
27931       { "LSAIdentity", "gsm_map.ms.LSAIdentity",
27932         FT_BYTES, BASE_NONE, NULL, 0,
27933         NULL, HFILL }},
27934     { &hf_gsm_map_ms_BasicServiceList_item,
27935       { "Ext-BasicServiceCode", "gsm_map.ms.Ext_BasicServiceCode",
27936         FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
27937         NULL, HFILL }},
27938     { &hf_gsm_map_ms_o_CSI,
27939       { "o-CSI", "gsm_map.ms.o_CSI_element",
27940         FT_NONE, BASE_NONE, NULL, 0,
27941         NULL, HFILL }},
27942     { &hf_gsm_map_ms_ss_CSI,
27943       { "ss-CSI", "gsm_map.ms.ss_CSI_element",
27944         FT_NONE, BASE_NONE, NULL, 0,
27945         NULL, HFILL }},
27946     { &hf_gsm_map_ms_o_BcsmCamelTDP_CriteriaList,
27947       { "o-BcsmCamelTDP-CriteriaList", "gsm_map.ms.o_BcsmCamelTDP_CriteriaList",
27948         FT_UINT32, BASE_DEC, NULL, 0,
27949         "O_BcsmCamelTDPCriteriaList", HFILL }},
27950     { &hf_gsm_map_ms_tif_CSI,
27951       { "tif-CSI", "gsm_map.ms.tif_CSI_element",
27952         FT_NONE, BASE_NONE, NULL, 0,
27953         NULL, HFILL }},
27954     { &hf_gsm_map_ms_m_CSI,
27955       { "m-CSI", "gsm_map.ms.m_CSI_element",
27956         FT_NONE, BASE_NONE, NULL, 0,
27957         NULL, HFILL }},
27958     { &hf_gsm_map_ms_vt_CSI,
27959       { "vt-CSI", "gsm_map.ms.vt_CSI_element",
27960         FT_NONE, BASE_NONE, NULL, 0,
27961         "T_CSI", HFILL }},
27962     { &hf_gsm_map_ms_t_BCSM_CAMEL_TDP_CriteriaList,
27963       { "t-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.ms.t_BCSM_CAMEL_TDP_CriteriaList",
27964         FT_UINT32, BASE_DEC, NULL, 0,
27965         NULL, HFILL }},
27966     { &hf_gsm_map_ms_d_CSI,
27967       { "d-CSI", "gsm_map.ms.d_CSI_element",
27968         FT_NONE, BASE_NONE, NULL, 0,
27969         NULL, HFILL }},
27970     { &hf_gsm_map_ms_MT_smsCAMELTDP_CriteriaList_item,
27971       { "MT-smsCAMELTDP-Criteria", "gsm_map.ms.MT_smsCAMELTDP_Criteria_element",
27972         FT_NONE, BASE_NONE, NULL, 0,
27973         NULL, HFILL }},
27974     { &hf_gsm_map_ms_sms_TriggerDetectionPoint,
27975       { "sms-TriggerDetectionPoint", "gsm_map.ms.sms_TriggerDetectionPoint",
27976         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SMS_TriggerDetectionPoint_vals), 0,
27977         NULL, HFILL }},
27978     { &hf_gsm_map_ms_tpdu_TypeCriterion,
27979       { "tpdu-TypeCriterion", "gsm_map.ms.tpdu_TypeCriterion",
27980         FT_UINT32, BASE_DEC, NULL, 0,
27981         NULL, HFILL }},
27982     { &hf_gsm_map_ms_TPDU_TypeCriterion_item,
27983       { "MT-SMS-TPDU-Type", "gsm_map.ms.MT_SMS_TPDU_Type",
27984         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_MT_SMS_TPDU_Type_vals), 0,
27985         NULL, HFILL }},
27986     { &hf_gsm_map_ms_dp_AnalysedInfoCriteriaList,
27987       { "dp-AnalysedInfoCriteriaList", "gsm_map.ms.dp_AnalysedInfoCriteriaList",
27988         FT_UINT32, BASE_DEC, NULL, 0,
27989         NULL, HFILL }},
27990     { &hf_gsm_map_ms_DP_AnalysedInfoCriteriaList_item,
27991       { "DP-AnalysedInfoCriterium", "gsm_map.ms.DP_AnalysedInfoCriterium_element",
27992         FT_NONE, BASE_NONE, NULL, 0,
27993         NULL, HFILL }},
27994     { &hf_gsm_map_ms_dialledNumber,
27995       { "dialledNumber", "gsm_map.ms.dialledNumber",
27996         FT_BYTES, BASE_NONE, NULL, 0,
27997         "ISDN_AddressString", HFILL }},
27998     { &hf_gsm_map_ms_defaultCallHandling,
27999       { "defaultCallHandling", "gsm_map.ms.defaultCallHandling",
28000         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_DefaultCallHandling_vals), 0,
28001         NULL, HFILL }},
28002     { &hf_gsm_map_ms_ss_CamelData,
28003       { "ss-CamelData", "gsm_map.ms.ss_CamelData_element",
28004         FT_NONE, BASE_NONE, NULL, 0,
28005         NULL, HFILL }},
28006     { &hf_gsm_map_ms_ss_EventList,
28007       { "ss-EventList", "gsm_map.ms.ss_EventList",
28008         FT_UINT32, BASE_DEC, NULL, 0,
28009         NULL, HFILL }},
28010     { &hf_gsm_map_ms_SS_EventList_item,
28011       { "SS-Code", "gsm_map.ms.SS_Code",
28012         FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
28013         NULL, HFILL }},
28014     { &hf_gsm_map_ms_o_BcsmCamelTDPDataList,
28015       { "o-BcsmCamelTDPDataList", "gsm_map.ms.o_BcsmCamelTDPDataList",
28016         FT_UINT32, BASE_DEC, NULL, 0,
28017         NULL, HFILL }},
28018     { &hf_gsm_map_ms_csiActive,
28019       { "csiActive", "gsm_map.ms.csiActive_element",
28020         FT_NONE, BASE_NONE, NULL, 0,
28021         NULL, HFILL }},
28022     { &hf_gsm_map_ms_O_BcsmCamelTDPDataList_item,
28023       { "O-BcsmCamelTDPData", "gsm_map.ms.O_BcsmCamelTDPData_element",
28024         FT_NONE, BASE_NONE, NULL, 0,
28025         NULL, HFILL }},
28026     { &hf_gsm_map_ms_o_BcsmTriggerDetectionPoint,
28027       { "o-BcsmTriggerDetectionPoint", "gsm_map.ms.o_BcsmTriggerDetectionPoint",
28028         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_O_BcsmTriggerDetectionPoint_vals), 0,
28029         NULL, HFILL }},
28030     { &hf_gsm_map_ms_O_BcsmCamelTDPCriteriaList_item,
28031       { "O-BcsmCamelTDP-Criteria", "gsm_map.ms.O_BcsmCamelTDP_Criteria_element",
28032         FT_NONE, BASE_NONE, NULL, 0,
28033         NULL, HFILL }},
28034     { &hf_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList_item,
28035       { "T-BCSM-CAMEL-TDP-Criteria", "gsm_map.ms.T_BCSM_CAMEL_TDP_Criteria_element",
28036         FT_NONE, BASE_NONE, NULL, 0,
28037         NULL, HFILL }},
28038     { &hf_gsm_map_ms_destinationNumberCriteria,
28039       { "destinationNumberCriteria", "gsm_map.ms.destinationNumberCriteria_element",
28040         FT_NONE, BASE_NONE, NULL, 0,
28041         NULL, HFILL }},
28042     { &hf_gsm_map_ms_basicServiceCriteria,
28043       { "basicServiceCriteria", "gsm_map.ms.basicServiceCriteria",
28044         FT_UINT32, BASE_DEC, NULL, 0,
28045         NULL, HFILL }},
28046     { &hf_gsm_map_ms_callTypeCriteria,
28047       { "callTypeCriteria", "gsm_map.ms.callTypeCriteria",
28048         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_CallTypeCriteria_vals), 0,
28049         NULL, HFILL }},
28050     { &hf_gsm_map_ms_o_CauseValueCriteria,
28051       { "o-CauseValueCriteria", "gsm_map.ms.o_CauseValueCriteria",
28052         FT_UINT32, BASE_DEC, NULL, 0,
28053         NULL, HFILL }},
28054     { &hf_gsm_map_ms_t_BCSM_TriggerDetectionPoint,
28055       { "t-BCSM-TriggerDetectionPoint", "gsm_map.ms.t_BCSM_TriggerDetectionPoint",
28056         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_T_BcsmTriggerDetectionPoint_vals), 0,
28057         "T_BcsmTriggerDetectionPoint", HFILL }},
28058     { &hf_gsm_map_ms_t_CauseValueCriteria,
28059       { "t-CauseValueCriteria", "gsm_map.ms.t_CauseValueCriteria",
28060         FT_UINT32, BASE_DEC, NULL, 0,
28061         NULL, HFILL }},
28062     { &hf_gsm_map_ms_matchType,
28063       { "matchType", "gsm_map.ms.matchType",
28064         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_MatchType_vals), 0,
28065         NULL, HFILL }},
28066     { &hf_gsm_map_ms_destinationNumberList,
28067       { "destinationNumberList", "gsm_map.ms.destinationNumberList",
28068         FT_UINT32, BASE_DEC, NULL, 0,
28069         NULL, HFILL }},
28070     { &hf_gsm_map_ms_destinationNumberLengthList,
28071       { "destinationNumberLengthList", "gsm_map.ms.destinationNumberLengthList",
28072         FT_UINT32, BASE_DEC, NULL, 0,
28073         NULL, HFILL }},
28074     { &hf_gsm_map_ms_DestinationNumberList_item,
28075       { "ISDN-AddressString", "gsm_map.ms.ISDN_AddressString",
28076         FT_BYTES, BASE_NONE, NULL, 0,
28077         NULL, HFILL }},
28078     { &hf_gsm_map_ms_DestinationNumberLengthList_item,
28079       { "DestinationNumberLengthList item", "gsm_map.ms.DestinationNumberLengthList_item",
28080         FT_UINT32, BASE_DEC, NULL, 0,
28081         "INTEGER_1_maxNumOfISDN_AddressDigits", HFILL }},
28082     { &hf_gsm_map_ms_BasicServiceCriteria_item,
28083       { "Ext-BasicServiceCode", "gsm_map.ms.Ext_BasicServiceCode",
28084         FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
28085         NULL, HFILL }},
28086     { &hf_gsm_map_ms_O_CauseValueCriteria_item,
28087       { "CauseValue", "gsm_map.ms.CauseValue",
28088         FT_BYTES, BASE_NONE, NULL, 0,
28089         NULL, HFILL }},
28090     { &hf_gsm_map_ms_T_CauseValueCriteria_item,
28091       { "CauseValue", "gsm_map.ms.CauseValue",
28092         FT_BYTES, BASE_NONE, NULL, 0,
28093         NULL, HFILL }},
28094     { &hf_gsm_map_ms_sms_CAMEL_TDP_DataList,
28095       { "sms-CAMEL-TDP-DataList", "gsm_map.ms.sms_CAMEL_TDP_DataList",
28096         FT_UINT32, BASE_DEC, NULL, 0,
28097         NULL, HFILL }},
28098     { &hf_gsm_map_ms_SMS_CAMEL_TDP_DataList_item,
28099       { "SMS-CAMEL-TDP-Data", "gsm_map.ms.SMS_CAMEL_TDP_Data_element",
28100         FT_NONE, BASE_NONE, NULL, 0,
28101         NULL, HFILL }},
28102     { &hf_gsm_map_ms_defaultSMS_Handling,
28103       { "defaultSMS-Handling", "gsm_map.ms.defaultSMS_Handling",
28104         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_DefaultSMS_Handling_vals), 0,
28105         NULL, HFILL }},
28106     { &hf_gsm_map_ms_mobilityTriggers,
28107       { "mobilityTriggers", "gsm_map.ms.mobilityTriggers",
28108         FT_UINT32, BASE_DEC, NULL, 0,
28109         NULL, HFILL }},
28110     { &hf_gsm_map_ms_MobilityTriggers_item,
28111       { "MM-Code", "gsm_map.ms.MM_Code",
28112         FT_BYTES, BASE_NONE, NULL, 0,
28113         NULL, HFILL }},
28114     { &hf_gsm_map_ms_t_BcsmCamelTDPDataList,
28115       { "t-BcsmCamelTDPDataList", "gsm_map.ms.t_BcsmCamelTDPDataList",
28116         FT_UINT32, BASE_DEC, NULL, 0,
28117         NULL, HFILL }},
28118     { &hf_gsm_map_ms_T_BcsmCamelTDPDataList_item,
28119       { "T-BcsmCamelTDPData", "gsm_map.ms.T_BcsmCamelTDPData_element",
28120         FT_NONE, BASE_NONE, NULL, 0,
28121         NULL, HFILL }},
28122     { &hf_gsm_map_ms_t_BcsmTriggerDetectionPoint,
28123       { "t-BcsmTriggerDetectionPoint", "gsm_map.ms.t_BcsmTriggerDetectionPoint",
28124         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_T_BcsmTriggerDetectionPoint_vals), 0,
28125         NULL, HFILL }},
28126     { &hf_gsm_map_ms_ggsn_Address,
28127       { "ggsn-Address", "gsm_map.ms.ggsn_Address",
28128         FT_BYTES, BASE_NONE, NULL, 0,
28129         "GSN_Address", HFILL }},
28130     { &hf_gsm_map_ms_ggsn_Number,
28131       { "ggsn-Number", "gsm_map.ms.ggsn_Number",
28132         FT_BYTES, BASE_NONE, NULL, 0,
28133         "ISDN_AddressString", HFILL }},
28134     { &hf_gsm_map_ms_mobileNotReachableReason,
28135       { "mobileNotReachableReason", "gsm_map.ms.mobileNotReachableReason",
28136         FT_UINT32, BASE_DEC, NULL, 0,
28137         "AbsentSubscriberDiagnosticSM", HFILL }},
28138     { &hf_gsm_map_ms_sendingNodenumber,
28139       { "sendingNodenumber", "gsm_map.ms.sendingNodenumber",
28140         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SendingNode_Number_vals), 0,
28141         "SendingNode_Number", HFILL }},
28142     { &hf_gsm_map_ms_hlr_List,
28143       { "hlr-List", "gsm_map.ms.hlr_List",
28144         FT_UINT32, BASE_DEC, NULL, 0,
28145         NULL, HFILL }},
28146     { &hf_gsm_map_ms_reset_Id_List,
28147       { "reset-Id-List", "gsm_map.ms.reset_Id_List",
28148         FT_UINT32, BASE_DEC, NULL, 0,
28149         NULL, HFILL }},
28150     { &hf_gsm_map_ms_subscriptionData,
28151       { "subscriptionData", "gsm_map.ms.subscriptionData_element",
28152         FT_NONE, BASE_NONE, NULL, 0,
28153         "InsertSubscriberDataArg", HFILL }},
28154     { &hf_gsm_map_ms_subscriptionDataDeletion,
28155       { "subscriptionDataDeletion", "gsm_map.ms.subscriptionDataDeletion_element",
28156         FT_NONE, BASE_NONE, NULL, 0,
28157         "DeleteSubscriberDataArg", HFILL }},
28158     { &hf_gsm_map_ms_css_Number,
28159       { "css-Number", "gsm_map.ms.css_Number",
28160         FT_BYTES, BASE_NONE, NULL, 0,
28161         "ISDN_AddressString", HFILL }},
28162     { &hf_gsm_map_ms_msNotReachable,
28163       { "msNotReachable", "gsm_map.ms.msNotReachable_element",
28164         FT_NONE, BASE_NONE, NULL, 0,
28165         NULL, HFILL }},
28166     { &hf_gsm_map_ms_VBSDataList_item,
28167       { "VoiceBroadcastData", "gsm_map.ms.VoiceBroadcastData_element",
28168         FT_NONE, BASE_NONE, NULL, 0,
28169         NULL, HFILL }},
28170     { &hf_gsm_map_ms_VGCSDataList_item,
28171       { "VoiceGroupCallData", "gsm_map.ms.VoiceGroupCallData_element",
28172         FT_NONE, BASE_NONE, NULL, 0,
28173         NULL, HFILL }},
28174     { &hf_gsm_map_ms_groupId,
28175       { "groupId", "gsm_map.ms.groupId",
28176         FT_BYTES, BASE_NONE, NULL, 0,
28177         NULL, HFILL }},
28178     { &hf_gsm_map_ms_additionalSubscriptions,
28179       { "additionalSubscriptions", "gsm_map.ms.additionalSubscriptions",
28180         FT_BYTES, BASE_NONE, NULL, 0,
28181         NULL, HFILL }},
28182     { &hf_gsm_map_ms_additionalInfo,
28183       { "additionalInfo", "gsm_map.ms.additionalInfo",
28184         FT_BYTES, BASE_NONE, NULL, 0,
28185         NULL, HFILL }},
28186     { &hf_gsm_map_ms_longGroupId,
28187       { "longGroupId", "gsm_map.ms.longGroupId",
28188         FT_BYTES, BASE_NONE, NULL, 0,
28189         "Long_GroupId", HFILL }},
28190     { &hf_gsm_map_ms_groupid,
28191       { "groupid", "gsm_map.ms.groupid",
28192         FT_BYTES, BASE_NONE, NULL, 0,
28193         NULL, HFILL }},
28194     { &hf_gsm_map_ms_broadcastInitEntitlement,
28195       { "broadcastInitEntitlement", "gsm_map.ms.broadcastInitEntitlement_element",
28196         FT_NONE, BASE_NONE, NULL, 0,
28197         NULL, HFILL }},
28198     { &hf_gsm_map_ms_requestedInfo,
28199       { "requestedInfo", "gsm_map.ms.requestedInfo_element",
28200         FT_NONE, BASE_NONE, NULL, 0,
28201         NULL, HFILL }},
28202     { &hf_gsm_map_ms_callPriority,
28203       { "callPriority", "gsm_map.ms.callPriority",
28204         FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0,
28205         "EMLPP_Priority", HFILL }},
28206     { &hf_gsm_map_ms_subscriberInfo,
28207       { "subscriberInfo", "gsm_map.ms.subscriberInfo_element",
28208         FT_NONE, BASE_NONE, NULL, 0,
28209         NULL, HFILL }},
28210     { &hf_gsm_map_ms_subscriberState,
28211       { "subscriberState", "gsm_map.ms.subscriberState",
28212         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_SubscriberState_vals), 0,
28213         NULL, HFILL }},
28214     { &hf_gsm_map_ms_ps_SubscriberState,
28215       { "ps-SubscriberState", "gsm_map.ms.ps_SubscriberState",
28216         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_PS_SubscriberState_vals), 0,
28217         NULL, HFILL }},
28218     { &hf_gsm_map_ms_ms_Classmark2,
28219       { "ms-Classmark2", "gsm_map.ms.ms_Classmark2",
28220         FT_BYTES, BASE_NONE, NULL, 0,
28221         NULL, HFILL }},
28222     { &hf_gsm_map_ms_gprs_MS_Class,
28223       { "gprs-MS-Class", "gsm_map.ms.gprs_MS_Class_element",
28224         FT_NONE, BASE_NONE, NULL, 0,
28225         "GPRSMSClass", HFILL }},
28226     { &hf_gsm_map_ms_mnpInfoRes,
28227       { "mnpInfoRes", "gsm_map.ms.mnpInfoRes_element",
28228         FT_NONE, BASE_NONE, NULL, 0,
28229         NULL, HFILL }},
28230     { &hf_gsm_map_ms_imsVoiceOverPS_SessionsIndication,
28231       { "imsVoiceOverPS-SessionsIndication", "gsm_map.ms.imsVoiceOverPS_SessionsIndication",
28232         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_IMS_VoiceOverPS_SessionsInd_vals), 0,
28233         "IMS_VoiceOverPS_SessionsInd", HFILL }},
28234     { &hf_gsm_map_ms_lastUE_ActivityTime,
28235       { "lastUE-ActivityTime", "gsm_map.ms.lastUE_ActivityTime",
28236         FT_BYTES, BASE_NONE, NULL, 0,
28237         "Time", HFILL }},
28238     { &hf_gsm_map_ms_lastRAT_Type,
28239       { "lastRAT-Type", "gsm_map.ms.lastRAT_Type",
28240         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_Used_RAT_Type_vals), 0,
28241         "Used_RAT_Type", HFILL }},
28242     { &hf_gsm_map_ms_eps_SubscriberState,
28243       { "eps-SubscriberState", "gsm_map.ms.eps_SubscriberState",
28244         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_PS_SubscriberState_vals), 0,
28245         "PS_SubscriberState", HFILL }},
28246     { &hf_gsm_map_ms_timeZone,
28247       { "timeZone", "gsm_map.ms.timeZone",
28248         FT_BYTES, BASE_NONE, NULL, 0,
28249         NULL, HFILL }},
28250     { &hf_gsm_map_ms_daylightSavingTime,
28251       { "daylightSavingTime", "gsm_map.ms.daylightSavingTime",
28252         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_DaylightSavingTime_vals), 0,
28253         NULL, HFILL }},
28254     { &hf_gsm_map_ms_locationInformation5GS,
28255       { "locationInformation5GS", "gsm_map.ms.locationInformation5GS_element",
28256         FT_NONE, BASE_NONE, NULL, 0,
28257         NULL, HFILL }},
28258     { &hf_gsm_map_ms_routeingNumber,
28259       { "routeingNumber", "gsm_map.ms.routeingNumber",
28260         FT_BYTES, BASE_NONE, NULL, 0,
28261         NULL, HFILL }},
28262     { &hf_gsm_map_ms_numberPortabilityStatus,
28263       { "numberPortabilityStatus", "gsm_map.ms.numberPortabilityStatus",
28264         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NumberPortabilityStatus_vals), 0,
28265         NULL, HFILL }},
28266     { &hf_gsm_map_ms_mSNetworkCapability,
28267       { "mSNetworkCapability", "gsm_map.ms.mSNetworkCapability",
28268         FT_BYTES, BASE_NONE, NULL, 0,
28269         NULL, HFILL }},
28270     { &hf_gsm_map_ms_mSRadioAccessCapability,
28271       { "mSRadioAccessCapability", "gsm_map.ms.mSRadioAccessCapability",
28272         FT_BYTES, BASE_NONE, NULL, 0,
28273         NULL, HFILL }},
28274     { &hf_gsm_map_ms_locationInformation_01,
28275       { "locationInformation", "gsm_map.ms.locationInformation_element",
28276         FT_NONE, BASE_NONE, NULL, 0,
28277         NULL, HFILL }},
28278     { &hf_gsm_map_ms_subscriberState_01,
28279       { "subscriberState", "gsm_map.ms.subscriberState_element",
28280         FT_NONE, BASE_NONE, NULL, 0,
28281         NULL, HFILL }},
28282     { &hf_gsm_map_ms_currentLocation,
28283       { "currentLocation", "gsm_map.ms.currentLocation_element",
28284         FT_NONE, BASE_NONE, NULL, 0,
28285         NULL, HFILL }},
28286     { &hf_gsm_map_ms_requestedDomain,
28287       { "requestedDomain", "gsm_map.ms.requestedDomain",
28288         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_DomainType_vals), 0,
28289         "DomainType", HFILL }},
28290     { &hf_gsm_map_ms_imei_01,
28291       { "imei", "gsm_map.ms.imei_null_element",
28292         FT_NONE, BASE_NONE, NULL, 0,
28293         NULL, HFILL }},
28294     { &hf_gsm_map_ms_ms_classmark,
28295       { "ms-classmark", "gsm_map.ms.ms_classmark_element",
28296         FT_NONE, BASE_NONE, NULL, 0,
28297         NULL, HFILL }},
28298     { &hf_gsm_map_ms_mnpRequestedInfo,
28299       { "mnpRequestedInfo", "gsm_map.ms.mnpRequestedInfo_element",
28300         FT_NONE, BASE_NONE, NULL, 0,
28301         NULL, HFILL }},
28302     { &hf_gsm_map_ms_locationInformationEPS_Supported,
28303       { "locationInformationEPS-Supported", "gsm_map.ms.locationInformationEPS_Supported_element",
28304         FT_NONE, BASE_NONE, NULL, 0,
28305         NULL, HFILL }},
28306     { &hf_gsm_map_ms_t_adsData,
28307       { "t-adsData", "gsm_map.ms.t_adsData_element",
28308         FT_NONE, BASE_NONE, NULL, 0,
28309         NULL, HFILL }},
28310     { &hf_gsm_map_ms_requestedNodes,
28311       { "requestedNodes", "gsm_map.ms.requestedNodes",
28312         FT_BYTES, BASE_NONE, NULL, 0,
28313         NULL, HFILL }},
28314     { &hf_gsm_map_ms_servingNodeIndication,
28315       { "servingNodeIndication", "gsm_map.ms.servingNodeIndication_element",
28316         FT_NONE, BASE_NONE, NULL, 0,
28317         NULL, HFILL }},
28318     { &hf_gsm_map_ms_localTimeZoneRequest,
28319       { "localTimeZoneRequest", "gsm_map.ms.localTimeZoneRequest_element",
28320         FT_NONE, BASE_NONE, NULL, 0,
28321         NULL, HFILL }},
28322     { &hf_gsm_map_ms_ageOfLocationInformation,
28323       { "ageOfLocationInformation", "gsm_map.ms.ageOfLocationInformation",
28324         FT_UINT32, BASE_DEC, NULL, 0,
28325         NULL, HFILL }},
28326     { &hf_gsm_map_ms_geographicalInformation,
28327       { "geographicalInformation", "gsm_map.ms.geographicalInformation",
28328         FT_BYTES, BASE_NONE, NULL, 0,
28329         NULL, HFILL }},
28330     { &hf_gsm_map_ms_vlr_number,
28331       { "vlr-number", "gsm_map.ms.vlr_number",
28332         FT_BYTES, BASE_NONE, NULL, 0,
28333         "ISDN_AddressString", HFILL }},
28334     { &hf_gsm_map_ms_locationNumber,
28335       { "locationNumber", "gsm_map.ms.locationNumber",
28336         FT_BYTES, BASE_NONE, NULL, 0,
28337         NULL, HFILL }},
28338     { &hf_gsm_map_ms_cellGlobalIdOrServiceAreaIdOrLAI,
28339       { "cellGlobalIdOrServiceAreaIdOrLAI", "gsm_map.ms.cellGlobalIdOrServiceAreaIdOrLAI",
28340         FT_UINT32, BASE_DEC, VALS(gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals), 0,
28341         NULL, HFILL }},
28342     { &hf_gsm_map_ms_selectedLSA_Id,
28343       { "selectedLSA-Id", "gsm_map.ms.selectedLSA_Id",
28344         FT_BYTES, BASE_NONE, NULL, 0,
28345         "LSAIdentity", HFILL }},
28346     { &hf_gsm_map_ms_geodeticInformation,
28347       { "geodeticInformation", "gsm_map.ms.geodeticInformation",
28348         FT_BYTES, BASE_NONE, NULL, 0,
28349         NULL, HFILL }},
28350     { &hf_gsm_map_ms_currentLocationRetrieved,
28351       { "currentLocationRetrieved", "gsm_map.ms.currentLocationRetrieved_element",
28352         FT_NONE, BASE_NONE, NULL, 0,
28353         NULL, HFILL }},
28354     { &hf_gsm_map_ms_sai_Present,
28355       { "sai-Present", "gsm_map.ms.sai_Present_element",
28356         FT_NONE, BASE_NONE, NULL, 0,
28357         NULL, HFILL }},
28358     { &hf_gsm_map_ms_userCSGInformation,
28359       { "userCSGInformation", "gsm_map.ms.userCSGInformation_element",
28360         FT_NONE, BASE_NONE, NULL, 0,
28361         NULL, HFILL }},
28362     { &hf_gsm_map_ms_e_utranCellGlobalIdentity,
28363       { "e-utranCellGlobalIdentity", "gsm_map.ms.e_utranCellGlobalIdentity",
28364         FT_BYTES, BASE_NONE, NULL, 0,
28365         "E_UTRAN_CGI", HFILL }},
28366     { &hf_gsm_map_ms_trackingAreaIdentity,
28367       { "trackingAreaIdentity", "gsm_map.ms.trackingAreaIdentity",
28368         FT_BYTES, BASE_NONE, NULL, 0,
28369         "TA_Id", HFILL }},
28370     { &hf_gsm_map_ms_mme_Name,
28371       { "mme-Name", "gsm_map.ms.mme_Name",
28372         FT_STRING, STR_ASCII, NULL, 0,
28373         "DiameterIdentity", HFILL }},
28374     { &hf_gsm_map_ms_routeingAreaIdentity,
28375       { "routeingAreaIdentity", "gsm_map.ms.routeingAreaIdentity",
28376         FT_BYTES, BASE_NONE, NULL, 0,
28377         "RAIdentity", HFILL }},
28378     { &hf_gsm_map_ms_selectedLSAIdentity,
28379       { "selectedLSAIdentity", "gsm_map.ms.selectedLSAIdentity",
28380         FT_BYTES, BASE_NONE, NULL, 0,
28381         "LSAIdentity", HFILL }},
28382     { &hf_gsm_map_ms_nrCellGlobalIdentity,
28383       { "nrCellGlobalIdentity", "gsm_map.ms.nrCellGlobalIdentity",
28384         FT_BYTES, BASE_NONE, NULL, 0,
28385         "NR_CGI", HFILL }},
28386     { &hf_gsm_map_ms_amf_address,
28387       { "amf-address", "gsm_map.ms.amf_address",
28388         FT_BYTES, BASE_NONE, NULL, 0,
28389         "FQDN", HFILL }},
28390     { &hf_gsm_map_ms_vplmnId,
28391       { "vplmnId", "gsm_map.ms.vplmnId",
28392         FT_BYTES, BASE_NONE, NULL, 0,
28393         "PLMN_Id", HFILL }},
28394     { &hf_gsm_map_ms_localtimeZone,
28395       { "localtimeZone", "gsm_map.ms.localtimeZone",
28396         FT_BYTES, BASE_NONE, NULL, 0,
28397         "TimeZone", HFILL }},
28398     { &hf_gsm_map_ms_nrTrackingAreaIdentity,
28399       { "nrTrackingAreaIdentity", "gsm_map.ms.nrTrackingAreaIdentity",
28400         FT_BYTES, BASE_NONE, NULL, 0,
28401         "NR_TA_Id", HFILL }},
28402     { &hf_gsm_map_ms_accessMode,
28403       { "accessMode", "gsm_map.ms.accessMode",
28404         FT_BYTES, BASE_NONE, NULL, 0,
28405         "OCTET_STRING_SIZE_1", HFILL }},
28406     { &hf_gsm_map_ms_cmi,
28407       { "cmi", "gsm_map.ms.cmi",
28408         FT_BYTES, BASE_NONE, NULL, 0,
28409         "OCTET_STRING_SIZE_1", HFILL }},
28410     { &hf_gsm_map_ms_assumedIdle,
28411       { "assumedIdle", "gsm_map.ms.assumedIdle_element",
28412         FT_NONE, BASE_NONE, NULL, 0,
28413         NULL, HFILL }},
28414     { &hf_gsm_map_ms_camelBusy,
28415       { "camelBusy", "gsm_map.ms.camelBusy_element",
28416         FT_NONE, BASE_NONE, NULL, 0,
28417         NULL, HFILL }},
28418     { &hf_gsm_map_ms_netDetNotReachable,
28419       { "netDetNotReachable", "gsm_map.ms.netDetNotReachable",
28420         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NotReachableReason_vals), 0,
28421         "NotReachableReason", HFILL }},
28422     { &hf_gsm_map_ms_notProvidedFromVLR,
28423       { "notProvidedFromVLR", "gsm_map.ms.notProvidedFromVLR_element",
28424         FT_NONE, BASE_NONE, NULL, 0,
28425         NULL, HFILL }},
28426     { &hf_gsm_map_ms_notProvidedFromSGSNorMME,
28427       { "notProvidedFromSGSNorMME", "gsm_map.ms.notProvidedFromSGSNorMME_element",
28428         FT_NONE, BASE_NONE, NULL, 0,
28429         NULL, HFILL }},
28430     { &hf_gsm_map_ms_ps_Detached,
28431       { "ps-Detached", "gsm_map.ms.ps_Detached_element",
28432         FT_NONE, BASE_NONE, NULL, 0,
28433         NULL, HFILL }},
28434     { &hf_gsm_map_ms_ps_AttachedNotReachableForPaging,
28435       { "ps-AttachedNotReachableForPaging", "gsm_map.ms.ps_AttachedNotReachableForPaging_element",
28436         FT_NONE, BASE_NONE, NULL, 0,
28437         NULL, HFILL }},
28438     { &hf_gsm_map_ms_ps_AttachedReachableForPaging,
28439       { "ps-AttachedReachableForPaging", "gsm_map.ms.ps_AttachedReachableForPaging_element",
28440         FT_NONE, BASE_NONE, NULL, 0,
28441         NULL, HFILL }},
28442     { &hf_gsm_map_ms_ps_PDP_ActiveNotReachableForPaging,
28443       { "ps-PDP-ActiveNotReachableForPaging", "gsm_map.ms.ps_PDP_ActiveNotReachableForPaging",
28444         FT_UINT32, BASE_DEC, NULL, 0,
28445         "PDP_ContextInfoList", HFILL }},
28446     { &hf_gsm_map_ms_ps_PDP_ActiveReachableForPaging,
28447       { "ps-PDP-ActiveReachableForPaging", "gsm_map.ms.ps_PDP_ActiveReachableForPaging",
28448         FT_UINT32, BASE_DEC, NULL, 0,
28449         "PDP_ContextInfoList", HFILL }},
28450     { &hf_gsm_map_ms_PDP_ContextInfoList_item,
28451       { "PDP-ContextInfo", "gsm_map.ms.PDP_ContextInfo_element",
28452         FT_NONE, BASE_NONE, NULL, 0,
28453         NULL, HFILL }},
28454     { &hf_gsm_map_ms_pdp_ContextIdentifier,
28455       { "pdp-ContextIdentifier", "gsm_map.ms.pdp_ContextIdentifier",
28456         FT_UINT32, BASE_DEC, NULL, 0,
28457         "ContextId", HFILL }},
28458     { &hf_gsm_map_ms_pdp_ContextActive,
28459       { "pdp-ContextActive", "gsm_map.ms.pdp_ContextActive_element",
28460         FT_NONE, BASE_NONE, NULL, 0,
28461         NULL, HFILL }},
28462     { &hf_gsm_map_ms_apn_Subscribed,
28463       { "apn-Subscribed", "gsm_map.ms.apn_Subscribed",
28464         FT_BYTES, BASE_NONE, NULL, 0,
28465         "APN", HFILL }},
28466     { &hf_gsm_map_ms_apn_InUse,
28467       { "apn-InUse", "gsm_map.ms.apn_InUse",
28468         FT_BYTES, BASE_NONE, NULL, 0,
28469         "APN", HFILL }},
28470     { &hf_gsm_map_ms_nsapi,
28471       { "nsapi", "gsm_map.ms.nsapi",
28472         FT_UINT32, BASE_DEC, NULL, 0,
28473         NULL, HFILL }},
28474     { &hf_gsm_map_ms_transactionId,
28475       { "transactionId", "gsm_map.ms.transactionId",
28476         FT_BYTES, BASE_NONE, NULL, 0,
28477         NULL, HFILL }},
28478     { &hf_gsm_map_ms_teid_ForGnAndGp,
28479       { "teid-ForGnAndGp", "gsm_map.ms.teid_ForGnAndGp",
28480         FT_BYTES, BASE_NONE, NULL, 0,
28481         "TEID", HFILL }},
28482     { &hf_gsm_map_ms_teid_ForIu,
28483       { "teid-ForIu", "gsm_map.ms.teid_ForIu",
28484         FT_BYTES, BASE_NONE, NULL, 0,
28485         "TEID", HFILL }},
28486     { &hf_gsm_map_ms_qos_Subscribed_01,
28487       { "qos-Subscribed", "gsm_map.ms.qos_Subscribed",
28488         FT_BYTES, BASE_NONE, NULL, 0,
28489         "Ext_QoS_Subscribed", HFILL }},
28490     { &hf_gsm_map_ms_qos_Requested,
28491       { "qos-Requested", "gsm_map.ms.qos_Requested",
28492         FT_BYTES, BASE_NONE, NULL, 0,
28493         "Ext_QoS_Subscribed", HFILL }},
28494     { &hf_gsm_map_ms_qos_Negotiated,
28495       { "qos-Negotiated", "gsm_map.ms.qos_Negotiated",
28496         FT_BYTES, BASE_NONE, NULL, 0,
28497         "Ext_QoS_Subscribed", HFILL }},
28498     { &hf_gsm_map_ms_chargingId,
28499       { "chargingId", "gsm_map.ms.chargingId",
28500         FT_BYTES, BASE_NONE, NULL, 0,
28501         "GPRSChargingID", HFILL }},
28502     { &hf_gsm_map_ms_rnc_Address,
28503       { "rnc-Address", "gsm_map.ms.rnc_Address",
28504         FT_BYTES, BASE_NONE, NULL, 0,
28505         "GSN_Address", HFILL }},
28506     { &hf_gsm_map_ms_qos2_Subscribed,
28507       { "qos2-Subscribed", "gsm_map.ms.qos2_Subscribed",
28508         FT_BYTES, BASE_NONE, NULL, 0,
28509         "Ext2_QoS_Subscribed", HFILL }},
28510     { &hf_gsm_map_ms_qos2_Requested,
28511       { "qos2-Requested", "gsm_map.ms.qos2_Requested",
28512         FT_BYTES, BASE_NONE, NULL, 0,
28513         "Ext2_QoS_Subscribed", HFILL }},
28514     { &hf_gsm_map_ms_qos2_Negotiated,
28515       { "qos2-Negotiated", "gsm_map.ms.qos2_Negotiated",
28516         FT_BYTES, BASE_NONE, NULL, 0,
28517         "Ext2_QoS_Subscribed", HFILL }},
28518     { &hf_gsm_map_ms_qos3_Subscribed,
28519       { "qos3-Subscribed", "gsm_map.ms.qos3_Subscribed",
28520         FT_BYTES, BASE_NONE, NULL, 0,
28521         "Ext3_QoS_Subscribed", HFILL }},
28522     { &hf_gsm_map_ms_qos3_Requested,
28523       { "qos3-Requested", "gsm_map.ms.qos3_Requested",
28524         FT_BYTES, BASE_NONE, NULL, 0,
28525         "Ext3_QoS_Subscribed", HFILL }},
28526     { &hf_gsm_map_ms_qos3_Negotiated,
28527       { "qos3-Negotiated", "gsm_map.ms.qos3_Negotiated",
28528         FT_BYTES, BASE_NONE, NULL, 0,
28529         "Ext3_QoS_Subscribed", HFILL }},
28530     { &hf_gsm_map_ms_qos4_Subscribed,
28531       { "qos4-Subscribed", "gsm_map.ms.qos4_Subscribed",
28532         FT_BYTES, BASE_NONE, NULL, 0,
28533         "Ext4_QoS_Subscribed", HFILL }},
28534     { &hf_gsm_map_ms_qos4_Requested,
28535       { "qos4-Requested", "gsm_map.ms.qos4_Requested",
28536         FT_BYTES, BASE_NONE, NULL, 0,
28537         "Ext4_QoS_Subscribed", HFILL }},
28538     { &hf_gsm_map_ms_qos4_Negotiated,
28539       { "qos4-Negotiated", "gsm_map.ms.qos4_Negotiated",
28540         FT_BYTES, BASE_NONE, NULL, 0,
28541         "Ext4_QoS_Subscribed", HFILL }},
28542     { &hf_gsm_map_ms_subscriberIdentity,
28543       { "subscriberIdentity", "gsm_map.ms.subscriberIdentity",
28544         FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberIdentity_vals), 0,
28545         NULL, HFILL }},
28546     { &hf_gsm_map_ms_requestedSubscriptionInfo,
28547       { "requestedSubscriptionInfo", "gsm_map.ms.requestedSubscriptionInfo_element",
28548         FT_NONE, BASE_NONE, NULL, 0,
28549         NULL, HFILL }},
28550     { &hf_gsm_map_ms_callForwardingData,
28551       { "callForwardingData", "gsm_map.ms.callForwardingData_element",
28552         FT_NONE, BASE_NONE, NULL, 0,
28553         NULL, HFILL }},
28554     { &hf_gsm_map_ms_callBarringData,
28555       { "callBarringData", "gsm_map.ms.callBarringData_element",
28556         FT_NONE, BASE_NONE, NULL, 0,
28557         NULL, HFILL }},
28558     { &hf_gsm_map_ms_odb_Info,
28559       { "odb-Info", "gsm_map.ms.odb_Info_element",
28560         FT_NONE, BASE_NONE, NULL, 0,
28561         NULL, HFILL }},
28562     { &hf_gsm_map_ms_camel_SubscriptionInfo,
28563       { "camel-SubscriptionInfo", "gsm_map.ms.camel_SubscriptionInfo_element",
28564         FT_NONE, BASE_NONE, NULL, 0,
28565         NULL, HFILL }},
28566     { &hf_gsm_map_ms_supportedVLR_CAMEL_Phases,
28567       { "supportedVLR-CAMEL-Phases", "gsm_map.ms.supportedVLR_CAMEL_Phases",
28568         FT_BYTES, BASE_NONE, NULL, 0,
28569         "SupportedCamelPhases", HFILL }},
28570     { &hf_gsm_map_ms_supportedSGSN_CAMEL_Phases,
28571       { "supportedSGSN-CAMEL-Phases", "gsm_map.ms.supportedSGSN_CAMEL_Phases",
28572         FT_BYTES, BASE_NONE, NULL, 0,
28573         "SupportedCamelPhases", HFILL }},
28574     { &hf_gsm_map_ms_offeredCamel4CSIsInVLR,
28575       { "offeredCamel4CSIsInVLR", "gsm_map.ms.offeredCamel4CSIsInVLR",
28576         FT_BYTES, BASE_NONE, NULL, 0,
28577         "OfferedCamel4CSIs", HFILL }},
28578     { &hf_gsm_map_ms_offeredCamel4CSIsInSGSN,
28579       { "offeredCamel4CSIsInSGSN", "gsm_map.ms.offeredCamel4CSIsInSGSN",
28580         FT_BYTES, BASE_NONE, NULL, 0,
28581         "OfferedCamel4CSIs", HFILL }},
28582     { &hf_gsm_map_ms_msisdn_BS_List,
28583       { "msisdn-BS-List", "gsm_map.ms.msisdn_BS_List",
28584         FT_UINT32, BASE_DEC, NULL, 0,
28585         NULL, HFILL }},
28586     { &hf_gsm_map_ms_cw_Data,
28587       { "cw-Data", "gsm_map.ms.cw_Data_element",
28588         FT_NONE, BASE_NONE, NULL, 0,
28589         "CallWaitingData", HFILL }},
28590     { &hf_gsm_map_ms_ch_Data,
28591       { "ch-Data", "gsm_map.ms.ch_Data_element",
28592         FT_NONE, BASE_NONE, NULL, 0,
28593         "CallHoldData", HFILL }},
28594     { &hf_gsm_map_ms_clip_Data,
28595       { "clip-Data", "gsm_map.ms.clip_Data_element",
28596         FT_NONE, BASE_NONE, NULL, 0,
28597         "ClipData", HFILL }},
28598     { &hf_gsm_map_ms_clir_Data,
28599       { "clir-Data", "gsm_map.ms.clir_Data_element",
28600         FT_NONE, BASE_NONE, NULL, 0,
28601         "ClirData", HFILL }},
28602     { &hf_gsm_map_ms_ect_data,
28603       { "ect-data", "gsm_map.ms.ect_data_element",
28604         FT_NONE, BASE_NONE, NULL, 0,
28605         "EctData", HFILL }},
28606     { &hf_gsm_map_ms_cwFeatureList,
28607       { "cwFeatureList", "gsm_map.ms.cwFeatureList",
28608         FT_UINT32, BASE_DEC, NULL, 0,
28609         "Ext_CwFeatureList", HFILL }},
28610     { &hf_gsm_map_ms_Ext_CwFeatureList_item,
28611       { "Ext-CwFeature", "gsm_map.ms.Ext_CwFeature_element",
28612         FT_NONE, BASE_NONE, NULL, 0,
28613         NULL, HFILL }},
28614     { &hf_gsm_map_ms_overrideCategory,
28615       { "overrideCategory", "gsm_map.ms.overrideCategory",
28616         FT_UINT32, BASE_DEC, VALS(gsm_map_ss_OverrideCategory_vals), 0,
28617         NULL, HFILL }},
28618     { &hf_gsm_map_ms_cliRestrictionOption,
28619       { "cliRestrictionOption", "gsm_map.ms.cliRestrictionOption",
28620         FT_UINT32, BASE_DEC, VALS(gsm_map_ss_CliRestrictionOption_vals), 0,
28621         NULL, HFILL }},
28622     { &hf_gsm_map_ms_requestedSS_Info,
28623       { "requestedSS-Info", "gsm_map.ms.requestedSS_Info_element",
28624         FT_NONE, BASE_NONE, NULL, 0,
28625         "SS_ForBS_Code", HFILL }},
28626     { &hf_gsm_map_ms_odb,
28627       { "odb", "gsm_map.ms.odb_element",
28628         FT_NONE, BASE_NONE, NULL, 0,
28629         NULL, HFILL }},
28630     { &hf_gsm_map_ms_requestedCAMEL_SubscriptionInfo,
28631       { "requestedCAMEL-SubscriptionInfo", "gsm_map.ms.requestedCAMEL_SubscriptionInfo",
28632         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_RequestedCAMEL_SubscriptionInfo_vals), 0,
28633         NULL, HFILL }},
28634     { &hf_gsm_map_ms_supportedVLR_CAMEL_Phases_01,
28635       { "supportedVLR-CAMEL-Phases", "gsm_map.ms.supportedVLR_CAMEL_Phases_element",
28636         FT_NONE, BASE_NONE, NULL, 0,
28637         NULL, HFILL }},
28638     { &hf_gsm_map_ms_supportedSGSN_CAMEL_Phases_01,
28639       { "supportedSGSN-CAMEL-Phases", "gsm_map.ms.supportedSGSN_CAMEL_Phases_element",
28640         FT_NONE, BASE_NONE, NULL, 0,
28641         NULL, HFILL }},
28642     { &hf_gsm_map_ms_additionalRequestedCAMEL_SubscriptionInfo,
28643       { "additionalRequestedCAMEL-SubscriptionInfo", "gsm_map.ms.additionalRequestedCAMEL_SubscriptionInfo",
28644         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_AdditionalRequestedCAMEL_SubscriptionInfo_vals), 0,
28645         NULL, HFILL }},
28646     { &hf_gsm_map_ms_msisdn_BS_List_01,
28647       { "msisdn-BS-List", "gsm_map.ms.msisdn_BS_List_element",
28648         FT_NONE, BASE_NONE, NULL, 0,
28649         NULL, HFILL }},
28650     { &hf_gsm_map_ms_csg_SubscriptionDataRequested,
28651       { "csg-SubscriptionDataRequested", "gsm_map.ms.csg_SubscriptionDataRequested_element",
28652         FT_NONE, BASE_NONE, NULL, 0,
28653         NULL, HFILL }},
28654     { &hf_gsm_map_ms_cw_Info,
28655       { "cw-Info", "gsm_map.ms.cw_Info_element",
28656         FT_NONE, BASE_NONE, NULL, 0,
28657         NULL, HFILL }},
28658     { &hf_gsm_map_ms_clip_Info,
28659       { "clip-Info", "gsm_map.ms.clip_Info_element",
28660         FT_NONE, BASE_NONE, NULL, 0,
28661         NULL, HFILL }},
28662     { &hf_gsm_map_ms_clir_Info,
28663       { "clir-Info", "gsm_map.ms.clir_Info_element",
28664         FT_NONE, BASE_NONE, NULL, 0,
28665         NULL, HFILL }},
28666     { &hf_gsm_map_ms_hold_Info,
28667       { "hold-Info", "gsm_map.ms.hold_Info_element",
28668         FT_NONE, BASE_NONE, NULL, 0,
28669         NULL, HFILL }},
28670     { &hf_gsm_map_ms_ect_Info,
28671       { "ect-Info", "gsm_map.ms.ect_Info_element",
28672         FT_NONE, BASE_NONE, NULL, 0,
28673         NULL, HFILL }},
28674     { &hf_gsm_map_ms_MSISDN_BS_List_item,
28675       { "MSISDN-BS", "gsm_map.ms.MSISDN_BS_element",
28676         FT_NONE, BASE_NONE, NULL, 0,
28677         NULL, HFILL }},
28678     { &hf_gsm_map_ms_password,
28679       { "password", "gsm_map.ms.password",
28680         FT_STRING, BASE_NONE, NULL, 0,
28681         NULL, HFILL }},
28682     { &hf_gsm_map_ms_wrongPasswordAttemptsCounter,
28683       { "wrongPasswordAttemptsCounter", "gsm_map.ms.wrongPasswordAttemptsCounter",
28684         FT_UINT32, BASE_DEC, NULL, 0,
28685         NULL, HFILL }},
28686     { &hf_gsm_map_ms_t_CSI,
28687       { "t-CSI", "gsm_map.ms.t_CSI_element",
28688         FT_NONE, BASE_NONE, NULL, 0,
28689         NULL, HFILL }},
28690     { &hf_gsm_map_ms_vt_BCSM_CAMEL_TDP_CriteriaList,
28691       { "vt-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.ms.vt_BCSM_CAMEL_TDP_CriteriaList",
28692         FT_UINT32, BASE_DEC, NULL, 0,
28693         "T_BCSM_CAMEL_TDP_CriteriaList", HFILL }},
28694     { &hf_gsm_map_ms_tif_CSI_NotificationToCSE,
28695       { "tif-CSI-NotificationToCSE", "gsm_map.ms.tif_CSI_NotificationToCSE_element",
28696         FT_NONE, BASE_NONE, NULL, 0,
28697         NULL, HFILL }},
28698     { &hf_gsm_map_ms_specificCSIDeletedList,
28699       { "specificCSIDeletedList", "gsm_map.ms.specificCSIDeletedList",
28700         FT_BYTES, BASE_NONE, NULL, 0,
28701         "SpecificCSI_Withdraw", HFILL }},
28702     { &hf_gsm_map_ms_o_IM_CSI,
28703       { "o-IM-CSI", "gsm_map.ms.o_IM_CSI_element",
28704         FT_NONE, BASE_NONE, NULL, 0,
28705         "O_CSI", HFILL }},
28706     { &hf_gsm_map_ms_o_IM_BcsmCamelTDP_CriteriaList,
28707       { "o-IM-BcsmCamelTDP-CriteriaList", "gsm_map.ms.o_IM_BcsmCamelTDP_CriteriaList",
28708         FT_UINT32, BASE_DEC, NULL, 0,
28709         "O_BcsmCamelTDPCriteriaList", HFILL }},
28710     { &hf_gsm_map_ms_d_IM_CSI,
28711       { "d-IM-CSI", "gsm_map.ms.d_IM_CSI_element",
28712         FT_NONE, BASE_NONE, NULL, 0,
28713         "D_CSI", HFILL }},
28714     { &hf_gsm_map_ms_vt_IM_CSI,
28715       { "vt-IM-CSI", "gsm_map.ms.vt_IM_CSI_element",
28716         FT_NONE, BASE_NONE, NULL, 0,
28717         "T_CSI", HFILL }},
28718     { &hf_gsm_map_ms_vt_IM_BCSM_CAMEL_TDP_CriteriaList,
28719       { "vt-IM-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.ms.vt_IM_BCSM_CAMEL_TDP_CriteriaList",
28720         FT_UINT32, BASE_DEC, NULL, 0,
28721         "T_BCSM_CAMEL_TDP_CriteriaList", HFILL }},
28722     { &hf_gsm_map_ms_modificationRequestFor_CF_Info,
28723       { "modificationRequestFor-CF-Info", "gsm_map.ms.modificationRequestFor_CF_Info_element",
28724         FT_NONE, BASE_NONE, NULL, 0,
28725         NULL, HFILL }},
28726     { &hf_gsm_map_ms_modificationRequestFor_CB_Info,
28727       { "modificationRequestFor-CB-Info", "gsm_map.ms.modificationRequestFor_CB_Info_element",
28728         FT_NONE, BASE_NONE, NULL, 0,
28729         NULL, HFILL }},
28730     { &hf_gsm_map_ms_modificationRequestFor_CSI,
28731       { "modificationRequestFor-CSI", "gsm_map.ms.modificationRequestFor_CSI_element",
28732         FT_NONE, BASE_NONE, NULL, 0,
28733         NULL, HFILL }},
28734     { &hf_gsm_map_ms_modificationRequestFor_ODB_data,
28735       { "modificationRequestFor-ODB-data", "gsm_map.ms.modificationRequestFor_ODB_data_element",
28736         FT_NONE, BASE_NONE, NULL, 0,
28737         NULL, HFILL }},
28738     { &hf_gsm_map_ms_modificationRequestFor_IP_SM_GW_Data,
28739       { "modificationRequestFor-IP-SM-GW-Data", "gsm_map.ms.modificationRequestFor_IP_SM_GW_Data_element",
28740         FT_NONE, BASE_NONE, NULL, 0,
28741         NULL, HFILL }},
28742     { &hf_gsm_map_ms_activationRequestForUE_reachability,
28743       { "activationRequestForUE-reachability", "gsm_map.ms.activationRequestForUE_reachability",
28744         FT_BYTES, BASE_NONE, NULL, 0,
28745         "RequestedServingNode", HFILL }},
28746     { &hf_gsm_map_ms_modificationRequestFor_CSG,
28747       { "modificationRequestFor-CSG", "gsm_map.ms.modificationRequestFor_CSG_element",
28748         FT_NONE, BASE_NONE, NULL, 0,
28749         NULL, HFILL }},
28750     { &hf_gsm_map_ms_modificationRequestFor_CW_Data,
28751       { "modificationRequestFor-CW-Data", "gsm_map.ms.modificationRequestFor_CW_Data_element",
28752         FT_NONE, BASE_NONE, NULL, 0,
28753         "ModificationRequestFor_CW_Info", HFILL }},
28754     { &hf_gsm_map_ms_modificationRequestFor_CLIP_Data,
28755       { "modificationRequestFor-CLIP-Data", "gsm_map.ms.modificationRequestFor_CLIP_Data_element",
28756         FT_NONE, BASE_NONE, NULL, 0,
28757         "ModificationRequestFor_CLIP_Info", HFILL }},
28758     { &hf_gsm_map_ms_modificationRequestFor_CLIR_Data,
28759       { "modificationRequestFor-CLIR-Data", "gsm_map.ms.modificationRequestFor_CLIR_Data_element",
28760         FT_NONE, BASE_NONE, NULL, 0,
28761         "ModificationRequestFor_CLIR_Info", HFILL }},
28762     { &hf_gsm_map_ms_modificationRequestFor_HOLD_Data,
28763       { "modificationRequestFor-HOLD-Data", "gsm_map.ms.modificationRequestFor_HOLD_Data_element",
28764         FT_NONE, BASE_NONE, NULL, 0,
28765         "ModificationRequestFor_CH_Info", HFILL }},
28766     { &hf_gsm_map_ms_modificationRequestFor_ECT_Data,
28767       { "modificationRequestFor-ECT-Data", "gsm_map.ms.modificationRequestFor_ECT_Data_element",
28768         FT_NONE, BASE_NONE, NULL, 0,
28769         "ModificationRequestFor_ECT_Info", HFILL }},
28770     { &hf_gsm_map_ms_modifyNotificationToCSE,
28771       { "modifyNotificationToCSE", "gsm_map.ms.modifyNotificationToCSE",
28772         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_ModificationInstruction_vals), 0,
28773         "ModificationInstruction", HFILL }},
28774     { &hf_gsm_map_ms_ss_InfoFor_CSE,
28775       { "ss-InfoFor-CSE", "gsm_map.ms.ss_InfoFor_CSE",
28776         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_Ext_SS_InfoFor_CSE_vals), 0,
28777         "Ext_SS_InfoFor_CSE", HFILL }},
28778     { &hf_gsm_map_ms_serviceCentreAddress,
28779       { "serviceCentreAddress", "gsm_map.ms.serviceCentreAddress",
28780         FT_BYTES, BASE_NONE, NULL, 0,
28781         "AddressString", HFILL }},
28782     { &hf_gsm_map_ms_forwardedToNumber_01,
28783       { "forwardedToNumber", "gsm_map.ms.forwardedToNumber",
28784         FT_BYTES, BASE_NONE, NULL, 0,
28785         "AddressString", HFILL }},
28786     { &hf_gsm_map_ms_odb_data,
28787       { "odb-data", "gsm_map.ms.odb_data_element",
28788         FT_NONE, BASE_NONE, NULL, 0,
28789         NULL, HFILL }},
28790     { &hf_gsm_map_ms_requestedCamel_SubscriptionInfo,
28791       { "requestedCamel-SubscriptionInfo", "gsm_map.ms.requestedCamel_SubscriptionInfo",
28792         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_RequestedCAMEL_SubscriptionInfo_vals), 0,
28793         NULL, HFILL }},
28794     { &hf_gsm_map_ms_modifyCSI_State,
28795       { "modifyCSI-State", "gsm_map.ms.modifyCSI_State",
28796         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_ModificationInstruction_vals), 0,
28797         "ModificationInstruction", HFILL }},
28798     { &hf_gsm_map_ms_modifyRegistrationStatus,
28799       { "modifyRegistrationStatus", "gsm_map.ms.modifyRegistrationStatus",
28800         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_ModificationInstruction_vals), 0,
28801         "ModificationInstruction", HFILL }},
28802     { &hf_gsm_map_ms_ip_sm_gw_DiameterAddress,
28803       { "ip-sm-gw-DiameterAddress", "gsm_map.ms.ip_sm_gw_DiameterAddress_element",
28804         FT_NONE, BASE_NONE, NULL, 0,
28805         "NetworkNodeDiameterAddress", HFILL }},
28806     { &hf_gsm_map_ms_forwardingInfoFor_CSE,
28807       { "forwardingInfoFor-CSE", "gsm_map.ms.forwardingInfoFor_CSE_element",
28808         FT_NONE, BASE_NONE, NULL, 0,
28809         "Ext_ForwardingInfoFor_CSE", HFILL }},
28810     { &hf_gsm_map_ms_callBarringInfoFor_CSE,
28811       { "callBarringInfoFor-CSE", "gsm_map.ms.callBarringInfoFor_CSE_element",
28812         FT_NONE, BASE_NONE, NULL, 0,
28813         "Ext_CallBarringInfoFor_CSE", HFILL }},
28814     { &hf_gsm_map_ms_allInformationSent,
28815       { "allInformationSent", "gsm_map.ms.allInformationSent_element",
28816         FT_NONE, BASE_NONE, NULL, 0,
28817         NULL, HFILL }},
28818     { &hf_gsm_map_ms_ue_reachable,
28819       { "ue-reachable", "gsm_map.ms.ue_reachable",
28820         FT_BYTES, BASE_NONE, NULL, 0,
28821         "ServingNode", HFILL }},
28822     { &hf_gsm_map_ms_eventMet,
28823       { "eventMet", "gsm_map.ms.eventMet",
28824         FT_BYTES, BASE_NONE, NULL, 0,
28825         "MM_Code", HFILL }},
28826     { &hf_gsm_map_ms_supportedCAMELPhases,
28827       { "supportedCAMELPhases", "gsm_map.ms.supportedCAMELPhases",
28828         FT_BYTES, BASE_NONE, NULL, 0,
28829         NULL, HFILL }},
28830     { &hf_gsm_map_ms_offeredCamel4Functionalities,
28831       { "offeredCamel4Functionalities", "gsm_map.ms.offeredCamel4Functionalities",
28832         FT_BYTES, BASE_NONE, NULL, 0,
28833         NULL, HFILL }},
28834     { &hf_gsm_map_ms_temporaryEmptySubscriptiondataIndicator,
28835       { "temporaryEmptySubscriptiondataIndicator", "gsm_map.ms.temporaryEmptySubscriptiondataIndicator_element",
28836         FT_NONE, BASE_NONE, NULL, 0,
28837         NULL, HFILL }},
28838     { &hf_gsm_map_ms_naea_PreferredCI,
28839       { "naea-PreferredCI", "gsm_map.ms.naea_PreferredCI_element",
28840         FT_NONE, BASE_NONE, NULL, 0,
28841         NULL, HFILL }},
28842     { &hf_gsm_map_ms_gprsSubscriptionData,
28843       { "gprsSubscriptionData", "gsm_map.ms.gprsSubscriptionData_element",
28844         FT_NONE, BASE_NONE, NULL, 0,
28845         NULL, HFILL }},
28846     { &hf_gsm_map_ms_roamingRestrictedInSgsnDueToUnsupportedFeature,
28847       { "roamingRestrictedInSgsnDueToUnsupportedFeature", "gsm_map.ms.roamingRestrictedInSgsnDueToUnsupportedFeature_element",
28848         FT_NONE, BASE_NONE, NULL, 0,
28849         NULL, HFILL }},
28850     { &hf_gsm_map_ms_networkAccessMode,
28851       { "networkAccessMode", "gsm_map.ms.networkAccessMode",
28852         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NetworkAccessMode_vals), 0,
28853         NULL, HFILL }},
28854     { &hf_gsm_map_ms_lsaInformation,
28855       { "lsaInformation", "gsm_map.ms.lsaInformation_element",
28856         FT_NONE, BASE_NONE, NULL, 0,
28857         NULL, HFILL }},
28858     { &hf_gsm_map_ms_lmu_Indicator,
28859       { "lmu-Indicator", "gsm_map.ms.lmu_Indicator_element",
28860         FT_NONE, BASE_NONE, NULL, 0,
28861         NULL, HFILL }},
28862     { &hf_gsm_map_ms_lcsInformation,
28863       { "lcsInformation", "gsm_map.ms.lcsInformation_element",
28864         FT_NONE, BASE_NONE, NULL, 0,
28865         NULL, HFILL }},
28866     { &hf_gsm_map_ms_istAlertTimer,
28867       { "istAlertTimer", "gsm_map.ms.istAlertTimer",
28868         FT_UINT32, BASE_DEC, NULL, 0,
28869         "IST_AlertTimerValue", HFILL }},
28870     { &hf_gsm_map_ms_superChargerSupportedInHLR,
28871       { "superChargerSupportedInHLR", "gsm_map.ms.superChargerSupportedInHLR",
28872         FT_BYTES, BASE_NONE, NULL, 0,
28873         "AgeIndicator", HFILL }},
28874     { &hf_gsm_map_ms_mc_SS_Info,
28875       { "mc-SS-Info", "gsm_map.ms.mc_SS_Info_element",
28876         FT_NONE, BASE_NONE, NULL, 0,
28877         NULL, HFILL }},
28878     { &hf_gsm_map_ms_cs_AllocationRetentionPriority,
28879       { "cs-AllocationRetentionPriority", "gsm_map.ms.cs_AllocationRetentionPriority",
28880         FT_BYTES, BASE_NONE, NULL, 0,
28881         NULL, HFILL }},
28882     { &hf_gsm_map_ms_sgsn_CAMEL_SubscriptionInfo,
28883       { "sgsn-CAMEL-SubscriptionInfo", "gsm_map.ms.sgsn_CAMEL_SubscriptionInfo_element",
28884         FT_NONE, BASE_NONE, NULL, 0,
28885         NULL, HFILL }},
28886     { &hf_gsm_map_ms_ics_Indicator,
28887       { "ics-Indicator", "gsm_map.ms.ics_Indicator",
28888         FT_BOOLEAN, BASE_NONE, NULL, 0,
28889         "BOOLEAN", HFILL }},
28890     { &hf_gsm_map_ms_eps_SubscriptionData,
28891       { "eps-SubscriptionData", "gsm_map.ms.eps_SubscriptionData_element",
28892         FT_NONE, BASE_NONE, NULL, 0,
28893         NULL, HFILL }},
28894     { &hf_gsm_map_ms_ue_ReachabilityRequestIndicator,
28895       { "ue-ReachabilityRequestIndicator", "gsm_map.ms.ue_ReachabilityRequestIndicator_element",
28896         FT_NONE, BASE_NONE, NULL, 0,
28897         NULL, HFILL }},
28898     { &hf_gsm_map_ms_subscribedPeriodicRAUTAUtimer,
28899       { "subscribedPeriodicRAUTAUtimer", "gsm_map.ms.subscribedPeriodicRAUTAUtimer",
28900         FT_UINT32, BASE_DEC, NULL, 0,
28901         NULL, HFILL }},
28902     { &hf_gsm_map_ms_vplmnLIPAAllowed,
28903       { "vplmnLIPAAllowed", "gsm_map.ms.vplmnLIPAAllowed_element",
28904         FT_NONE, BASE_NONE, NULL, 0,
28905         NULL, HFILL }},
28906     { &hf_gsm_map_ms_mdtUserConsent,
28907       { "mdtUserConsent", "gsm_map.ms.mdtUserConsent",
28908         FT_BOOLEAN, BASE_NONE, NULL, 0,
28909         "BOOLEAN", HFILL }},
28910     { &hf_gsm_map_ms_subscribedPeriodicLAUtimer,
28911       { "subscribedPeriodicLAUtimer", "gsm_map.ms.subscribedPeriodicLAUtimer",
28912         FT_UINT32, BASE_DEC, NULL, 0,
28913         NULL, HFILL }},
28914     { &hf_gsm_map_ms_vplmn_Csg_SubscriptionDataList,
28915       { "vplmn-Csg-SubscriptionDataList", "gsm_map.ms.vplmn_Csg_SubscriptionDataList",
28916         FT_UINT32, BASE_DEC, NULL, 0,
28917         NULL, HFILL }},
28918     { &hf_gsm_map_ms_additionalMSISDN,
28919       { "additionalMSISDN", "gsm_map.ms.additionalMSISDN",
28920         FT_BYTES, BASE_NONE, NULL, 0,
28921         "ISDN_AddressString", HFILL }},
28922     { &hf_gsm_map_ms_psAndSMS_OnlyServiceProvision,
28923       { "psAndSMS-OnlyServiceProvision", "gsm_map.ms.psAndSMS_OnlyServiceProvision_element",
28924         FT_NONE, BASE_NONE, NULL, 0,
28925         NULL, HFILL }},
28926     { &hf_gsm_map_ms_smsInSGSNAllowed,
28927       { "smsInSGSNAllowed", "gsm_map.ms.smsInSGSNAllowed_element",
28928         FT_NONE, BASE_NONE, NULL, 0,
28929         NULL, HFILL }},
28930     { &hf_gsm_map_ms_cs_to_ps_SRVCC_Allowed_Indicator,
28931       { "cs-to-ps-SRVCC-Allowed-Indicator", "gsm_map.ms.cs_to_ps_SRVCC_Allowed_Indicator_element",
28932         FT_NONE, BASE_NONE, NULL, 0,
28933         NULL, HFILL }},
28934     { &hf_gsm_map_ms_pcscf_Restoration_Request,
28935       { "pcscf-Restoration-Request", "gsm_map.ms.pcscf_Restoration_Request_element",
28936         FT_NONE, BASE_NONE, NULL, 0,
28937         NULL, HFILL }},
28938     { &hf_gsm_map_ms_adjacentAccessRestrictionDataList,
28939       { "adjacentAccessRestrictionDataList", "gsm_map.ms.adjacentAccessRestrictionDataList",
28940         FT_UINT32, BASE_DEC, NULL, 0,
28941         NULL, HFILL }},
28942     { &hf_gsm_map_ms_imsi_Group_Id_List,
28943       { "imsi-Group-Id-List", "gsm_map.ms.imsi_Group_Id_List",
28944         FT_UINT32, BASE_DEC, NULL, 0,
28945         "IMSI_GroupIdList", HFILL }},
28946     { &hf_gsm_map_ms_userPlaneIntegrityProtectionIndicator,
28947       { "userPlaneIntegrityProtectionIndicator", "gsm_map.ms.userPlaneIntegrityProtectionIndicator_element",
28948         FT_NONE, BASE_NONE, NULL, 0,
28949         NULL, HFILL }},
28950     { &hf_gsm_map_ms_dl_Buffering_Suggested_Packet_Count,
28951       { "dl-Buffering-Suggested-Packet-Count", "gsm_map.ms.dl_Buffering_Suggested_Packet_Count",
28952         FT_INT32, BASE_DEC, NULL, 0,
28953         NULL, HFILL }},
28954     { &hf_gsm_map_ms_eDRX_Cycle_Length_List,
28955       { "eDRX-Cycle-Length-List", "gsm_map.ms.eDRX_Cycle_Length_List",
28956         FT_UINT32, BASE_DEC, NULL, 0,
28957         NULL, HFILL }},
28958     { &hf_gsm_map_ms_iab_Operation_Allowed_Indicator,
28959       { "iab-Operation-Allowed-Indicator", "gsm_map.ms.iab_Operation_Allowed_Indicator_element",
28960         FT_NONE, BASE_NONE, NULL, 0,
28961         NULL, HFILL }},
28962     { &hf_gsm_map_ms_SupportedRAT_Types_utran,
28963       { "utran", "gsm.map.ms.SupportedRAT.Types.utran",
28964         FT_BOOLEAN, 8, NULL, 0x80,
28965         NULL, HFILL }},
28966     { &hf_gsm_map_ms_SupportedRAT_Types_geran,
28967       { "geran", "gsm.map.ms.SupportedRAT.Types.geran",
28968         FT_BOOLEAN, 8, NULL, 0x40,
28969         NULL, HFILL }},
28970     { &hf_gsm_map_ms_SupportedRAT_Types_gan,
28971       { "gan", "gsm.map.ms.SupportedRAT.Types.gan",
28972         FT_BOOLEAN, 8, NULL, 0x20,
28973         NULL, HFILL }},
28974     { &hf_gsm_map_ms_SupportedRAT_Types_i_hspa_evolution,
28975       { "i-hspa-evolution", "gsm.map.ms.SupportedRAT.Types.i.hspa.evolution",
28976         FT_BOOLEAN, 8, NULL, 0x10,
28977         NULL, HFILL }},
28978     { &hf_gsm_map_ms_SupportedRAT_Types_e_utran,
28979       { "e-utran", "gsm.map.ms.SupportedRAT.Types.e.utran",
28980         FT_BOOLEAN, 8, NULL, 0x08,
28981         NULL, HFILL }},
28982     { &hf_gsm_map_ms_SupportedRAT_Types_nb_iot,
28983       { "nb-iot", "gsm.map.ms.SupportedRAT.Types.nb.iot",
28984         FT_BOOLEAN, 8, NULL, 0x04,
28985         NULL, HFILL }},
28986     { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet1,
28987       { "lcsCapabilitySet1", "gsm.map.ms.SupportedLCS.CapabilitySets.lcsCapabilitySet1",
28988         FT_BOOLEAN, 8, NULL, 0x80,
28989         NULL, HFILL }},
28990     { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet2,
28991       { "lcsCapabilitySet2", "gsm.map.ms.SupportedLCS.CapabilitySets.lcsCapabilitySet2",
28992         FT_BOOLEAN, 8, NULL, 0x40,
28993         NULL, HFILL }},
28994     { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet3,
28995       { "lcsCapabilitySet3", "gsm.map.ms.SupportedLCS.CapabilitySets.lcsCapabilitySet3",
28996         FT_BOOLEAN, 8, NULL, 0x20,
28997         NULL, HFILL }},
28998     { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet4,
28999       { "lcsCapabilitySet4", "gsm.map.ms.SupportedLCS.CapabilitySets.lcsCapabilitySet4",
29000         FT_BOOLEAN, 8, NULL, 0x10,
29001         NULL, HFILL }},
29002     { &hf_gsm_map_ms_SupportedLCS_CapabilitySets_lcsCapabilitySet5,
29003       { "lcsCapabilitySet5", "gsm.map.ms.SupportedLCS.CapabilitySets.lcsCapabilitySet5",
29004         FT_BOOLEAN, 8, NULL, 0x08,
29005         NULL, HFILL }},
29006     { &hf_gsm_map_ms_ISR_Information_updateLocation,
29007       { "updateLocation", "gsm.map.ms.ISR.Information.updateLocation",
29008         FT_BOOLEAN, 8, NULL, 0x80,
29009         NULL, HFILL }},
29010     { &hf_gsm_map_ms_ISR_Information_cancelSGSN,
29011       { "cancelSGSN", "gsm.map.ms.ISR.Information.cancelSGSN",
29012         FT_BOOLEAN, 8, NULL, 0x40,
29013         NULL, HFILL }},
29014     { &hf_gsm_map_ms_ISR_Information_initialAttachIndicator,
29015       { "initialAttachIndicator", "gsm.map.ms.ISR.Information.initialAttachIndicator",
29016         FT_BOOLEAN, 8, NULL, 0x20,
29017         NULL, HFILL }},
29018     { &hf_gsm_map_ms_SupportedFeatures_odb_all_apn,
29019       { "odb-all-apn", "gsm.map.ms.SupportedFeatures.odb.all.apn",
29020         FT_BOOLEAN, 8, NULL, 0x80,
29021         NULL, HFILL }},
29022     { &hf_gsm_map_ms_SupportedFeatures_odb_HPLMN_APN,
29023       { "odb-HPLMN-APN", "gsm.map.ms.SupportedFeatures.odb.HPLMN.APN",
29024         FT_BOOLEAN, 8, NULL, 0x40,
29025         NULL, HFILL }},
29026     { &hf_gsm_map_ms_SupportedFeatures_odb_VPLMN_APN,
29027       { "odb-VPLMN-APN", "gsm.map.ms.SupportedFeatures.odb.VPLMN.APN",
29028         FT_BOOLEAN, 8, NULL, 0x20,
29029         NULL, HFILL }},
29030     { &hf_gsm_map_ms_SupportedFeatures_odb_all_og,
29031       { "odb-all-og", "gsm.map.ms.SupportedFeatures.odb.all.og",
29032         FT_BOOLEAN, 8, NULL, 0x10,
29033         NULL, HFILL }},
29034     { &hf_gsm_map_ms_SupportedFeatures_odb_all_international_og,
29035       { "odb-all-international-og", "gsm.map.ms.SupportedFeatures.odb.all.international.og",
29036         FT_BOOLEAN, 8, NULL, 0x08,
29037         NULL, HFILL }},
29038     { &hf_gsm_map_ms_SupportedFeatures_odb_all_int_og_not_to_HPLMN_country,
29039       { "odb-all-int-og-not-to-HPLMN-country", "gsm.map.ms.SupportedFeatures.odb.all.int.og.not.to.HPLMN.country",
29040         FT_BOOLEAN, 8, NULL, 0x04,
29041         NULL, HFILL }},
29042     { &hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og,
29043       { "odb-all-interzonal-og", "gsm.map.ms.SupportedFeatures.odb.all.interzonal.og",
29044         FT_BOOLEAN, 8, NULL, 0x02,
29045         NULL, HFILL }},
29046     { &hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og_not_to_HPLMN_country,
29047       { "odb-all-interzonal-og-not-to-HPLMN-country", "gsm.map.ms.SupportedFeatures.odb.all.interzonal.og.not.to.HPLMN.country",
29048         FT_BOOLEAN, 8, NULL, 0x01,
29049         NULL, HFILL }},
29050     { &hf_gsm_map_ms_SupportedFeatures_odb_all_interzonal_og_and_internat_og_not_to_HPLMN_country,
29051       { "odb-all-interzonal-og-and-internat-og-not-to-HPLMN-country", "gsm.map.ms.SupportedFeatures.odb.all.interzonal.og.and.internat.og.not.to.HPLMN.country",
29052         FT_BOOLEAN, 8, NULL, 0x80,
29053         NULL, HFILL }},
29054     { &hf_gsm_map_ms_SupportedFeatures_regSub,
29055       { "regSub", "gsm.map.ms.SupportedFeatures.regSub",
29056         FT_BOOLEAN, 8, NULL, 0x40,
29057         NULL, HFILL }},
29058     { &hf_gsm_map_ms_SupportedFeatures_trace,
29059       { "trace", "gsm.map.ms.SupportedFeatures.trace",
29060         FT_BOOLEAN, 8, NULL, 0x20,
29061         NULL, HFILL }},
29062     { &hf_gsm_map_ms_SupportedFeatures_lcs_all_PrivExcep,
29063       { "lcs-all-PrivExcep", "gsm.map.ms.SupportedFeatures.lcs.all.PrivExcep",
29064         FT_BOOLEAN, 8, NULL, 0x10,
29065         NULL, HFILL }},
29066     { &hf_gsm_map_ms_SupportedFeatures_lcs_universal,
29067       { "lcs-universal", "gsm.map.ms.SupportedFeatures.lcs.universal",
29068         FT_BOOLEAN, 8, NULL, 0x08,
29069         NULL, HFILL }},
29070     { &hf_gsm_map_ms_SupportedFeatures_lcs_CallSessionRelated,
29071       { "lcs-CallSessionRelated", "gsm.map.ms.SupportedFeatures.lcs.CallSessionRelated",
29072         FT_BOOLEAN, 8, NULL, 0x04,
29073         NULL, HFILL }},
29074     { &hf_gsm_map_ms_SupportedFeatures_lcs_CallSessionUnrelated,
29075       { "lcs-CallSessionUnrelated", "gsm.map.ms.SupportedFeatures.lcs.CallSessionUnrelated",
29076         FT_BOOLEAN, 8, NULL, 0x02,
29077         NULL, HFILL }},
29078     { &hf_gsm_map_ms_SupportedFeatures_lcs_PLMN_operator,
29079       { "lcs-PLMN-operator", "gsm.map.ms.SupportedFeatures.lcs.PLMN.operator",
29080         FT_BOOLEAN, 8, NULL, 0x01,
29081         NULL, HFILL }},
29082     { &hf_gsm_map_ms_SupportedFeatures_lcs_ServiceType,
29083       { "lcs-ServiceType", "gsm.map.ms.SupportedFeatures.lcs.ServiceType",
29084         FT_BOOLEAN, 8, NULL, 0x80,
29085         NULL, HFILL }},
29086     { &hf_gsm_map_ms_SupportedFeatures_lcs_all_MOLR_SS,
29087       { "lcs-all-MOLR-SS", "gsm.map.ms.SupportedFeatures.lcs.all.MOLR.SS",
29088         FT_BOOLEAN, 8, NULL, 0x40,
29089         NULL, HFILL }},
29090     { &hf_gsm_map_ms_SupportedFeatures_lcs_basicSelfLocation,
29091       { "lcs-basicSelfLocation", "gsm.map.ms.SupportedFeatures.lcs.basicSelfLocation",
29092         FT_BOOLEAN, 8, NULL, 0x20,
29093         NULL, HFILL }},
29094     { &hf_gsm_map_ms_SupportedFeatures_lcs_autonomousSelfLocation,
29095       { "lcs-autonomousSelfLocation", "gsm.map.ms.SupportedFeatures.lcs.autonomousSelfLocation",
29096         FT_BOOLEAN, 8, NULL, 0x10,
29097         NULL, HFILL }},
29098     { &hf_gsm_map_ms_SupportedFeatures_lcs_transferToThirdParty,
29099       { "lcs-transferToThirdParty", "gsm.map.ms.SupportedFeatures.lcs.transferToThirdParty",
29100         FT_BOOLEAN, 8, NULL, 0x08,
29101         NULL, HFILL }},
29102     { &hf_gsm_map_ms_SupportedFeatures_sm_mo_pp,
29103       { "sm-mo-pp", "gsm.map.ms.SupportedFeatures.sm.mo.pp",
29104         FT_BOOLEAN, 8, NULL, 0x04,
29105         NULL, HFILL }},
29106     { &hf_gsm_map_ms_SupportedFeatures_barring_OutgoingCalls,
29107       { "barring-OutgoingCalls", "gsm.map.ms.SupportedFeatures.barring.OutgoingCalls",
29108         FT_BOOLEAN, 8, NULL, 0x02,
29109         NULL, HFILL }},
29110     { &hf_gsm_map_ms_SupportedFeatures_baoc,
29111       { "baoc", "gsm.map.ms.SupportedFeatures.baoc",
29112         FT_BOOLEAN, 8, NULL, 0x01,
29113         NULL, HFILL }},
29114     { &hf_gsm_map_ms_SupportedFeatures_boic,
29115       { "boic", "gsm.map.ms.SupportedFeatures.boic",
29116         FT_BOOLEAN, 8, NULL, 0x80,
29117         NULL, HFILL }},
29118     { &hf_gsm_map_ms_SupportedFeatures_boicExHC,
29119       { "boicExHC", "gsm.map.ms.SupportedFeatures.boicExHC",
29120         FT_BOOLEAN, 8, NULL, 0x40,
29121         NULL, HFILL }},
29122     { &hf_gsm_map_ms_SupportedFeatures_localTimeZoneRetrieval,
29123       { "localTimeZoneRetrieval", "gsm.map.ms.SupportedFeatures.localTimeZoneRetrieval",
29124         FT_BOOLEAN, 8, NULL, 0x20,
29125         NULL, HFILL }},
29126     { &hf_gsm_map_ms_SupportedFeatures_additionalMsisdn,
29127       { "additionalMsisdn", "gsm.map.ms.SupportedFeatures.additionalMsisdn",
29128         FT_BOOLEAN, 8, NULL, 0x10,
29129         NULL, HFILL }},
29130     { &hf_gsm_map_ms_SupportedFeatures_smsInMME,
29131       { "smsInMME", "gsm.map.ms.SupportedFeatures.smsInMME",
29132         FT_BOOLEAN, 8, NULL, 0x08,
29133         NULL, HFILL }},
29134     { &hf_gsm_map_ms_SupportedFeatures_smsInSGSN,
29135       { "smsInSGSN", "gsm.map.ms.SupportedFeatures.smsInSGSN",
29136         FT_BOOLEAN, 8, NULL, 0x04,
29137         NULL, HFILL }},
29138     { &hf_gsm_map_ms_SupportedFeatures_ue_Reachability_Notification,
29139       { "ue-Reachability-Notification", "gsm.map.ms.SupportedFeatures.ue.Reachability.Notification",
29140         FT_BOOLEAN, 8, NULL, 0x02,
29141         NULL, HFILL }},
29142     { &hf_gsm_map_ms_SupportedFeatures_state_Location_Information_Retrieval,
29143       { "state-Location-Information-Retrieval", "gsm.map.ms.SupportedFeatures.state.Location.Information.Retrieval",
29144         FT_BOOLEAN, 8, NULL, 0x01,
29145         NULL, HFILL }},
29146     { &hf_gsm_map_ms_SupportedFeatures_partialPurge,
29147       { "partialPurge", "gsm.map.ms.SupportedFeatures.partialPurge",
29148         FT_BOOLEAN, 8, NULL, 0x80,
29149         NULL, HFILL }},
29150     { &hf_gsm_map_ms_SupportedFeatures_gddInSGSN,
29151       { "gddInSGSN", "gsm.map.ms.SupportedFeatures.gddInSGSN",
29152         FT_BOOLEAN, 8, NULL, 0x40,
29153         NULL, HFILL }},
29154     { &hf_gsm_map_ms_SupportedFeatures_sgsnCAMELCapability,
29155       { "sgsnCAMELCapability", "gsm.map.ms.SupportedFeatures.sgsnCAMELCapability",
29156         FT_BOOLEAN, 8, NULL, 0x20,
29157         NULL, HFILL }},
29158     { &hf_gsm_map_ms_SupportedFeatures_pcscf_Restoration,
29159       { "pcscf-Restoration", "gsm.map.ms.SupportedFeatures.pcscf.Restoration",
29160         FT_BOOLEAN, 8, NULL, 0x10,
29161         NULL, HFILL }},
29162     { &hf_gsm_map_ms_SupportedFeatures_dedicatedCoreNetworks,
29163       { "dedicatedCoreNetworks", "gsm.map.ms.SupportedFeatures.dedicatedCoreNetworks",
29164         FT_BOOLEAN, 8, NULL, 0x08,
29165         NULL, HFILL }},
29166     { &hf_gsm_map_ms_SupportedFeatures_non_IP_PDN_Type_APNs,
29167       { "non-IP-PDN-Type-APNs", "gsm.map.ms.SupportedFeatures.non.IP.PDN.Type.APNs",
29168         FT_BOOLEAN, 8, NULL, 0x04,
29169         NULL, HFILL }},
29170     { &hf_gsm_map_ms_SupportedFeatures_non_IP_PDP_Type_APNs,
29171       { "non-IP-PDP-Type-APNs", "gsm.map.ms.SupportedFeatures.non.IP.PDP.Type.APNs",
29172         FT_BOOLEAN, 8, NULL, 0x02,
29173         NULL, HFILL }},
29174     { &hf_gsm_map_ms_SupportedFeatures_nrAsSecondaryRAT,
29175       { "nrAsSecondaryRAT", "gsm.map.ms.SupportedFeatures.nrAsSecondaryRAT",
29176         FT_BOOLEAN, 8, NULL, 0x01,
29177         NULL, HFILL }},
29178     { &hf_gsm_map_ms_Ext_SupportedFeatures_unlicensedSpectrumAsSecondaryRAT,
29179       { "unlicensedSpectrumAsSecondaryRAT", "gsm.map.ms.Ext.SupportedFeatures.unlicensedSpectrumAsSecondaryRAT",
29180         FT_BOOLEAN, 8, NULL, 0x80,
29181         NULL, HFILL }},
29182     { &hf_gsm_map_ms_LCLS_Negotiation_permission_indicator_not_allowed_bit,
29183       { "permission-indicator-not-allowed-bit", "gsm.map.ms.LCLS.Negotiation.permission.indicator.not.allowed.bit",
29184         FT_BOOLEAN, 8, NULL, 0x80,
29185         NULL, HFILL }},
29186     { &hf_gsm_map_ms_LCLS_Negotiation_permission_indicator_spare_bit,
29187       { "permission-indicator-spare-bit", "gsm.map.ms.LCLS.Negotiation.permission.indicator.spare.bit",
29188         FT_BOOLEAN, 8, NULL, 0x40,
29189         NULL, HFILL }},
29190     { &hf_gsm_map_ms_LCLS_ConfigurationPreference_forward_data_sending_indicator,
29191       { "forward-data-sending-indicator", "gsm.map.ms.LCLS.ConfigurationPreference.forward.data.sending.indicator",
29192         FT_BOOLEAN, 8, NULL, 0x80,
29193         NULL, HFILL }},
29194     { &hf_gsm_map_ms_LCLS_ConfigurationPreference_backward_data_sending_indicator,
29195       { "backward-data-sending-indicator", "gsm.map.ms.LCLS.ConfigurationPreference.backward.data.sending.indicator",
29196         FT_BOOLEAN, 8, NULL, 0x40,
29197         NULL, HFILL }},
29198     { &hf_gsm_map_ms_LCLS_ConfigurationPreference_forward_data_reception_indicator,
29199       { "forward-data-reception-indicator", "gsm.map.ms.LCLS.ConfigurationPreference.forward.data.reception.indicator",
29200         FT_BOOLEAN, 8, NULL, 0x20,
29201         NULL, HFILL }},
29202     { &hf_gsm_map_ms_LCLS_ConfigurationPreference_backward_data_reception_indicator,
29203       { "backward-data-reception-indicator", "gsm.map.ms.LCLS.ConfigurationPreference.backward.data.reception.indicator",
29204         FT_BOOLEAN, 8, NULL, 0x10,
29205         NULL, HFILL }},
29206     { &hf_gsm_map_ms_RequestedEquipmentInfo_equipmentStatus,
29207       { "equipmentStatus", "gsm.map.ms.RequestedEquipmentInfo.equipmentStatus",
29208         FT_BOOLEAN, 8, NULL, 0x80,
29209         NULL, HFILL }},
29210     { &hf_gsm_map_ms_RequestedEquipmentInfo_bmuef,
29211       { "bmuef", "gsm.map.ms.RequestedEquipmentInfo.bmuef",
29212         FT_BOOLEAN, 8, NULL, 0x40,
29213         NULL, HFILL }},
29214     { &hf_gsm_map_ms_AccessRestrictionData_utranNotAllowed,
29215       { "utranNotAllowed", "gsm.map.ms.AccessRestrictionData.utranNotAllowed",
29216         FT_BOOLEAN, 8, NULL, 0x80,
29217         NULL, HFILL }},
29218     { &hf_gsm_map_ms_AccessRestrictionData_geranNotAllowed,
29219       { "geranNotAllowed", "gsm.map.ms.AccessRestrictionData.geranNotAllowed",
29220         FT_BOOLEAN, 8, NULL, 0x40,
29221         NULL, HFILL }},
29222     { &hf_gsm_map_ms_AccessRestrictionData_ganNotAllowed,
29223       { "ganNotAllowed", "gsm.map.ms.AccessRestrictionData.ganNotAllowed",
29224         FT_BOOLEAN, 8, NULL, 0x20,
29225         NULL, HFILL }},
29226     { &hf_gsm_map_ms_AccessRestrictionData_i_hspa_evolutionNotAllowed,
29227       { "i-hspa-evolutionNotAllowed", "gsm.map.ms.AccessRestrictionData.i.hspa.evolutionNotAllowed",
29228         FT_BOOLEAN, 8, NULL, 0x10,
29229         NULL, HFILL }},
29230     { &hf_gsm_map_ms_AccessRestrictionData_wb_e_utranNotAllowed,
29231       { "wb-e-utranNotAllowed", "gsm.map.ms.AccessRestrictionData.wb.e.utranNotAllowed",
29232         FT_BOOLEAN, 8, NULL, 0x08,
29233         NULL, HFILL }},
29234     { &hf_gsm_map_ms_AccessRestrictionData_ho_toNon3GPP_AccessNotAllowed,
29235       { "ho-toNon3GPP-AccessNotAllowed", "gsm.map.ms.AccessRestrictionData.ho.toNon3GPP.AccessNotAllowed",
29236         FT_BOOLEAN, 8, NULL, 0x04,
29237         NULL, HFILL }},
29238     { &hf_gsm_map_ms_AccessRestrictionData_nb_iotNotAllowed,
29239       { "nb-iotNotAllowed", "gsm.map.ms.AccessRestrictionData.nb.iotNotAllowed",
29240         FT_BOOLEAN, 8, NULL, 0x02,
29241         NULL, HFILL }},
29242     { &hf_gsm_map_ms_AccessRestrictionData_enhancedCoverageNotAllowed,
29243       { "enhancedCoverageNotAllowed", "gsm.map.ms.AccessRestrictionData.enhancedCoverageNotAllowed",
29244         FT_BOOLEAN, 8, NULL, 0x01,
29245         NULL, HFILL }},
29246     { &hf_gsm_map_ms_Ext_AccessRestrictionData_nrAsSecondaryRATNotAllowed,
29247       { "nrAsSecondaryRATNotAllowed", "gsm.map.ms.Ext.AccessRestrictionData.nrAsSecondaryRATNotAllowed",
29248         FT_BOOLEAN, 8, NULL, 0x80,
29249         NULL, HFILL }},
29250     { &hf_gsm_map_ms_Ext_AccessRestrictionData_unlicensedSpectrumAsSecondaryRATNotAllowed,
29251       { "unlicensedSpectrumAsSecondaryRATNotAllowed", "gsm.map.ms.Ext.AccessRestrictionData.unlicensedSpectrumAsSecondaryRATNotAllowed",
29252         FT_BOOLEAN, 8, NULL, 0x40,
29253         NULL, HFILL }},
29254     { &hf_gsm_map_ms_ODB_GeneralData_allOG_CallsBarred,
29255       { "allOG-CallsBarred", "gsm.map.ms.ODB.GeneralData.allOG.CallsBarred",
29256         FT_BOOLEAN, 8, NULL, 0x80,
29257         NULL, HFILL }},
29258     { &hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsBarred,
29259       { "internationalOGCallsBarred", "gsm.map.ms.ODB.GeneralData.internationalOGCallsBarred",
29260         FT_BOOLEAN, 8, NULL, 0x40,
29261         NULL, HFILL }},
29262     { &hf_gsm_map_ms_ODB_GeneralData_internationalOGCallsNotToHPLMN_CountryBarred,
29263       { "internationalOGCallsNotToHPLMN-CountryBarred", "gsm.map.ms.ODB.GeneralData.internationalOGCallsNotToHPLMN.CountryBarred",
29264         FT_BOOLEAN, 8, NULL, 0x20,
29265         NULL, HFILL }},
29266     { &hf_gsm_map_ms_ODB_GeneralData_premiumRateInformationOGCallsBarred,
29267       { "premiumRateInformationOGCallsBarred", "gsm.map.ms.ODB.GeneralData.premiumRateInformationOGCallsBarred",
29268         FT_BOOLEAN, 8, NULL, 0x10,
29269         NULL, HFILL }},
29270     { &hf_gsm_map_ms_ODB_GeneralData_premiumRateEntertainementOGCallsBarred,
29271       { "premiumRateEntertainementOGCallsBarred", "gsm.map.ms.ODB.GeneralData.premiumRateEntertainementOGCallsBarred",
29272         FT_BOOLEAN, 8, NULL, 0x08,
29273         NULL, HFILL }},
29274     { &hf_gsm_map_ms_ODB_GeneralData_ss_AccessBarred,
29275       { "ss-AccessBarred", "gsm.map.ms.ODB.GeneralData.ss.AccessBarred",
29276         FT_BOOLEAN, 8, NULL, 0x04,
29277         NULL, HFILL }},
29278     { &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsBarred,
29279       { "interzonalOGCallsBarred", "gsm.map.ms.ODB.GeneralData.interzonalOGCallsBarred",
29280         FT_BOOLEAN, 8, NULL, 0x02,
29281         NULL, HFILL }},
29282     { &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsNotToHPLMN_CountryBarred,
29283       { "interzonalOGCallsNotToHPLMN-CountryBarred", "gsm.map.ms.ODB.GeneralData.interzonalOGCallsNotToHPLMN.CountryBarred",
29284         FT_BOOLEAN, 8, NULL, 0x01,
29285         NULL, HFILL }},
29286     { &hf_gsm_map_ms_ODB_GeneralData_interzonalOGCallsAndInternationalOGCallsNotToHPLMN_CountryBarred,
29287       { "interzonalOGCallsAndInternationalOGCallsNotToHPLMN-CountryBarred", "gsm.map.ms.ODB.GeneralData.interzonalOGCallsAndInternationalOGCallsNotToHPLMN.CountryBarred",
29288         FT_BOOLEAN, 8, NULL, 0x80,
29289         NULL, HFILL }},
29290     { &hf_gsm_map_ms_ODB_GeneralData_allECT_Barred,
29291       { "allECT-Barred", "gsm.map.ms.ODB.GeneralData.allECT.Barred",
29292         FT_BOOLEAN, 8, NULL, 0x40,
29293         NULL, HFILL }},
29294     { &hf_gsm_map_ms_ODB_GeneralData_chargeableECT_Barred,
29295       { "chargeableECT-Barred", "gsm.map.ms.ODB.GeneralData.chargeableECT.Barred",
29296         FT_BOOLEAN, 8, NULL, 0x20,
29297         NULL, HFILL }},
29298     { &hf_gsm_map_ms_ODB_GeneralData_internationalECT_Barred,
29299       { "internationalECT-Barred", "gsm.map.ms.ODB.GeneralData.internationalECT.Barred",
29300         FT_BOOLEAN, 8, NULL, 0x10,
29301         NULL, HFILL }},
29302     { &hf_gsm_map_ms_ODB_GeneralData_interzonalECT_Barred,
29303       { "interzonalECT-Barred", "gsm.map.ms.ODB.GeneralData.interzonalECT.Barred",
29304         FT_BOOLEAN, 8, NULL, 0x08,
29305         NULL, HFILL }},
29306     { &hf_gsm_map_ms_ODB_GeneralData_doublyChargeableECT_Barred,
29307       { "doublyChargeableECT-Barred", "gsm.map.ms.ODB.GeneralData.doublyChargeableECT.Barred",
29308         FT_BOOLEAN, 8, NULL, 0x04,
29309         NULL, HFILL }},
29310     { &hf_gsm_map_ms_ODB_GeneralData_multipleECT_Barred,
29311       { "multipleECT-Barred", "gsm.map.ms.ODB.GeneralData.multipleECT.Barred",
29312         FT_BOOLEAN, 8, NULL, 0x02,
29313         NULL, HFILL }},
29314     { &hf_gsm_map_ms_ODB_GeneralData_allPacketOrientedServicesBarred,
29315       { "allPacketOrientedServicesBarred", "gsm.map.ms.ODB.GeneralData.allPacketOrientedServicesBarred",
29316         FT_BOOLEAN, 8, NULL, 0x01,
29317         NULL, HFILL }},
29318     { &hf_gsm_map_ms_ODB_GeneralData_roamerAccessToHPLMN_AP_Barred,
29319       { "roamerAccessToHPLMN-AP-Barred", "gsm.map.ms.ODB.GeneralData.roamerAccessToHPLMN.AP.Barred",
29320         FT_BOOLEAN, 8, NULL, 0x80,
29321         NULL, HFILL }},
29322     { &hf_gsm_map_ms_ODB_GeneralData_roamerAccessToVPLMN_AP_Barred,
29323       { "roamerAccessToVPLMN-AP-Barred", "gsm.map.ms.ODB.GeneralData.roamerAccessToVPLMN.AP.Barred",
29324         FT_BOOLEAN, 8, NULL, 0x40,
29325         NULL, HFILL }},
29326     { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNOG_CallsBarred,
29327       { "roamingOutsidePLMNOG-CallsBarred", "gsm.map.ms.ODB.GeneralData.roamingOutsidePLMNOG.CallsBarred",
29328         FT_BOOLEAN, 8, NULL, 0x20,
29329         NULL, HFILL }},
29330     { &hf_gsm_map_ms_ODB_GeneralData_allIC_CallsBarred,
29331       { "allIC-CallsBarred", "gsm.map.ms.ODB.GeneralData.allIC.CallsBarred",
29332         FT_BOOLEAN, 8, NULL, 0x10,
29333         NULL, HFILL }},
29334     { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNIC_CallsBarred,
29335       { "roamingOutsidePLMNIC-CallsBarred", "gsm.map.ms.ODB.GeneralData.roamingOutsidePLMNIC.CallsBarred",
29336         FT_BOOLEAN, 8, NULL, 0x08,
29337         NULL, HFILL }},
29338     { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMNICountryIC_CallsBarred,
29339       { "roamingOutsidePLMNICountryIC-CallsBarred", "gsm.map.ms.ODB.GeneralData.roamingOutsidePLMNICountryIC.CallsBarred",
29340         FT_BOOLEAN, 8, NULL, 0x04,
29341         NULL, HFILL }},
29342     { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_Barred,
29343       { "roamingOutsidePLMN-Barred", "gsm.map.ms.ODB.GeneralData.roamingOutsidePLMN.Barred",
29344         FT_BOOLEAN, 8, NULL, 0x02,
29345         NULL, HFILL }},
29346     { &hf_gsm_map_ms_ODB_GeneralData_roamingOutsidePLMN_CountryBarred,
29347       { "roamingOutsidePLMN-CountryBarred", "gsm.map.ms.ODB.GeneralData.roamingOutsidePLMN.CountryBarred",
29348         FT_BOOLEAN, 8, NULL, 0x01,
29349         NULL, HFILL }},
29350     { &hf_gsm_map_ms_ODB_GeneralData_registrationAllCF_Barred,
29351       { "registrationAllCF-Barred", "gsm.map.ms.ODB.GeneralData.registrationAllCF.Barred",
29352         FT_BOOLEAN, 8, NULL, 0x80,
29353         NULL, HFILL }},
29354     { &hf_gsm_map_ms_ODB_GeneralData_registrationCFNotToHPLMN_Barred,
29355       { "registrationCFNotToHPLMN-Barred", "gsm.map.ms.ODB.GeneralData.registrationCFNotToHPLMN.Barred",
29356         FT_BOOLEAN, 8, NULL, 0x40,
29357         NULL, HFILL }},
29358     { &hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCF_Barred,
29359       { "registrationInterzonalCF-Barred", "gsm.map.ms.ODB.GeneralData.registrationInterzonalCF.Barred",
29360         FT_BOOLEAN, 8, NULL, 0x20,
29361         NULL, HFILL }},
29362     { &hf_gsm_map_ms_ODB_GeneralData_registrationInterzonalCFNotToHPLMN_Barred,
29363       { "registrationInterzonalCFNotToHPLMN-Barred", "gsm.map.ms.ODB.GeneralData.registrationInterzonalCFNotToHPLMN.Barred",
29364         FT_BOOLEAN, 8, NULL, 0x10,
29365         NULL, HFILL }},
29366     { &hf_gsm_map_ms_ODB_GeneralData_registrationInternationalCF_Barred,
29367       { "registrationInternationalCF-Barred", "gsm.map.ms.ODB.GeneralData.registrationInternationalCF.Barred",
29368         FT_BOOLEAN, 8, NULL, 0x08,
29369         NULL, HFILL }},
29370     { &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType1,
29371       { "plmn-SpecificBarringType1", "gsm.map.ms.ODB.HPLMN.Data.plmn.SpecificBarringType1",
29372         FT_BOOLEAN, 8, NULL, 0x80,
29373         NULL, HFILL }},
29374     { &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType2,
29375       { "plmn-SpecificBarringType2", "gsm.map.ms.ODB.HPLMN.Data.plmn.SpecificBarringType2",
29376         FT_BOOLEAN, 8, NULL, 0x40,
29377         NULL, HFILL }},
29378     { &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType3,
29379       { "plmn-SpecificBarringType3", "gsm.map.ms.ODB.HPLMN.Data.plmn.SpecificBarringType3",
29380         FT_BOOLEAN, 8, NULL, 0x20,
29381         NULL, HFILL }},
29382     { &hf_gsm_map_ms_ODB_HPLMN_Data_plmn_SpecificBarringType4,
29383       { "plmn-SpecificBarringType4", "gsm.map.ms.ODB.HPLMN.Data.plmn.SpecificBarringType4",
29384         FT_BOOLEAN, 8, NULL, 0x10,
29385         NULL, HFILL }},
29386     { &hf_gsm_map_ms_SpecificCSI_Withdraw_o_csi,
29387       { "o-csi", "gsm.map.ms.SpecificCSI.Withdraw.o.csi",
29388         FT_BOOLEAN, 8, NULL, 0x80,
29389         NULL, HFILL }},
29390     { &hf_gsm_map_ms_SpecificCSI_Withdraw_ss_csi,
29391       { "ss-csi", "gsm.map.ms.SpecificCSI.Withdraw.ss.csi",
29392         FT_BOOLEAN, 8, NULL, 0x40,
29393         NULL, HFILL }},
29394     { &hf_gsm_map_ms_SpecificCSI_Withdraw_tif_csi,
29395       { "tif-csi", "gsm.map.ms.SpecificCSI.Withdraw.tif.csi",
29396         FT_BOOLEAN, 8, NULL, 0x20,
29397         NULL, HFILL }},
29398     { &hf_gsm_map_ms_SpecificCSI_Withdraw_d_csi,
29399       { "d-csi", "gsm.map.ms.SpecificCSI.Withdraw.d.csi",
29400         FT_BOOLEAN, 8, NULL, 0x10,
29401         NULL, HFILL }},
29402     { &hf_gsm_map_ms_SpecificCSI_Withdraw_vt_csi,
29403       { "vt-csi", "gsm.map.ms.SpecificCSI.Withdraw.vt.csi",
29404         FT_BOOLEAN, 8, NULL, 0x08,
29405         NULL, HFILL }},
29406     { &hf_gsm_map_ms_SpecificCSI_Withdraw_mo_sms_csi,
29407       { "mo-sms-csi", "gsm.map.ms.SpecificCSI.Withdraw.mo.sms.csi",
29408         FT_BOOLEAN, 8, NULL, 0x04,
29409         NULL, HFILL }},
29410     { &hf_gsm_map_ms_SpecificCSI_Withdraw_m_csi,
29411       { "m-csi", "gsm.map.ms.SpecificCSI.Withdraw.m.csi",
29412         FT_BOOLEAN, 8, NULL, 0x02,
29413         NULL, HFILL }},
29414     { &hf_gsm_map_ms_SpecificCSI_Withdraw_gprs_csi,
29415       { "gprs-csi", "gsm.map.ms.SpecificCSI.Withdraw.gprs.csi",
29416         FT_BOOLEAN, 8, NULL, 0x01,
29417         NULL, HFILL }},
29418     { &hf_gsm_map_ms_SpecificCSI_Withdraw_t_csi,
29419       { "t-csi", "gsm.map.ms.SpecificCSI.Withdraw.t.csi",
29420         FT_BOOLEAN, 8, NULL, 0x80,
29421         NULL, HFILL }},
29422     { &hf_gsm_map_ms_SpecificCSI_Withdraw_mt_sms_csi,
29423       { "mt-sms-csi", "gsm.map.ms.SpecificCSI.Withdraw.mt.sms.csi",
29424         FT_BOOLEAN, 8, NULL, 0x40,
29425         NULL, HFILL }},
29426     { &hf_gsm_map_ms_SpecificCSI_Withdraw_mg_csi,
29427       { "mg-csi", "gsm.map.ms.SpecificCSI.Withdraw.mg.csi",
29428         FT_BOOLEAN, 8, NULL, 0x20,
29429         NULL, HFILL }},
29430     { &hf_gsm_map_ms_SpecificCSI_Withdraw_o_IM_CSI,
29431       { "o-IM-CSI", "gsm.map.ms.SpecificCSI.Withdraw.o.IM.CSI",
29432         FT_BOOLEAN, 8, NULL, 0x10,
29433         NULL, HFILL }},
29434     { &hf_gsm_map_ms_SpecificCSI_Withdraw_d_IM_CSI,
29435       { "d-IM-CSI", "gsm.map.ms.SpecificCSI.Withdraw.d.IM.CSI",
29436         FT_BOOLEAN, 8, NULL, 0x08,
29437         NULL, HFILL }},
29438     { &hf_gsm_map_ms_SpecificCSI_Withdraw_vt_IM_CSI,
29439       { "vt-IM-CSI", "gsm.map.ms.SpecificCSI.Withdraw.vt.IM.CSI",
29440         FT_BOOLEAN, 8, NULL, 0x04,
29441         NULL, HFILL }},
29442     { &hf_gsm_map_ms_SupportedCamelPhases_phase1,
29443       { "phase1", "gsm.map.ms.SupportedCamelPhases.phase1",
29444         FT_BOOLEAN, 8, NULL, 0x80,
29445         NULL, HFILL }},
29446     { &hf_gsm_map_ms_SupportedCamelPhases_phase2,
29447       { "phase2", "gsm.map.ms.SupportedCamelPhases.phase2",
29448         FT_BOOLEAN, 8, NULL, 0x40,
29449         NULL, HFILL }},
29450     { &hf_gsm_map_ms_SupportedCamelPhases_phase3,
29451       { "phase3", "gsm.map.ms.SupportedCamelPhases.phase3",
29452         FT_BOOLEAN, 8, NULL, 0x20,
29453         NULL, HFILL }},
29454     { &hf_gsm_map_ms_SupportedCamelPhases_phase4,
29455       { "phase4", "gsm.map.ms.SupportedCamelPhases.phase4",
29456         FT_BOOLEAN, 8, NULL, 0x10,
29457         NULL, HFILL }},
29458     { &hf_gsm_map_ms_OfferedCamel4CSIs_o_csi,
29459       { "o-csi", "gsm.map.ms.OfferedCamel4CSIs.o.csi",
29460         FT_BOOLEAN, 8, NULL, 0x80,
29461         NULL, HFILL }},
29462     { &hf_gsm_map_ms_OfferedCamel4CSIs_d_csi,
29463       { "d-csi", "gsm.map.ms.OfferedCamel4CSIs.d.csi",
29464         FT_BOOLEAN, 8, NULL, 0x40,
29465         NULL, HFILL }},
29466     { &hf_gsm_map_ms_OfferedCamel4CSIs_vt_csi,
29467       { "vt-csi", "gsm.map.ms.OfferedCamel4CSIs.vt.csi",
29468         FT_BOOLEAN, 8, NULL, 0x20,
29469         NULL, HFILL }},
29470     { &hf_gsm_map_ms_OfferedCamel4CSIs_t_csi,
29471       { "t-csi", "gsm.map.ms.OfferedCamel4CSIs.t.csi",
29472         FT_BOOLEAN, 8, NULL, 0x10,
29473         NULL, HFILL }},
29474     { &hf_gsm_map_ms_OfferedCamel4CSIs_mt_sms_csi,
29475       { "mt-sms-csi", "gsm.map.ms.OfferedCamel4CSIs.mt.sms.csi",
29476         FT_BOOLEAN, 8, NULL, 0x08,
29477         NULL, HFILL }},
29478     { &hf_gsm_map_ms_OfferedCamel4CSIs_mg_csi,
29479       { "mg-csi", "gsm.map.ms.OfferedCamel4CSIs.mg.csi",
29480         FT_BOOLEAN, 8, NULL, 0x04,
29481         NULL, HFILL }},
29482     { &hf_gsm_map_ms_OfferedCamel4CSIs_psi_enhancements,
29483       { "psi-enhancements", "gsm.map.ms.OfferedCamel4CSIs.psi.enhancements",
29484         FT_BOOLEAN, 8, NULL, 0x02,
29485         NULL, HFILL }},
29486     { &hf_gsm_map_ms_OfferedCamel4Functionalities_initiateCallAttempt,
29487       { "initiateCallAttempt", "gsm.map.ms.OfferedCamel4Functionalities.initiateCallAttempt",
29488         FT_BOOLEAN, 8, NULL, 0x80,
29489         NULL, HFILL }},
29490     { &hf_gsm_map_ms_OfferedCamel4Functionalities_splitLeg,
29491       { "splitLeg", "gsm.map.ms.OfferedCamel4Functionalities.splitLeg",
29492         FT_BOOLEAN, 8, NULL, 0x40,
29493         NULL, HFILL }},
29494     { &hf_gsm_map_ms_OfferedCamel4Functionalities_moveLeg,
29495       { "moveLeg", "gsm.map.ms.OfferedCamel4Functionalities.moveLeg",
29496         FT_BOOLEAN, 8, NULL, 0x20,
29497         NULL, HFILL }},
29498     { &hf_gsm_map_ms_OfferedCamel4Functionalities_disconnectLeg,
29499       { "disconnectLeg", "gsm.map.ms.OfferedCamel4Functionalities.disconnectLeg",
29500         FT_BOOLEAN, 8, NULL, 0x10,
29501         NULL, HFILL }},
29502     { &hf_gsm_map_ms_OfferedCamel4Functionalities_entityReleased,
29503       { "entityReleased", "gsm.map.ms.OfferedCamel4Functionalities.entityReleased",
29504         FT_BOOLEAN, 8, NULL, 0x08,
29505         NULL, HFILL }},
29506     { &hf_gsm_map_ms_OfferedCamel4Functionalities_dfc_WithArgument,
29507       { "dfc-WithArgument", "gsm.map.ms.OfferedCamel4Functionalities.dfc.WithArgument",
29508         FT_BOOLEAN, 8, NULL, 0x04,
29509         NULL, HFILL }},
29510     { &hf_gsm_map_ms_OfferedCamel4Functionalities_playTone,
29511       { "playTone", "gsm.map.ms.OfferedCamel4Functionalities.playTone",
29512         FT_BOOLEAN, 8, NULL, 0x02,
29513         NULL, HFILL }},
29514     { &hf_gsm_map_ms_OfferedCamel4Functionalities_dtmf_MidCall,
29515       { "dtmf-MidCall", "gsm.map.ms.OfferedCamel4Functionalities.dtmf.MidCall",
29516         FT_BOOLEAN, 8, NULL, 0x01,
29517         NULL, HFILL }},
29518     { &hf_gsm_map_ms_OfferedCamel4Functionalities_chargingIndicator,
29519       { "chargingIndicator", "gsm.map.ms.OfferedCamel4Functionalities.chargingIndicator",
29520         FT_BOOLEAN, 8, NULL, 0x80,
29521         NULL, HFILL }},
29522     { &hf_gsm_map_ms_OfferedCamel4Functionalities_alertingDP,
29523       { "alertingDP", "gsm.map.ms.OfferedCamel4Functionalities.alertingDP",
29524         FT_BOOLEAN, 8, NULL, 0x40,
29525         NULL, HFILL }},
29526     { &hf_gsm_map_ms_OfferedCamel4Functionalities_locationAtAlerting,
29527       { "locationAtAlerting", "gsm.map.ms.OfferedCamel4Functionalities.locationAtAlerting",
29528         FT_BOOLEAN, 8, NULL, 0x20,
29529         NULL, HFILL }},
29530     { &hf_gsm_map_ms_OfferedCamel4Functionalities_changeOfPositionDP,
29531       { "changeOfPositionDP", "gsm.map.ms.OfferedCamel4Functionalities.changeOfPositionDP",
29532         FT_BOOLEAN, 8, NULL, 0x10,
29533         NULL, HFILL }},
29534     { &hf_gsm_map_ms_OfferedCamel4Functionalities_or_Interactions,
29535       { "or-Interactions", "gsm.map.ms.OfferedCamel4Functionalities.or.Interactions",
29536         FT_BOOLEAN, 8, NULL, 0x08,
29537         NULL, HFILL }},
29538     { &hf_gsm_map_ms_OfferedCamel4Functionalities_warningToneEnhancements,
29539       { "warningToneEnhancements", "gsm.map.ms.OfferedCamel4Functionalities.warningToneEnhancements",
29540         FT_BOOLEAN, 8, NULL, 0x04,
29541         NULL, HFILL }},
29542     { &hf_gsm_map_ms_OfferedCamel4Functionalities_cf_Enhancements,
29543       { "cf-Enhancements", "gsm.map.ms.OfferedCamel4Functionalities.cf.Enhancements",
29544         FT_BOOLEAN, 8, NULL, 0x02,
29545         NULL, HFILL }},
29546     { &hf_gsm_map_ms_OfferedCamel4Functionalities_subscribedEnhancedDialledServices,
29547       { "subscribedEnhancedDialledServices", "gsm.map.ms.OfferedCamel4Functionalities.subscribedEnhancedDialledServices",
29548         FT_BOOLEAN, 8, NULL, 0x01,
29549         NULL, HFILL }},
29550     { &hf_gsm_map_ms_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices,
29551       { "servingNetworkEnhancedDialledServices", "gsm.map.ms.OfferedCamel4Functionalities.servingNetworkEnhancedDialledServices",
29552         FT_BOOLEAN, 8, NULL, 0x80,
29553         NULL, HFILL }},
29554     { &hf_gsm_map_ms_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP,
29555       { "criteriaForChangeOfPositionDP", "gsm.map.ms.OfferedCamel4Functionalities.criteriaForChangeOfPositionDP",
29556         FT_BOOLEAN, 8, NULL, 0x40,
29557         NULL, HFILL }},
29558     { &hf_gsm_map_ms_OfferedCamel4Functionalities_serviceChangeDP,
29559       { "serviceChangeDP", "gsm.map.ms.OfferedCamel4Functionalities.serviceChangeDP",
29560         FT_BOOLEAN, 8, NULL, 0x20,
29561         NULL, HFILL }},
29562     { &hf_gsm_map_ms_OfferedCamel4Functionalities_collectInformation,
29563       { "collectInformation", "gsm.map.ms.OfferedCamel4Functionalities.collectInformation",
29564         FT_BOOLEAN, 8, NULL, 0x10,
29565         NULL, HFILL }},
29566     { &hf_gsm_map_ms_AdditionalSubscriptions_privilegedUplinkRequest,
29567       { "privilegedUplinkRequest", "gsm.map.ms.AdditionalSubscriptions.privilegedUplinkRequest",
29568         FT_BOOLEAN, 8, NULL, 0x80,
29569         NULL, HFILL }},
29570     { &hf_gsm_map_ms_AdditionalSubscriptions_emergencyUplinkRequest,
29571       { "emergencyUplinkRequest", "gsm.map.ms.AdditionalSubscriptions.emergencyUplinkRequest",
29572         FT_BOOLEAN, 8, NULL, 0x40,
29573         NULL, HFILL }},
29574     { &hf_gsm_map_ms_AdditionalSubscriptions_emergencyReset,
29575       { "emergencyReset", "gsm.map.ms.AdditionalSubscriptions.emergencyReset",
29576         FT_BOOLEAN, 8, NULL, 0x20,
29577         NULL, HFILL }},
29578     { &hf_gsm_map_ms_RequestedNodes_mme,
29579       { "mme", "gsm.map.ms.RequestedNodes.mme",
29580         FT_BOOLEAN, 8, NULL, 0x80,
29581         NULL, HFILL }},
29582     { &hf_gsm_map_ms_RequestedNodes_sgsn,
29583       { "sgsn", "gsm.map.ms.RequestedNodes.sgsn",
29584         FT_BOOLEAN, 8, NULL, 0x40,
29585         NULL, HFILL }},
29586     { &hf_gsm_map_ms_RequestedServingNode_mmeAndSgsn,
29587       { "mmeAndSgsn", "gsm.map.ms.RequestedServingNode.mmeAndSgsn",
29588         FT_BOOLEAN, 8, NULL, 0x80,
29589         NULL, HFILL }},
29590     { &hf_gsm_map_ms_ServingNode_mme,
29591       { "mme", "gsm.map.ms.ServingNode.mme",
29592         FT_BOOLEAN, 8, NULL, 0x80,
29593         NULL, HFILL }},
29594     { &hf_gsm_map_ms_ServingNode_sgsn,
29595       { "sgsn", "gsm.map.ms.ServingNode.sgsn",
29596         FT_BOOLEAN, 8, NULL, 0x40,
29597         NULL, HFILL }},
29598 
29599 /* --- Module MAP-CH-DataTypes --- --- ---                                    */
29600 
29601     { &hf_gsm_map_ch_cug_Interlock,
29602       { "cug-Interlock", "gsm_map.ch.cug_Interlock",
29603         FT_BYTES, BASE_NONE, NULL, 0,
29604         NULL, HFILL }},
29605     { &hf_gsm_map_ch_cug_OutgoingAccess,
29606       { "cug-OutgoingAccess", "gsm_map.ch.cug_OutgoingAccess_element",
29607         FT_NONE, BASE_NONE, NULL, 0,
29608         NULL, HFILL }},
29609     { &hf_gsm_map_ch_extensionContainer,
29610       { "extensionContainer", "gsm_map.ch.extensionContainer_element",
29611         FT_NONE, BASE_NONE, NULL, 0,
29612         NULL, HFILL }},
29613     { &hf_gsm_map_ch_msisdn,
29614       { "msisdn", "gsm_map.ch.msisdn",
29615         FT_BYTES, BASE_NONE, NULL, 0,
29616         "ISDN_AddressString", HFILL }},
29617     { &hf_gsm_map_ch_cug_CheckInfo,
29618       { "cug-CheckInfo", "gsm_map.ch.cug_CheckInfo_element",
29619         FT_NONE, BASE_NONE, NULL, 0,
29620         NULL, HFILL }},
29621     { &hf_gsm_map_ch_numberOfForwarding,
29622       { "numberOfForwarding", "gsm_map.ch.numberOfForwarding",
29623         FT_UINT32, BASE_DEC, NULL, 0,
29624         NULL, HFILL }},
29625     { &hf_gsm_map_ch_interrogationType,
29626       { "interrogationType", "gsm_map.ch.interrogationType",
29627         FT_UINT32, BASE_DEC, VALS(gsm_map_ch_InterrogationType_vals), 0,
29628         NULL, HFILL }},
29629     { &hf_gsm_map_ch_or_Interrogation,
29630       { "or-Interrogation", "gsm_map.ch.or_Interrogation_element",
29631         FT_NONE, BASE_NONE, NULL, 0,
29632         NULL, HFILL }},
29633     { &hf_gsm_map_ch_or_Capability,
29634       { "or-Capability", "gsm_map.ch.or_Capability",
29635         FT_UINT32, BASE_DEC, NULL, 0,
29636         "OR_Phase", HFILL }},
29637     { &hf_gsm_map_ch_gmsc_OrGsmSCF_Address,
29638       { "gmsc-OrGsmSCF-Address", "gsm_map.ch.gmsc_OrGsmSCF_Address",
29639         FT_BYTES, BASE_NONE, NULL, 0,
29640         "ISDN_AddressString", HFILL }},
29641     { &hf_gsm_map_ch_callReferenceNumber,
29642       { "callReferenceNumber", "gsm_map.ch.callReferenceNumber",
29643         FT_BYTES, BASE_NONE, NULL, 0,
29644         NULL, HFILL }},
29645     { &hf_gsm_map_ch_forwardingReason,
29646       { "forwardingReason", "gsm_map.ch.forwardingReason",
29647         FT_UINT32, BASE_DEC, VALS(gsm_map_ch_ForwardingReason_vals), 0,
29648         NULL, HFILL }},
29649     { &hf_gsm_map_ch_basicServiceGroup,
29650       { "basicServiceGroup", "gsm_map.ch.basicServiceGroup",
29651         FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
29652         "Ext_BasicServiceCode", HFILL }},
29653     { &hf_gsm_map_ch_networkSignalInfo,
29654       { "networkSignalInfo", "gsm_map.ch.networkSignalInfo_element",
29655         FT_NONE, BASE_NONE, NULL, 0,
29656         "ExternalSignalInfo", HFILL }},
29657     { &hf_gsm_map_ch_camelInfo,
29658       { "camelInfo", "gsm_map.ch.camelInfo_element",
29659         FT_NONE, BASE_NONE, NULL, 0,
29660         NULL, HFILL }},
29661     { &hf_gsm_map_ch_suppressionOfAnnouncement,
29662       { "suppressionOfAnnouncement", "gsm_map.ch.suppressionOfAnnouncement_element",
29663         FT_NONE, BASE_NONE, NULL, 0,
29664         NULL, HFILL }},
29665     { &hf_gsm_map_ch_alertingPattern,
29666       { "alertingPattern", "gsm_map.ch.alertingPattern",
29667         FT_BYTES, BASE_NONE, NULL, 0,
29668         NULL, HFILL }},
29669     { &hf_gsm_map_ch_ccbs_Call,
29670       { "ccbs-Call", "gsm_map.ch.ccbs_Call_element",
29671         FT_NONE, BASE_NONE, NULL, 0,
29672         NULL, HFILL }},
29673     { &hf_gsm_map_ch_supportedCCBS_Phase,
29674       { "supportedCCBS-Phase", "gsm_map.ch.supportedCCBS_Phase",
29675         FT_UINT32, BASE_DEC, NULL, 0,
29676         NULL, HFILL }},
29677     { &hf_gsm_map_ch_additionalSignalInfo,
29678       { "additionalSignalInfo", "gsm_map.ch.additionalSignalInfo_element",
29679         FT_NONE, BASE_NONE, NULL, 0,
29680         "Ext_ExternalSignalInfo", HFILL }},
29681     { &hf_gsm_map_ch_istSupportIndicator,
29682       { "istSupportIndicator", "gsm_map.ch.istSupportIndicator",
29683         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_IST_SupportIndicator_vals), 0,
29684         "IST_SupportIndicator", HFILL }},
29685     { &hf_gsm_map_ch_pre_pagingSupported,
29686       { "pre-pagingSupported", "gsm_map.ch.pre_pagingSupported_element",
29687         FT_NONE, BASE_NONE, NULL, 0,
29688         NULL, HFILL }},
29689     { &hf_gsm_map_ch_callDiversionTreatmentIndicator,
29690       { "callDiversionTreatmentIndicator", "gsm_map.ch.callDiversionTreatmentIndicator",
29691         FT_BYTES, BASE_NONE, NULL, 0,
29692         NULL, HFILL }},
29693     { &hf_gsm_map_ch_longFTN_Supported,
29694       { "longFTN-Supported", "gsm_map.ch.longFTN_Supported_element",
29695         FT_NONE, BASE_NONE, NULL, 0,
29696         NULL, HFILL }},
29697     { &hf_gsm_map_ch_suppress_VT_CSI,
29698       { "suppress-VT-CSI", "gsm_map.ch.suppress_VT_CSI_element",
29699         FT_NONE, BASE_NONE, NULL, 0,
29700         NULL, HFILL }},
29701     { &hf_gsm_map_ch_suppressIncomingCallBarring,
29702       { "suppressIncomingCallBarring", "gsm_map.ch.suppressIncomingCallBarring_element",
29703         FT_NONE, BASE_NONE, NULL, 0,
29704         NULL, HFILL }},
29705     { &hf_gsm_map_ch_gsmSCF_InitiatedCall,
29706       { "gsmSCF-InitiatedCall", "gsm_map.ch.gsmSCF_InitiatedCall_element",
29707         FT_NONE, BASE_NONE, NULL, 0,
29708         NULL, HFILL }},
29709     { &hf_gsm_map_ch_basicServiceGroup2,
29710       { "basicServiceGroup2", "gsm_map.ch.basicServiceGroup2",
29711         FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
29712         "Ext_BasicServiceCode", HFILL }},
29713     { &hf_gsm_map_ch_networkSignalInfo2,
29714       { "networkSignalInfo2", "gsm_map.ch.networkSignalInfo2_element",
29715         FT_NONE, BASE_NONE, NULL, 0,
29716         "ExternalSignalInfo", HFILL }},
29717     { &hf_gsm_map_ch_suppressMTSS,
29718       { "suppressMTSS", "gsm_map.ch.suppressMTSS",
29719         FT_BYTES, BASE_NONE, NULL, 0,
29720         NULL, HFILL }},
29721     { &hf_gsm_map_ch_mtRoamingRetrySupported,
29722       { "mtRoamingRetrySupported", "gsm_map.ch.mtRoamingRetrySupported_element",
29723         FT_NONE, BASE_NONE, NULL, 0,
29724         NULL, HFILL }},
29725     { &hf_gsm_map_ch_callPriority,
29726       { "callPriority", "gsm_map.ch.callPriority",
29727         FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0,
29728         "EMLPP_Priority", HFILL }},
29729     { &hf_gsm_map_ch_imsi,
29730       { "imsi", "gsm_map.ch.imsi",
29731         FT_BYTES, BASE_NONE, NULL, 0,
29732         NULL, HFILL }},
29733     { &hf_gsm_map_ch_extendedRoutingInfo,
29734       { "extendedRoutingInfo", "gsm_map.ch.extendedRoutingInfo",
29735         FT_UINT32, BASE_DEC, VALS(gsm_map_ch_ExtendedRoutingInfo_vals), 0,
29736         NULL, HFILL }},
29737     { &hf_gsm_map_ch_cugSubscriptionFlag,
29738       { "cugSubscriptionFlag", "gsm_map.ch.cugSubscriptionFlag_element",
29739         FT_NONE, BASE_NONE, NULL, 0,
29740         NULL, HFILL }},
29741     { &hf_gsm_map_ch_subscriberInfo,
29742       { "subscriberInfo", "gsm_map.ch.subscriberInfo_element",
29743         FT_NONE, BASE_NONE, NULL, 0,
29744         NULL, HFILL }},
29745     { &hf_gsm_map_ch_ss_List,
29746       { "ss-List", "gsm_map.ch.ss_List",
29747         FT_UINT32, BASE_DEC, NULL, 0,
29748         NULL, HFILL }},
29749     { &hf_gsm_map_ch_basicService,
29750       { "basicService", "gsm_map.ch.basicService",
29751         FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
29752         "Ext_BasicServiceCode", HFILL }},
29753     { &hf_gsm_map_ch_forwardingInterrogationRequired,
29754       { "forwardingInterrogationRequired", "gsm_map.ch.forwardingInterrogationRequired_element",
29755         FT_NONE, BASE_NONE, NULL, 0,
29756         NULL, HFILL }},
29757     { &hf_gsm_map_ch_vmsc_Address,
29758       { "vmsc-Address", "gsm_map.ch.vmsc_Address",
29759         FT_BYTES, BASE_NONE, NULL, 0,
29760         "ISDN_AddressString", HFILL }},
29761     { &hf_gsm_map_ch_naea_PreferredCI,
29762       { "naea-PreferredCI", "gsm_map.ch.naea_PreferredCI_element",
29763         FT_NONE, BASE_NONE, NULL, 0,
29764         NULL, HFILL }},
29765     { &hf_gsm_map_ch_ccbs_Indicators,
29766       { "ccbs-Indicators", "gsm_map.ch.ccbs_Indicators_element",
29767         FT_NONE, BASE_NONE, NULL, 0,
29768         NULL, HFILL }},
29769     { &hf_gsm_map_ch_numberPortabilityStatus,
29770       { "numberPortabilityStatus", "gsm_map.ch.numberPortabilityStatus",
29771         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NumberPortabilityStatus_vals), 0,
29772         NULL, HFILL }},
29773     { &hf_gsm_map_ch_istAlertTimer,
29774       { "istAlertTimer", "gsm_map.ch.istAlertTimer",
29775         FT_UINT32, BASE_DEC, NULL, 0,
29776         "IST_AlertTimerValue", HFILL }},
29777     { &hf_gsm_map_ch_supportedCamelPhasesInVMSC,
29778       { "supportedCamelPhasesInVMSC", "gsm_map.ch.supportedCamelPhasesInVMSC",
29779         FT_BYTES, BASE_NONE, NULL, 0,
29780         "SupportedCamelPhases", HFILL }},
29781     { &hf_gsm_map_ch_offeredCamel4CSIsInVMSC,
29782       { "offeredCamel4CSIsInVMSC", "gsm_map.ch.offeredCamel4CSIsInVMSC",
29783         FT_BYTES, BASE_NONE, NULL, 0,
29784         "OfferedCamel4CSIs", HFILL }},
29785     { &hf_gsm_map_ch_routingInfo2,
29786       { "routingInfo2", "gsm_map.ch.routingInfo2",
29787         FT_UINT32, BASE_DEC, VALS(gsm_map_ch_RoutingInfo_vals), 0,
29788         "RoutingInfo", HFILL }},
29789     { &hf_gsm_map_ch_ss_List2,
29790       { "ss-List2", "gsm_map.ch.ss_List2",
29791         FT_UINT32, BASE_DEC, NULL, 0,
29792         "SS_List", HFILL }},
29793     { &hf_gsm_map_ch_basicService2,
29794       { "basicService2", "gsm_map.ch.basicService2",
29795         FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
29796         "Ext_BasicServiceCode", HFILL }},
29797     { &hf_gsm_map_ch_allowedServices,
29798       { "allowedServices", "gsm_map.ch.allowedServices",
29799         FT_BYTES, BASE_NONE, NULL, 0,
29800         NULL, HFILL }},
29801     { &hf_gsm_map_ch_unavailabilityCause,
29802       { "unavailabilityCause", "gsm_map.ch.unavailabilityCause",
29803         FT_UINT32, BASE_DEC, VALS(gsm_map_ch_UnavailabilityCause_vals), 0,
29804         NULL, HFILL }},
29805     { &hf_gsm_map_ch_releaseResourcesSupported,
29806       { "releaseResourcesSupported", "gsm_map.ch.releaseResourcesSupported_element",
29807         FT_NONE, BASE_NONE, NULL, 0,
29808         NULL, HFILL }},
29809     { &hf_gsm_map_ch_gsm_BearerCapability,
29810       { "gsm-BearerCapability", "gsm_map.ch.gsm_BearerCapability_element",
29811         FT_NONE, BASE_NONE, NULL, 0,
29812         "ExternalSignalInfo", HFILL }},
29813     { &hf_gsm_map_ch_ccbs_Possible,
29814       { "ccbs-Possible", "gsm_map.ch.ccbs_Possible_element",
29815         FT_NONE, BASE_NONE, NULL, 0,
29816         NULL, HFILL }},
29817     { &hf_gsm_map_ch_keepCCBS_CallIndicator,
29818       { "keepCCBS-CallIndicator", "gsm_map.ch.keepCCBS_CallIndicator_element",
29819         FT_NONE, BASE_NONE, NULL, 0,
29820         NULL, HFILL }},
29821     { &hf_gsm_map_ch_roamingNumber,
29822       { "roamingNumber", "gsm_map.ch.roamingNumber",
29823         FT_BYTES, BASE_NONE, NULL, 0,
29824         "ISDN_AddressString", HFILL }},
29825     { &hf_gsm_map_ch_forwardingData,
29826       { "forwardingData", "gsm_map.ch.forwardingData_element",
29827         FT_NONE, BASE_NONE, NULL, 0,
29828         NULL, HFILL }},
29829     { &hf_gsm_map_ch_forwardedToNumber,
29830       { "forwardedToNumber", "gsm_map.ch.forwardedToNumber",
29831         FT_BYTES, BASE_NONE, NULL, 0,
29832         "ISDN_AddressString", HFILL }},
29833     { &hf_gsm_map_ch_forwardedToSubaddress,
29834       { "forwardedToSubaddress", "gsm_map.ch.forwardedToSubaddress",
29835         FT_BYTES, BASE_NONE, NULL, 0,
29836         "ISDN_SubaddressString", HFILL }},
29837     { &hf_gsm_map_ch_forwardingOptions,
29838       { "forwardingOptions", "gsm_map.ch.forwardingOptions",
29839         FT_BYTES, BASE_NONE, NULL, 0,
29840         NULL, HFILL }},
29841     { &hf_gsm_map_ch_longForwardedToNumber,
29842       { "longForwardedToNumber", "gsm_map.ch.longForwardedToNumber",
29843         FT_BYTES, BASE_NONE, NULL, 0,
29844         "FTN_AddressString", HFILL }},
29845     { &hf_gsm_map_ch_msc_Number,
29846       { "msc-Number", "gsm_map.ch.msc_Number",
29847         FT_BYTES, BASE_NONE, NULL, 0,
29848         "ISDN_AddressString", HFILL }},
29849     { &hf_gsm_map_ch_lmsi,
29850       { "lmsi", "gsm_map.ch.lmsi",
29851         FT_BYTES, BASE_NONE, NULL, 0,
29852         NULL, HFILL }},
29853     { &hf_gsm_map_ch_gmsc_Address,
29854       { "gmsc-Address", "gsm_map.ch.gmsc_Address",
29855         FT_BYTES, BASE_NONE, NULL, 0,
29856         "ISDN_AddressString", HFILL }},
29857     { &hf_gsm_map_ch_supportedCamelPhasesInInterrogatingNode,
29858       { "supportedCamelPhasesInInterrogatingNode", "gsm_map.ch.supportedCamelPhasesInInterrogatingNode",
29859         FT_BYTES, BASE_NONE, NULL, 0,
29860         "SupportedCamelPhases", HFILL }},
29861     { &hf_gsm_map_ch_orNotSupportedInGMSC,
29862       { "orNotSupportedInGMSC", "gsm_map.ch.orNotSupportedInGMSC_element",
29863         FT_NONE, BASE_NONE, NULL, 0,
29864         NULL, HFILL }},
29865     { &hf_gsm_map_ch_offeredCamel4CSIsInInterrogatingNode,
29866       { "offeredCamel4CSIsInInterrogatingNode", "gsm_map.ch.offeredCamel4CSIsInInterrogatingNode",
29867         FT_BYTES, BASE_NONE, NULL, 0,
29868         "OfferedCamel4CSIs", HFILL }},
29869     { &hf_gsm_map_ch_pagingArea,
29870       { "pagingArea", "gsm_map.ch.pagingArea",
29871         FT_UINT32, BASE_DEC, NULL, 0,
29872         NULL, HFILL }},
29873     { &hf_gsm_map_ch_mtrf_Indicator,
29874       { "mtrf-Indicator", "gsm_map.ch.mtrf_Indicator_element",
29875         FT_NONE, BASE_NONE, NULL, 0,
29876         NULL, HFILL }},
29877     { &hf_gsm_map_ch_oldMSC_Number,
29878       { "oldMSC-Number", "gsm_map.ch.oldMSC_Number",
29879         FT_BYTES, BASE_NONE, NULL, 0,
29880         "ISDN_AddressString", HFILL }},
29881     { &hf_gsm_map_ch_lastUsedLtePLMN_Id,
29882       { "lastUsedLtePLMN-Id", "gsm_map.ch.lastUsedLtePLMN_Id",
29883         FT_BYTES, BASE_NONE, NULL, 0,
29884         "PLMN_Id", HFILL }},
29885     { &hf_gsm_map_ch_o_CSI,
29886       { "o-CSI", "gsm_map.ch.o_CSI_element",
29887         FT_NONE, BASE_NONE, NULL, 0,
29888         NULL, HFILL }},
29889     { &hf_gsm_map_ch_uu_Data,
29890       { "uu-Data", "gsm_map.ch.uu_Data_element",
29891         FT_NONE, BASE_NONE, NULL, 0,
29892         NULL, HFILL }},
29893     { &hf_gsm_map_ch_allInformationSent,
29894       { "allInformationSent", "gsm_map.ch.allInformationSent_element",
29895         FT_NONE, BASE_NONE, NULL, 0,
29896         NULL, HFILL }},
29897     { &hf_gsm_map_ch_d_csi,
29898       { "d-csi", "gsm_map.ch.d_csi_element",
29899         FT_NONE, BASE_NONE, NULL, 0,
29900         NULL, HFILL }},
29901     { &hf_gsm_map_ch_o_BcsmCamelTDPCriteriaList,
29902       { "o-BcsmCamelTDPCriteriaList", "gsm_map.ch.o_BcsmCamelTDPCriteriaList",
29903         FT_UINT32, BASE_DEC, NULL, 0,
29904         NULL, HFILL }},
29905     { &hf_gsm_map_ch_mtRoamingRetry,
29906       { "mtRoamingRetry", "gsm_map.ch.mtRoamingRetry_element",
29907         FT_NONE, BASE_NONE, NULL, 0,
29908         NULL, HFILL }},
29909     { &hf_gsm_map_ch_uuIndicator,
29910       { "uuIndicator", "gsm_map.ch.uuIndicator",
29911         FT_BYTES, BASE_NONE, NULL, 0,
29912         NULL, HFILL }},
29913     { &hf_gsm_map_ch_uui,
29914       { "uui", "gsm_map.ch.uui",
29915         FT_BYTES, BASE_NONE, NULL, 0,
29916         NULL, HFILL }},
29917     { &hf_gsm_map_ch_uusCFInteraction,
29918       { "uusCFInteraction", "gsm_map.ch.uusCFInteraction_element",
29919         FT_NONE, BASE_NONE, NULL, 0,
29920         NULL, HFILL }},
29921     { &hf_gsm_map_ch_supportedCamelPhases,
29922       { "supportedCamelPhases", "gsm_map.ch.supportedCamelPhases",
29923         FT_BYTES, BASE_NONE, NULL, 0,
29924         NULL, HFILL }},
29925     { &hf_gsm_map_ch_suppress_T_CSI,
29926       { "suppress-T-CSI", "gsm_map.ch.suppress_T_CSI_element",
29927         FT_NONE, BASE_NONE, NULL, 0,
29928         NULL, HFILL }},
29929     { &hf_gsm_map_ch_offeredCamel4CSIs,
29930       { "offeredCamel4CSIs", "gsm_map.ch.offeredCamel4CSIs",
29931         FT_BYTES, BASE_NONE, NULL, 0,
29932         NULL, HFILL }},
29933     { &hf_gsm_map_ch_routingInfo,
29934       { "routingInfo", "gsm_map.ch.routingInfo",
29935         FT_UINT32, BASE_DEC, VALS(gsm_map_ch_RoutingInfo_vals), 0,
29936         NULL, HFILL }},
29937     { &hf_gsm_map_ch_camelRoutingInfo,
29938       { "camelRoutingInfo", "gsm_map.ch.camelRoutingInfo_element",
29939         FT_NONE, BASE_NONE, NULL, 0,
29940         NULL, HFILL }},
29941     { &hf_gsm_map_ch_gmscCamelSubscriptionInfo,
29942       { "gmscCamelSubscriptionInfo", "gsm_map.ch.gmscCamelSubscriptionInfo_element",
29943         FT_NONE, BASE_NONE, NULL, 0,
29944         NULL, HFILL }},
29945     { &hf_gsm_map_ch_t_CSI,
29946       { "t-CSI", "gsm_map.ch.t_CSI_element",
29947         FT_NONE, BASE_NONE, NULL, 0,
29948         NULL, HFILL }},
29949     { &hf_gsm_map_ch_o_BcsmCamelTDP_CriteriaList,
29950       { "o-BcsmCamelTDP-CriteriaList", "gsm_map.ch.o_BcsmCamelTDP_CriteriaList",
29951         FT_UINT32, BASE_DEC, NULL, 0,
29952         "O_BcsmCamelTDPCriteriaList", HFILL }},
29953     { &hf_gsm_map_ch_t_BCSM_CAMEL_TDP_CriteriaList,
29954       { "t-BCSM-CAMEL-TDP-CriteriaList", "gsm_map.ch.t_BCSM_CAMEL_TDP_CriteriaList",
29955         FT_UINT32, BASE_DEC, NULL, 0,
29956         NULL, HFILL }},
29957     { &hf_gsm_map_ch_ccbs_Monitoring,
29958       { "ccbs-Monitoring", "gsm_map.ch.ccbs_Monitoring",
29959         FT_UINT32, BASE_DEC, VALS(gsm_map_ch_ReportingState_vals), 0,
29960         "ReportingState", HFILL }},
29961     { &hf_gsm_map_ch_ccbs_SubscriberStatus,
29962       { "ccbs-SubscriberStatus", "gsm_map.ch.ccbs_SubscriberStatus",
29963         FT_UINT32, BASE_DEC, VALS(gsm_map_ch_CCBS_SubscriberStatus_vals), 0,
29964         NULL, HFILL }},
29965     { &hf_gsm_map_ch_eventReportData,
29966       { "eventReportData", "gsm_map.ch.eventReportData_element",
29967         FT_NONE, BASE_NONE, NULL, 0,
29968         NULL, HFILL }},
29969     { &hf_gsm_map_ch_callReportdata,
29970       { "callReportdata", "gsm_map.ch.callReportdata_element",
29971         FT_NONE, BASE_NONE, NULL, 0,
29972         NULL, HFILL }},
29973     { &hf_gsm_map_ch_monitoringMode,
29974       { "monitoringMode", "gsm_map.ch.monitoringMode",
29975         FT_UINT32, BASE_DEC, VALS(gsm_map_ch_MonitoringMode_vals), 0,
29976         NULL, HFILL }},
29977     { &hf_gsm_map_ch_callOutcome,
29978       { "callOutcome", "gsm_map.ch.callOutcome",
29979         FT_UINT32, BASE_DEC, VALS(gsm_map_ch_CallOutcome_vals), 0,
29980         NULL, HFILL }},
29981     { &hf_gsm_map_ch_callInfo,
29982       { "callInfo", "gsm_map.ch.callInfo_element",
29983         FT_NONE, BASE_NONE, NULL, 0,
29984         "ExternalSignalInfo", HFILL }},
29985     { &hf_gsm_map_ch_ccbs_Feature,
29986       { "ccbs-Feature", "gsm_map.ch.ccbs_Feature_element",
29987         FT_NONE, BASE_NONE, NULL, 0,
29988         NULL, HFILL }},
29989     { &hf_gsm_map_ch_translatedB_Number,
29990       { "translatedB-Number", "gsm_map.ch.translatedB_Number",
29991         FT_BYTES, BASE_NONE, NULL, 0,
29992         "ISDN_AddressString", HFILL }},
29993     { &hf_gsm_map_ch_replaceB_Number,
29994       { "replaceB-Number", "gsm_map.ch.replaceB_Number_element",
29995         FT_NONE, BASE_NONE, NULL, 0,
29996         NULL, HFILL }},
29997     { &hf_gsm_map_ch_ruf_Outcome,
29998       { "ruf-Outcome", "gsm_map.ch.ruf_Outcome",
29999         FT_UINT32, BASE_DEC, VALS(gsm_map_ch_RUF_Outcome_vals), 0,
30000         NULL, HFILL }},
30001     { &hf_gsm_map_ch_istInformationWithdraw,
30002       { "istInformationWithdraw", "gsm_map.ch.istInformationWithdraw_element",
30003         FT_NONE, BASE_NONE, NULL, 0,
30004         NULL, HFILL }},
30005     { &hf_gsm_map_ch_callTerminationIndicator,
30006       { "callTerminationIndicator", "gsm_map.ch.callTerminationIndicator",
30007         FT_UINT32, BASE_DEC, VALS(gsm_map_ch_CallTerminationIndicator_vals), 0,
30008         NULL, HFILL }},
30009     { &hf_gsm_map_ch_msrn,
30010       { "msrn", "gsm_map.ch.msrn",
30011         FT_BYTES, BASE_NONE, NULL, 0,
30012         "ISDN_AddressString", HFILL }},
30013     { &hf_gsm_map_ch_SuppressMTSS_suppressCUG,
30014       { "suppressCUG", "gsm.map.ch.SuppressMTSS.suppressCUG",
30015         FT_BOOLEAN, 8, NULL, 0x80,
30016         NULL, HFILL }},
30017     { &hf_gsm_map_ch_SuppressMTSS_suppressCCBS,
30018       { "suppressCCBS", "gsm.map.ch.SuppressMTSS.suppressCCBS",
30019         FT_BOOLEAN, 8, NULL, 0x40,
30020         NULL, HFILL }},
30021     { &hf_gsm_map_ch_AllowedServices_firstServiceAllowed,
30022       { "firstServiceAllowed", "gsm.map.ch.AllowedServices.firstServiceAllowed",
30023         FT_BOOLEAN, 8, NULL, 0x80,
30024         NULL, HFILL }},
30025     { &hf_gsm_map_ch_AllowedServices_secondServiceAllowed,
30026       { "secondServiceAllowed", "gsm.map.ch.AllowedServices.secondServiceAllowed",
30027         FT_BOOLEAN, 8, NULL, 0x40,
30028         NULL, HFILL }},
30029 
30030 /* --- Module MAP-LCS-DataTypes --- --- ---                                   */
30031 
30032     { &hf_gsm_map_lcs_gsm_map_lcs_LCS_ClientID_PDU,
30033       { "LCS-ClientID", "gsm_map.lcs.LCS_ClientID_element",
30034         FT_NONE, BASE_NONE, NULL, 0,
30035         NULL, HFILL }},
30036     { &hf_gsm_map_lcs_mlcNumber,
30037       { "mlcNumber", "gsm_map.lcs.mlcNumber",
30038         FT_BYTES, BASE_NONE, NULL, 0,
30039         "ISDN_AddressString", HFILL }},
30040     { &hf_gsm_map_lcs_targetMS,
30041       { "targetMS", "gsm_map.lcs.targetMS",
30042         FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberIdentity_vals), 0,
30043         "SubscriberIdentity", HFILL }},
30044     { &hf_gsm_map_lcs_extensionContainer,
30045       { "extensionContainer", "gsm_map.lcs.extensionContainer_element",
30046         FT_NONE, BASE_NONE, NULL, 0,
30047         NULL, HFILL }},
30048     { &hf_gsm_map_lcs_lcsLocationInfo,
30049       { "lcsLocationInfo", "gsm_map.lcs.lcsLocationInfo_element",
30050         FT_NONE, BASE_NONE, NULL, 0,
30051         NULL, HFILL }},
30052     { &hf_gsm_map_lcs_v_gmlc_Address,
30053       { "v-gmlc-Address", "gsm_map.lcs.v_gmlc_Address",
30054         FT_BYTES, BASE_NONE, NULL, 0,
30055         "GSN_Address", HFILL }},
30056     { &hf_gsm_map_lcs_h_gmlc_Address,
30057       { "h-gmlc-Address", "gsm_map.lcs.h_gmlc_Address",
30058         FT_BYTES, BASE_NONE, NULL, 0,
30059         "GSN_Address", HFILL }},
30060     { &hf_gsm_map_lcs_ppr_Address,
30061       { "ppr-Address", "gsm_map.lcs.ppr_Address",
30062         FT_BYTES, BASE_NONE, NULL, 0,
30063         "GSN_Address", HFILL }},
30064     { &hf_gsm_map_lcs_additional_v_gmlc_Address,
30065       { "additional-v-gmlc-Address", "gsm_map.lcs.additional_v_gmlc_Address",
30066         FT_BYTES, BASE_NONE, NULL, 0,
30067         "GSN_Address", HFILL }},
30068     { &hf_gsm_map_lcs_networkNode_Number,
30069       { "networkNode-Number", "gsm_map.lcs.networkNode_Number",
30070         FT_BYTES, BASE_NONE, NULL, 0,
30071         "ISDN_AddressString", HFILL }},
30072     { &hf_gsm_map_lcs_lmsi,
30073       { "lmsi", "gsm_map.lcs.lmsi",
30074         FT_BYTES, BASE_NONE, NULL, 0,
30075         NULL, HFILL }},
30076     { &hf_gsm_map_lcs_gprsNodeIndicator,
30077       { "gprsNodeIndicator", "gsm_map.lcs.gprsNodeIndicator_element",
30078         FT_NONE, BASE_NONE, NULL, 0,
30079         NULL, HFILL }},
30080     { &hf_gsm_map_lcs_additional_Number,
30081       { "additional-Number", "gsm_map.lcs.additional_Number",
30082         FT_UINT32, BASE_DEC, VALS(gsm_map_sm_Additional_Number_vals), 0,
30083         NULL, HFILL }},
30084     { &hf_gsm_map_lcs_supportedLCS_CapabilitySets,
30085       { "supportedLCS-CapabilitySets", "gsm_map.lcs.supportedLCS_CapabilitySets",
30086         FT_BYTES, BASE_NONE, NULL, 0,
30087         NULL, HFILL }},
30088     { &hf_gsm_map_lcs_additional_LCS_CapabilitySets,
30089       { "additional-LCS-CapabilitySets", "gsm_map.lcs.additional_LCS_CapabilitySets",
30090         FT_BYTES, BASE_NONE, NULL, 0,
30091         "SupportedLCS_CapabilitySets", HFILL }},
30092     { &hf_gsm_map_lcs_mme_Name,
30093       { "mme-Name", "gsm_map.lcs.mme_Name",
30094         FT_STRING, STR_ASCII, NULL, 0,
30095         "DiameterIdentity", HFILL }},
30096     { &hf_gsm_map_lcs_aaa_Server_Name,
30097       { "aaa-Server-Name", "gsm_map.lcs.aaa_Server_Name",
30098         FT_STRING, STR_ASCII, NULL, 0,
30099         "DiameterIdentity", HFILL }},
30100     { &hf_gsm_map_lcs_sgsn_Name,
30101       { "sgsn-Name", "gsm_map.lcs.sgsn_Name",
30102         FT_STRING, STR_ASCII, NULL, 0,
30103         "DiameterIdentity", HFILL }},
30104     { &hf_gsm_map_lcs_sgsn_Realm,
30105       { "sgsn-Realm", "gsm_map.lcs.sgsn_Realm",
30106         FT_STRING, STR_ASCII, NULL, 0,
30107         "DiameterIdentity", HFILL }},
30108     { &hf_gsm_map_lcs_locationType,
30109       { "locationType", "gsm_map.lcs.locationType_element",
30110         FT_NONE, BASE_NONE, NULL, 0,
30111         NULL, HFILL }},
30112     { &hf_gsm_map_lcs_mlc_Number,
30113       { "mlc-Number", "gsm_map.lcs.mlc_Number",
30114         FT_BYTES, BASE_NONE, NULL, 0,
30115         "ISDN_AddressString", HFILL }},
30116     { &hf_gsm_map_lcs_lcs_ClientID,
30117       { "lcs-ClientID", "gsm_map.lcs.lcs_ClientID_element",
30118         FT_NONE, BASE_NONE, NULL, 0,
30119         NULL, HFILL }},
30120     { &hf_gsm_map_lcs_privacyOverride,
30121       { "privacyOverride", "gsm_map.lcs.privacyOverride_element",
30122         FT_NONE, BASE_NONE, NULL, 0,
30123         NULL, HFILL }},
30124     { &hf_gsm_map_lcs_imsi,
30125       { "imsi", "gsm_map.lcs.imsi",
30126         FT_BYTES, BASE_NONE, NULL, 0,
30127         NULL, HFILL }},
30128     { &hf_gsm_map_lcs_msisdn,
30129       { "msisdn", "gsm_map.lcs.msisdn",
30130         FT_BYTES, BASE_NONE, NULL, 0,
30131         "ISDN_AddressString", HFILL }},
30132     { &hf_gsm_map_lcs_imei,
30133       { "imei", "gsm_map.lcs.imei",
30134         FT_BYTES, BASE_NONE, NULL, 0,
30135         NULL, HFILL }},
30136     { &hf_gsm_map_lcs_lcs_Priority,
30137       { "lcs-Priority", "gsm_map.lcs.lcs_Priority",
30138         FT_BYTES, BASE_NONE, NULL, 0,
30139         NULL, HFILL }},
30140     { &hf_gsm_map_lcs_lcs_QoS,
30141       { "lcs-QoS", "gsm_map.lcs.lcs_QoS_element",
30142         FT_NONE, BASE_NONE, NULL, 0,
30143         NULL, HFILL }},
30144     { &hf_gsm_map_lcs_supportedGADShapes,
30145       { "supportedGADShapes", "gsm_map.lcs.supportedGADShapes",
30146         FT_BYTES, BASE_NONE, NULL, 0,
30147         NULL, HFILL }},
30148     { &hf_gsm_map_lcs_lcs_ReferenceNumber,
30149       { "lcs-ReferenceNumber", "gsm_map.lcs.lcs_ReferenceNumber",
30150         FT_BYTES, BASE_NONE, NULL, 0,
30151         NULL, HFILL }},
30152     { &hf_gsm_map_lcs_lcsServiceTypeID,
30153       { "lcsServiceTypeID", "gsm_map.lcs.lcsServiceTypeID",
30154         FT_UINT32, BASE_DEC, VALS(gsm_map_LCSServiceTypeID_vals), 0,
30155         NULL, HFILL }},
30156     { &hf_gsm_map_lcs_lcsCodeword,
30157       { "lcsCodeword", "gsm_map.lcs.lcsCodeword_element",
30158         FT_NONE, BASE_NONE, NULL, 0,
30159         NULL, HFILL }},
30160     { &hf_gsm_map_lcs_lcs_PrivacyCheck,
30161       { "lcs-PrivacyCheck", "gsm_map.lcs.lcs_PrivacyCheck_element",
30162         FT_NONE, BASE_NONE, NULL, 0,
30163         NULL, HFILL }},
30164     { &hf_gsm_map_lcs_areaEventInfo,
30165       { "areaEventInfo", "gsm_map.lcs.areaEventInfo_element",
30166         FT_NONE, BASE_NONE, NULL, 0,
30167         NULL, HFILL }},
30168     { &hf_gsm_map_lcs_mo_lrShortCircuitIndicator,
30169       { "mo-lrShortCircuitIndicator", "gsm_map.lcs.mo_lrShortCircuitIndicator_element",
30170         FT_NONE, BASE_NONE, NULL, 0,
30171         NULL, HFILL }},
30172     { &hf_gsm_map_lcs_periodicLDRInfo,
30173       { "periodicLDRInfo", "gsm_map.lcs.periodicLDRInfo_element",
30174         FT_NONE, BASE_NONE, NULL, 0,
30175         NULL, HFILL }},
30176     { &hf_gsm_map_lcs_reportingPLMNList,
30177       { "reportingPLMNList", "gsm_map.lcs.reportingPLMNList_element",
30178         FT_NONE, BASE_NONE, NULL, 0,
30179         NULL, HFILL }},
30180     { &hf_gsm_map_lcs_locationEstimateType,
30181       { "locationEstimateType", "gsm_map.lcs.locationEstimateType",
30182         FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LocationEstimateType_vals), 0,
30183         NULL, HFILL }},
30184     { &hf_gsm_map_lcs_deferredLocationEventType,
30185       { "deferredLocationEventType", "gsm_map.lcs.deferredLocationEventType",
30186         FT_BYTES, BASE_NONE, NULL, 0,
30187         NULL, HFILL }},
30188     { &hf_gsm_map_lcs_lcsClientType,
30189       { "lcsClientType", "gsm_map.lcs.lcsClientType",
30190         FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LCSClientType_vals), 0,
30191         NULL, HFILL }},
30192     { &hf_gsm_map_lcs_lcsClientExternalID,
30193       { "lcsClientExternalID", "gsm_map.lcs.lcsClientExternalID_element",
30194         FT_NONE, BASE_NONE, NULL, 0,
30195         NULL, HFILL }},
30196     { &hf_gsm_map_lcs_lcsClientDialedByMS,
30197       { "lcsClientDialedByMS", "gsm_map.lcs.lcsClientDialedByMS",
30198         FT_BYTES, BASE_NONE, NULL, 0,
30199         "AddressString", HFILL }},
30200     { &hf_gsm_map_lcs_lcsClientInternalID,
30201       { "lcsClientInternalID", "gsm_map.lcs.lcsClientInternalID",
30202         FT_UINT32, BASE_DEC, VALS(gsm_map_LCSClientInternalID_vals), 0,
30203         NULL, HFILL }},
30204     { &hf_gsm_map_lcs_lcsClientName,
30205       { "lcsClientName", "gsm_map.lcs.lcsClientName_element",
30206         FT_NONE, BASE_NONE, NULL, 0,
30207         NULL, HFILL }},
30208     { &hf_gsm_map_lcs_lcsAPN,
30209       { "lcsAPN", "gsm_map.lcs.lcsAPN",
30210         FT_BYTES, BASE_NONE, NULL, 0,
30211         "APN", HFILL }},
30212     { &hf_gsm_map_lcs_lcsRequestorID,
30213       { "lcsRequestorID", "gsm_map.lcs.lcsRequestorID_element",
30214         FT_NONE, BASE_NONE, NULL, 0,
30215         NULL, HFILL }},
30216     { &hf_gsm_map_lcs_dataCodingScheme,
30217       { "dataCodingScheme", "gsm_map.lcs.dataCodingScheme",
30218         FT_BYTES, BASE_NONE, NULL, 0,
30219         "USSD_DataCodingScheme", HFILL }},
30220     { &hf_gsm_map_lcs_nameString,
30221       { "nameString", "gsm_map.lcs.nameString",
30222         FT_BYTES, BASE_NONE, NULL, 0,
30223         NULL, HFILL }},
30224     { &hf_gsm_map_lcs_lcs_FormatIndicator,
30225       { "lcs-FormatIndicator", "gsm_map.lcs.lcs_FormatIndicator",
30226         FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LCS_FormatIndicator_vals), 0,
30227         NULL, HFILL }},
30228     { &hf_gsm_map_lcs_requestorIDString,
30229       { "requestorIDString", "gsm_map.lcs.requestorIDString",
30230         FT_BYTES, BASE_NONE, NULL, 0,
30231         NULL, HFILL }},
30232     { &hf_gsm_map_lcs_horizontal_accuracy,
30233       { "horizontal-accuracy", "gsm_map.lcs.horizontal_accuracy",
30234         FT_BYTES, BASE_NONE, NULL, 0,
30235         NULL, HFILL }},
30236     { &hf_gsm_map_lcs_verticalCoordinateRequest,
30237       { "verticalCoordinateRequest", "gsm_map.lcs.verticalCoordinateRequest_element",
30238         FT_NONE, BASE_NONE, NULL, 0,
30239         NULL, HFILL }},
30240     { &hf_gsm_map_lcs_vertical_accuracy,
30241       { "vertical-accuracy", "gsm_map.lcs.vertical_accuracy",
30242         FT_BYTES, BASE_NONE, NULL, 0,
30243         NULL, HFILL }},
30244     { &hf_gsm_map_lcs_responseTime,
30245       { "responseTime", "gsm_map.lcs.responseTime_element",
30246         FT_NONE, BASE_NONE, NULL, 0,
30247         NULL, HFILL }},
30248     { &hf_gsm_map_lcs_velocityRequest,
30249       { "velocityRequest", "gsm_map.lcs.velocityRequest_element",
30250         FT_NONE, BASE_NONE, NULL, 0,
30251         NULL, HFILL }},
30252     { &hf_gsm_map_lcs_responseTimeCategory,
30253       { "responseTimeCategory", "gsm_map.lcs.responseTimeCategory",
30254         FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_ResponseTimeCategory_vals), 0,
30255         NULL, HFILL }},
30256     { &hf_gsm_map_lcs_lcsCodewordString,
30257       { "lcsCodewordString", "gsm_map.lcs.lcsCodewordString",
30258         FT_BYTES, BASE_NONE, NULL, 0,
30259         NULL, HFILL }},
30260     { &hf_gsm_map_lcs_callSessionUnrelated,
30261       { "callSessionUnrelated", "gsm_map.lcs.callSessionUnrelated",
30262         FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_PrivacyCheckRelatedAction_vals), 0,
30263         "PrivacyCheckRelatedAction", HFILL }},
30264     { &hf_gsm_map_lcs_callSessionRelated,
30265       { "callSessionRelated", "gsm_map.lcs.callSessionRelated",
30266         FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_PrivacyCheckRelatedAction_vals), 0,
30267         "PrivacyCheckRelatedAction", HFILL }},
30268     { &hf_gsm_map_lcs_areaDefinition,
30269       { "areaDefinition", "gsm_map.lcs.areaDefinition_element",
30270         FT_NONE, BASE_NONE, NULL, 0,
30271         NULL, HFILL }},
30272     { &hf_gsm_map_lcs_occurrenceInfo,
30273       { "occurrenceInfo", "gsm_map.lcs.occurrenceInfo",
30274         FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_OccurrenceInfo_vals), 0,
30275         NULL, HFILL }},
30276     { &hf_gsm_map_lcs_intervalTime,
30277       { "intervalTime", "gsm_map.lcs.intervalTime",
30278         FT_UINT32, BASE_DEC, NULL, 0,
30279         NULL, HFILL }},
30280     { &hf_gsm_map_lcs_areaList,
30281       { "areaList", "gsm_map.lcs.areaList",
30282         FT_UINT32, BASE_DEC, NULL, 0,
30283         NULL, HFILL }},
30284     { &hf_gsm_map_lcs_AreaList_item,
30285       { "Area", "gsm_map.lcs.Area_element",
30286         FT_NONE, BASE_NONE, NULL, 0,
30287         NULL, HFILL }},
30288     { &hf_gsm_map_lcs_areaType,
30289       { "areaType", "gsm_map.lcs.areaType",
30290         FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_AreaType_vals), 0,
30291         NULL, HFILL }},
30292     { &hf_gsm_map_lcs_areaIdentification,
30293       { "areaIdentification", "gsm_map.lcs.areaIdentification",
30294         FT_BYTES, BASE_NONE, NULL, 0,
30295         NULL, HFILL }},
30296     { &hf_gsm_map_lcs_reportingAmount,
30297       { "reportingAmount", "gsm_map.lcs.reportingAmount",
30298         FT_UINT32, BASE_DEC, NULL, 0,
30299         NULL, HFILL }},
30300     { &hf_gsm_map_lcs_reportingInterval,
30301       { "reportingInterval", "gsm_map.lcs.reportingInterval",
30302         FT_UINT32, BASE_DEC, NULL, 0,
30303         NULL, HFILL }},
30304     { &hf_gsm_map_lcs_plmn_ListPrioritized,
30305       { "plmn-ListPrioritized", "gsm_map.lcs.plmn_ListPrioritized_element",
30306         FT_NONE, BASE_NONE, NULL, 0,
30307         NULL, HFILL }},
30308     { &hf_gsm_map_lcs_plmn_List,
30309       { "plmn-List", "gsm_map.lcs.plmn_List",
30310         FT_UINT32, BASE_DEC, NULL, 0,
30311         "PLMNList", HFILL }},
30312     { &hf_gsm_map_lcs_PLMNList_item,
30313       { "ReportingPLMN", "gsm_map.lcs.ReportingPLMN_element",
30314         FT_NONE, BASE_NONE, NULL, 0,
30315         NULL, HFILL }},
30316     { &hf_gsm_map_lcs_plmn_Id,
30317       { "plmn-Id", "gsm_map.lcs.plmn_Id",
30318         FT_BYTES, BASE_NONE, NULL, 0,
30319         NULL, HFILL }},
30320     { &hf_gsm_map_lcs_ran_Technology,
30321       { "ran-Technology", "gsm_map.lcs.ran_Technology",
30322         FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_RAN_Technology_vals), 0,
30323         NULL, HFILL }},
30324     { &hf_gsm_map_lcs_ran_PeriodicLocationSupport,
30325       { "ran-PeriodicLocationSupport", "gsm_map.lcs.ran_PeriodicLocationSupport_element",
30326         FT_NONE, BASE_NONE, NULL, 0,
30327         NULL, HFILL }},
30328     { &hf_gsm_map_lcs_locationEstimate,
30329       { "locationEstimate", "gsm_map.lcs.locationEstimate",
30330         FT_BYTES, BASE_NONE, NULL, 0,
30331         "Ext_GeographicalInformation", HFILL }},
30332     { &hf_gsm_map_lcs_ageOfLocationEstimate,
30333       { "ageOfLocationEstimate", "gsm_map.lcs.ageOfLocationEstimate",
30334         FT_UINT32, BASE_DEC, NULL, 0,
30335         "AgeOfLocationInformation", HFILL }},
30336     { &hf_gsm_map_lcs_add_LocationEstimate,
30337       { "add-LocationEstimate", "gsm_map.lcs.add_LocationEstimate",
30338         FT_BYTES, BASE_NONE, NULL, 0,
30339         "Add_GeographicalInformation", HFILL }},
30340     { &hf_gsm_map_lcs_deferredmt_lrResponseIndicator,
30341       { "deferredmt-lrResponseIndicator", "gsm_map.lcs.deferredmt_lrResponseIndicator_element",
30342         FT_NONE, BASE_NONE, NULL, 0,
30343         NULL, HFILL }},
30344     { &hf_gsm_map_lcs_geranPositioningData,
30345       { "geranPositioningData", "gsm_map.lcs.geranPositioningData",
30346         FT_BYTES, BASE_NONE, NULL, 0,
30347         "PositioningDataInformation", HFILL }},
30348     { &hf_gsm_map_lcs_utranPositioningData,
30349       { "utranPositioningData", "gsm_map.lcs.utranPositioningData",
30350         FT_BYTES, BASE_NONE, NULL, 0,
30351         "UtranPositioningDataInfo", HFILL }},
30352     { &hf_gsm_map_lcs_cellIdOrSai,
30353       { "cellIdOrSai", "gsm_map.lcs.cellIdOrSai",
30354         FT_UINT32, BASE_DEC, VALS(gsm_map_CellGlobalIdOrServiceAreaIdOrLAI_vals), 0,
30355         "CellGlobalIdOrServiceAreaIdOrLAI", HFILL }},
30356     { &hf_gsm_map_lcs_sai_Present,
30357       { "sai-Present", "gsm_map.lcs.sai_Present_element",
30358         FT_NONE, BASE_NONE, NULL, 0,
30359         NULL, HFILL }},
30360     { &hf_gsm_map_lcs_accuracyFulfilmentIndicator,
30361       { "accuracyFulfilmentIndicator", "gsm_map.lcs.accuracyFulfilmentIndicator",
30362         FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_AccuracyFulfilmentIndicator_vals), 0,
30363         NULL, HFILL }},
30364     { &hf_gsm_map_lcs_velocityEstimate,
30365       { "velocityEstimate", "gsm_map.lcs.velocityEstimate",
30366         FT_BYTES, BASE_NONE, NULL, 0,
30367         NULL, HFILL }},
30368     { &hf_gsm_map_lcs_geranGANSSpositioningData,
30369       { "geranGANSSpositioningData", "gsm_map.lcs.geranGANSSpositioningData",
30370         FT_BYTES, BASE_NONE, NULL, 0,
30371         NULL, HFILL }},
30372     { &hf_gsm_map_lcs_utranGANSSpositioningData,
30373       { "utranGANSSpositioningData", "gsm_map.lcs.utranGANSSpositioningData",
30374         FT_BYTES, BASE_NONE, NULL, 0,
30375         NULL, HFILL }},
30376     { &hf_gsm_map_lcs_targetServingNodeForHandover,
30377       { "targetServingNodeForHandover", "gsm_map.lcs.targetServingNodeForHandover",
30378         FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_ServingNodeAddress_vals), 0,
30379         "ServingNodeAddress", HFILL }},
30380     { &hf_gsm_map_lcs_utranAdditionalPositioningData,
30381       { "utranAdditionalPositioningData", "gsm_map.lcs.utranAdditionalPositioningData",
30382         FT_BYTES, BASE_NONE, NULL, 0,
30383         NULL, HFILL }},
30384     { &hf_gsm_map_lcs_utranBaroPressureMeas,
30385       { "utranBaroPressureMeas", "gsm_map.lcs.utranBaroPressureMeas",
30386         FT_UINT32, BASE_DEC, NULL, 0,
30387         NULL, HFILL }},
30388     { &hf_gsm_map_lcs_utranCivicAddress,
30389       { "utranCivicAddress", "gsm_map.lcs.utranCivicAddress",
30390         FT_BYTES, BASE_NONE, NULL, 0,
30391         NULL, HFILL }},
30392     { &hf_gsm_map_lcs_lcs_Event,
30393       { "lcs-Event", "gsm_map.lcs.lcs_Event",
30394         FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_LCS_Event_vals), 0,
30395         NULL, HFILL }},
30396     { &hf_gsm_map_lcs_na_ESRD,
30397       { "na-ESRD", "gsm_map.lcs.na_ESRD",
30398         FT_BYTES, BASE_NONE, NULL, 0,
30399         "ISDN_AddressString", HFILL }},
30400     { &hf_gsm_map_lcs_na_ESRK,
30401       { "na-ESRK", "gsm_map.lcs.na_ESRK",
30402         FT_BYTES, BASE_NONE, NULL, 0,
30403         "ISDN_AddressString", HFILL }},
30404     { &hf_gsm_map_lcs_slr_ArgExtensionContainer,
30405       { "slr-ArgExtensionContainer", "gsm_map.lcs.slr_ArgExtensionContainer_element",
30406         FT_NONE, BASE_NONE, NULL, 0,
30407         NULL, HFILL }},
30408     { &hf_gsm_map_lcs_deferredmt_lrData,
30409       { "deferredmt-lrData", "gsm_map.lcs.deferredmt_lrData_element",
30410         FT_NONE, BASE_NONE, NULL, 0,
30411         NULL, HFILL }},
30412     { &hf_gsm_map_lcs_pseudonymIndicator,
30413       { "pseudonymIndicator", "gsm_map.lcs.pseudonymIndicator_element",
30414         FT_NONE, BASE_NONE, NULL, 0,
30415         NULL, HFILL }},
30416     { &hf_gsm_map_lcs_sequenceNumber,
30417       { "sequenceNumber", "gsm_map.lcs.sequenceNumber",
30418         FT_UINT32, BASE_DEC, NULL, 0,
30419         NULL, HFILL }},
30420     { &hf_gsm_map_lcs_terminationCause,
30421       { "terminationCause", "gsm_map.lcs.terminationCause",
30422         FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_TerminationCause_vals), 0,
30423         NULL, HFILL }},
30424     { &hf_gsm_map_lcs_msc_Number,
30425       { "msc-Number", "gsm_map.lcs.msc_Number",
30426         FT_BYTES, BASE_NONE, NULL, 0,
30427         "ISDN_AddressString", HFILL }},
30428     { &hf_gsm_map_lcs_sgsn_Number,
30429       { "sgsn-Number", "gsm_map.lcs.sgsn_Number",
30430         FT_BYTES, BASE_NONE, NULL, 0,
30431         "ISDN_AddressString", HFILL }},
30432     { &hf_gsm_map_lcs_mme_Number,
30433       { "mme-Number", "gsm_map.lcs.mme_Number",
30434         FT_STRING, STR_ASCII, NULL, 0,
30435         "DiameterIdentity", HFILL }},
30436     { &hf_gsm_map_lcs_DeferredLocationEventType_msAvailable,
30437       { "msAvailable", "gsm.map.lcs.DeferredLocationEventType.msAvailable",
30438         FT_BOOLEAN, 8, NULL, 0x80,
30439         NULL, HFILL }},
30440     { &hf_gsm_map_lcs_DeferredLocationEventType_enteringIntoArea,
30441       { "enteringIntoArea", "gsm.map.lcs.DeferredLocationEventType.enteringIntoArea",
30442         FT_BOOLEAN, 8, NULL, 0x40,
30443         NULL, HFILL }},
30444     { &hf_gsm_map_lcs_DeferredLocationEventType_leavingFromArea,
30445       { "leavingFromArea", "gsm.map.lcs.DeferredLocationEventType.leavingFromArea",
30446         FT_BOOLEAN, 8, NULL, 0x20,
30447         NULL, HFILL }},
30448     { &hf_gsm_map_lcs_DeferredLocationEventType_beingInsideArea,
30449       { "beingInsideArea", "gsm.map.lcs.DeferredLocationEventType.beingInsideArea",
30450         FT_BOOLEAN, 8, NULL, 0x10,
30451         NULL, HFILL }},
30452     { &hf_gsm_map_lcs_DeferredLocationEventType_periodicLDR,
30453       { "periodicLDR", "gsm.map.lcs.DeferredLocationEventType.periodicLDR",
30454         FT_BOOLEAN, 8, NULL, 0x08,
30455         NULL, HFILL }},
30456     { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPoint,
30457       { "ellipsoidPoint", "gsm.map.lcs.SupportedGADShapes.ellipsoidPoint",
30458         FT_BOOLEAN, 8, NULL, 0x80,
30459         NULL, HFILL }},
30460     { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyCircle,
30461       { "ellipsoidPointWithUncertaintyCircle", "gsm.map.lcs.SupportedGADShapes.ellipsoidPointWithUncertaintyCircle",
30462         FT_BOOLEAN, 8, NULL, 0x40,
30463         NULL, HFILL }},
30464     { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithUncertaintyEllipse,
30465       { "ellipsoidPointWithUncertaintyEllipse", "gsm.map.lcs.SupportedGADShapes.ellipsoidPointWithUncertaintyEllipse",
30466         FT_BOOLEAN, 8, NULL, 0x20,
30467         NULL, HFILL }},
30468     { &hf_gsm_map_lcs_SupportedGADShapes_polygon,
30469       { "polygon", "gsm.map.lcs.SupportedGADShapes.polygon",
30470         FT_BOOLEAN, 8, NULL, 0x10,
30471         NULL, HFILL }},
30472     { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitude,
30473       { "ellipsoidPointWithAltitude", "gsm.map.lcs.SupportedGADShapes.ellipsoidPointWithAltitude",
30474         FT_BOOLEAN, 8, NULL, 0x08,
30475         NULL, HFILL }},
30476     { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidPointWithAltitudeAndUncertaintyElipsoid,
30477       { "ellipsoidPointWithAltitudeAndUncertaintyElipsoid", "gsm.map.lcs.SupportedGADShapes.ellipsoidPointWithAltitudeAndUncertaintyElipsoid",
30478         FT_BOOLEAN, 8, NULL, 0x04,
30479         NULL, HFILL }},
30480     { &hf_gsm_map_lcs_SupportedGADShapes_ellipsoidArc,
30481       { "ellipsoidArc", "gsm.map.lcs.SupportedGADShapes.ellipsoidArc",
30482         FT_BOOLEAN, 8, NULL, 0x02,
30483         NULL, HFILL }},
30484 
30485 /* --- Module MAP-GR-DataTypes --- --- ---                                    */
30486 
30487     { &hf_gsm_map_gr_teleservice,
30488       { "teleservice", "gsm_map.gr.teleservice",
30489         FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
30490         "Ext_TeleserviceCode", HFILL }},
30491     { &hf_gsm_map_gr_asciCallReference,
30492       { "asciCallReference", "gsm_map.gr.asciCallReference",
30493         FT_BYTES, BASE_NONE, NULL, 0,
30494         "ASCI_CallReference", HFILL }},
30495     { &hf_gsm_map_gr_codec_Info,
30496       { "codec-Info", "gsm_map.gr.codec_Info",
30497         FT_BYTES, BASE_NONE, NULL, 0,
30498         NULL, HFILL }},
30499     { &hf_gsm_map_gr_cipheringAlgorithm,
30500       { "cipheringAlgorithm", "gsm_map.gr.cipheringAlgorithm",
30501         FT_BYTES, BASE_NONE, NULL, 0,
30502         NULL, HFILL }},
30503     { &hf_gsm_map_gr_groupKeyNumber_Vk_Id,
30504       { "groupKeyNumber-Vk-Id", "gsm_map.gr.groupKeyNumber_Vk_Id",
30505         FT_UINT32, BASE_DEC, NULL, 0,
30506         "GroupKeyNumber", HFILL }},
30507     { &hf_gsm_map_gr_groupKey,
30508       { "groupKey", "gsm_map.gr.groupKey",
30509         FT_BYTES, BASE_NONE, NULL, 0,
30510         "Kc", HFILL }},
30511     { &hf_gsm_map_gr_priority,
30512       { "priority", "gsm_map.gr.priority",
30513         FT_UINT32, BASE_DEC, VALS(gsm_map_EMLPP_Priority_vals), 0,
30514         "EMLPP_Priority", HFILL }},
30515     { &hf_gsm_map_gr_uplinkFree,
30516       { "uplinkFree", "gsm_map.gr.uplinkFree_element",
30517         FT_NONE, BASE_NONE, NULL, 0,
30518         NULL, HFILL }},
30519     { &hf_gsm_map_gr_extensionContainer,
30520       { "extensionContainer", "gsm_map.gr.extensionContainer_element",
30521         FT_NONE, BASE_NONE, NULL, 0,
30522         NULL, HFILL }},
30523     { &hf_gsm_map_gr_vstk,
30524       { "vstk", "gsm_map.gr.vstk",
30525         FT_BYTES, BASE_NONE, NULL, 0,
30526         NULL, HFILL }},
30527     { &hf_gsm_map_gr_vstk_rand,
30528       { "vstk-rand", "gsm_map.gr.vstk_rand",
30529         FT_BYTES, BASE_NONE, NULL, 0,
30530         NULL, HFILL }},
30531     { &hf_gsm_map_gr_talkerChannelParameter,
30532       { "talkerChannelParameter", "gsm_map.gr.talkerChannelParameter_element",
30533         FT_NONE, BASE_NONE, NULL, 0,
30534         NULL, HFILL }},
30535     { &hf_gsm_map_gr_uplinkReplyIndicator,
30536       { "uplinkReplyIndicator", "gsm_map.gr.uplinkReplyIndicator_element",
30537         FT_NONE, BASE_NONE, NULL, 0,
30538         NULL, HFILL }},
30539     { &hf_gsm_map_gr_groupCallNumber,
30540       { "groupCallNumber", "gsm_map.gr.groupCallNumber",
30541         FT_BYTES, BASE_NONE, NULL, 0,
30542         "ISDN_AddressString", HFILL }},
30543     { &hf_gsm_map_gr_imsi,
30544       { "imsi", "gsm_map.gr.imsi",
30545         FT_BYTES, BASE_NONE, NULL, 0,
30546         NULL, HFILL }},
30547     { &hf_gsm_map_gr_talkerPriority,
30548       { "talkerPriority", "gsm_map.gr.talkerPriority",
30549         FT_UINT32, BASE_DEC, VALS(gsm_map_gr_TalkerPriority_vals), 0,
30550         NULL, HFILL }},
30551     { &hf_gsm_map_gr_additionalInfo,
30552       { "additionalInfo", "gsm_map.gr.additionalInfo",
30553         FT_BYTES, BASE_NONE, NULL, 0,
30554         NULL, HFILL }},
30555     { &hf_gsm_map_gr_uplinkRequestAck,
30556       { "uplinkRequestAck", "gsm_map.gr.uplinkRequestAck_element",
30557         FT_NONE, BASE_NONE, NULL, 0,
30558         NULL, HFILL }},
30559     { &hf_gsm_map_gr_uplinkReleaseIndication,
30560       { "uplinkReleaseIndication", "gsm_map.gr.uplinkReleaseIndication_element",
30561         FT_NONE, BASE_NONE, NULL, 0,
30562         NULL, HFILL }},
30563     { &hf_gsm_map_gr_uplinkRejectCommand,
30564       { "uplinkRejectCommand", "gsm_map.gr.uplinkRejectCommand_element",
30565         FT_NONE, BASE_NONE, NULL, 0,
30566         NULL, HFILL }},
30567     { &hf_gsm_map_gr_uplinkSeizedCommand,
30568       { "uplinkSeizedCommand", "gsm_map.gr.uplinkSeizedCommand_element",
30569         FT_NONE, BASE_NONE, NULL, 0,
30570         NULL, HFILL }},
30571     { &hf_gsm_map_gr_uplinkReleaseCommand,
30572       { "uplinkReleaseCommand", "gsm_map.gr.uplinkReleaseCommand_element",
30573         FT_NONE, BASE_NONE, NULL, 0,
30574         NULL, HFILL }},
30575     { &hf_gsm_map_gr_stateAttributes,
30576       { "stateAttributes", "gsm_map.gr.stateAttributes_element",
30577         FT_NONE, BASE_NONE, NULL, 0,
30578         NULL, HFILL }},
30579     { &hf_gsm_map_gr_emergencyModeResetCommandFlag,
30580       { "emergencyModeResetCommandFlag", "gsm_map.gr.emergencyModeResetCommandFlag_element",
30581         FT_NONE, BASE_NONE, NULL, 0,
30582         NULL, HFILL }},
30583     { &hf_gsm_map_gr_sm_RP_UI,
30584       { "sm-RP-UI", "gsm_map.gr.sm_RP_UI",
30585         FT_BYTES, BASE_NONE, NULL, 0,
30586         "SignalInfo", HFILL }},
30587     { &hf_gsm_map_gr_an_APDU,
30588       { "an-APDU", "gsm_map.gr.an_APDU_element",
30589         FT_NONE, BASE_NONE, NULL, 0,
30590         "AccessNetworkSignalInfo", HFILL }},
30591     { &hf_gsm_map_gr_uplinkRequest,
30592       { "uplinkRequest", "gsm_map.gr.uplinkRequest_element",
30593         FT_NONE, BASE_NONE, NULL, 0,
30594         NULL, HFILL }},
30595     { &hf_gsm_map_gr_releaseGroupCall,
30596       { "releaseGroupCall", "gsm_map.gr.releaseGroupCall_element",
30597         FT_NONE, BASE_NONE, NULL, 0,
30598         NULL, HFILL }},
30599     { &hf_gsm_map_gr_downlinkAttached,
30600       { "downlinkAttached", "gsm_map.gr.downlinkAttached_element",
30601         FT_NONE, BASE_NONE, NULL, 0,
30602         NULL, HFILL }},
30603     { &hf_gsm_map_gr_uplinkAttached,
30604       { "uplinkAttached", "gsm_map.gr.uplinkAttached_element",
30605         FT_NONE, BASE_NONE, NULL, 0,
30606         NULL, HFILL }},
30607     { &hf_gsm_map_gr_dualCommunication,
30608       { "dualCommunication", "gsm_map.gr.dualCommunication_element",
30609         FT_NONE, BASE_NONE, NULL, 0,
30610         NULL, HFILL }},
30611     { &hf_gsm_map_gr_callOriginator,
30612       { "callOriginator", "gsm_map.gr.callOriginator_element",
30613         FT_NONE, BASE_NONE, NULL, 0,
30614         NULL, HFILL }},
30615     { &hf_gsm_map_gr_requestedInfo,
30616       { "requestedInfo", "gsm_map.gr.requestedInfo",
30617         FT_UINT32, BASE_DEC, VALS(gsm_map_gr_RequestedInfo_vals), 0,
30618         NULL, HFILL }},
30619     { &hf_gsm_map_gr_groupId,
30620       { "groupId", "gsm_map.gr.groupId",
30621         FT_BYTES, BASE_NONE, NULL, 0,
30622         "Long_GroupId", HFILL }},
30623     { &hf_gsm_map_gr_cellId,
30624       { "cellId", "gsm_map.gr.cellId",
30625         FT_BYTES, BASE_NONE, NULL, 0,
30626         "GlobalCellId", HFILL }},
30627     { &hf_gsm_map_gr_tmsi,
30628       { "tmsi", "gsm_map.gr.tmsi",
30629         FT_BYTES, BASE_NONE, NULL, 0,
30630         NULL, HFILL }},
30631     { &hf_gsm_map_gr_cksn,
30632       { "cksn", "gsm_map.gr.cksn",
30633         FT_BYTES, BASE_NONE, NULL, 0,
30634         NULL, HFILL }},
30635     { &hf_gsm_map_gr_anchorMSC_Address,
30636       { "anchorMSC-Address", "gsm_map.gr.anchorMSC_Address",
30637         FT_BYTES, BASE_NONE, NULL, 0,
30638         "ISDN_AddressString", HFILL }},
30639     { &hf_gsm_map_gr_additionalSubscriptions,
30640       { "additionalSubscriptions", "gsm_map.gr.additionalSubscriptions",
30641         FT_BYTES, BASE_NONE, NULL, 0,
30642         NULL, HFILL }},
30643     { &hf_gsm_map_gr_kc,
30644       { "kc", "gsm_map.gr.kc",
30645         FT_BYTES, BASE_NONE, NULL, 0,
30646         NULL, HFILL }},
30647 
30648 /* --- Module MAP-DialogueInformation --- --- ---                             */
30649 
30650     { &hf_gsm_map_dialogue_gsm_map_dialogue_MAP_DialoguePDU_PDU,
30651       { "MAP-DialoguePDU", "gsm_map.dialogue.MAP_DialoguePDU",
30652         FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_MAP_DialoguePDU_vals), 0,
30653         NULL, HFILL }},
30654     { &hf_gsm_map_dialogue_map_open,
30655       { "map-open", "gsm_map.dialogue.map_open_element",
30656         FT_NONE, BASE_NONE, NULL, 0,
30657         "MAP_OpenInfo", HFILL }},
30658     { &hf_gsm_map_dialogue_map_accept,
30659       { "map-accept", "gsm_map.dialogue.map_accept_element",
30660         FT_NONE, BASE_NONE, NULL, 0,
30661         "MAP_AcceptInfo", HFILL }},
30662     { &hf_gsm_map_dialogue_map_close,
30663       { "map-close", "gsm_map.dialogue.map_close_element",
30664         FT_NONE, BASE_NONE, NULL, 0,
30665         "MAP_CloseInfo", HFILL }},
30666     { &hf_gsm_map_dialogue_map_refuse,
30667       { "map-refuse", "gsm_map.dialogue.map_refuse_element",
30668         FT_NONE, BASE_NONE, NULL, 0,
30669         "MAP_RefuseInfo", HFILL }},
30670     { &hf_gsm_map_dialogue_map_userAbort,
30671       { "map-userAbort", "gsm_map.dialogue.map_userAbort_element",
30672         FT_NONE, BASE_NONE, NULL, 0,
30673         "MAP_UserAbortInfo", HFILL }},
30674     { &hf_gsm_map_dialogue_map_providerAbort,
30675       { "map-providerAbort", "gsm_map.dialogue.map_providerAbort_element",
30676         FT_NONE, BASE_NONE, NULL, 0,
30677         "MAP_ProviderAbortInfo", HFILL }},
30678     { &hf_gsm_map_dialogue_destinationReference,
30679       { "destinationReference", "gsm_map.dialogue.destinationReference",
30680         FT_BYTES, BASE_NONE, NULL, 0,
30681         "AddressString", HFILL }},
30682     { &hf_gsm_map_dialogue_originationReference,
30683       { "originationReference", "gsm_map.dialogue.originationReference",
30684         FT_BYTES, BASE_NONE, NULL, 0,
30685         "AddressString", HFILL }},
30686     { &hf_gsm_map_dialogue_extensionContainer,
30687       { "extensionContainer", "gsm_map.dialogue.extensionContainer_element",
30688         FT_NONE, BASE_NONE, NULL, 0,
30689         NULL, HFILL }},
30690     { &hf_gsm_map_dialogue_reason,
30691       { "reason", "gsm_map.dialogue.reason",
30692         FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_Reason_vals), 0,
30693         NULL, HFILL }},
30694     { &hf_gsm_map_dialogue_alternativeApplicationContext,
30695       { "alternativeApplicationContext", "gsm_map.dialogue.alternativeApplicationContext",
30696         FT_OID, BASE_NONE, NULL, 0,
30697         "OBJECT_IDENTIFIER", HFILL }},
30698     { &hf_gsm_map_dialogue_map_UserAbortChoice,
30699       { "map-UserAbortChoice", "gsm_map.dialogue.map_UserAbortChoice",
30700         FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_MAP_UserAbortChoice_vals), 0,
30701         NULL, HFILL }},
30702     { &hf_gsm_map_dialogue_userSpecificReason,
30703       { "userSpecificReason", "gsm_map.dialogue.userSpecificReason_element",
30704         FT_NONE, BASE_NONE, NULL, 0,
30705         NULL, HFILL }},
30706     { &hf_gsm_map_dialogue_userResourceLimitation,
30707       { "userResourceLimitation", "gsm_map.dialogue.userResourceLimitation_element",
30708         FT_NONE, BASE_NONE, NULL, 0,
30709         NULL, HFILL }},
30710     { &hf_gsm_map_dialogue_resourceUnavailable,
30711       { "resourceUnavailable", "gsm_map.dialogue.resourceUnavailable",
30712         FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_ResourceUnavailableReason_vals), 0,
30713         "ResourceUnavailableReason", HFILL }},
30714     { &hf_gsm_map_dialogue_applicationProcedureCancellation,
30715       { "applicationProcedureCancellation", "gsm_map.dialogue.applicationProcedureCancellation",
30716         FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_ProcedureCancellationReason_vals), 0,
30717         "ProcedureCancellationReason", HFILL }},
30718     { &hf_gsm_map_dialogue_map_ProviderAbortReason,
30719       { "map-ProviderAbortReason", "gsm_map.dialogue.map_ProviderAbortReason",
30720         FT_UINT32, BASE_DEC, VALS(gsm_map_dialogue_MAP_ProviderAbortReason_vals), 0,
30721         NULL, HFILL }},
30722 
30723 /* --- Module DummyMAP --- --- ---                                            */
30724 
30725     { &hf_gsm_old_invoke,
30726       { "invoke", "gsm_old.invoke_element",
30727         FT_NONE, BASE_NONE, NULL, 0,
30728         NULL, HFILL }},
30729     { &hf_gsm_old_returnResultLast,
30730       { "returnResultLast", "gsm_old.returnResultLast_element",
30731         FT_NONE, BASE_NONE, NULL, 0,
30732         "ReturnResult", HFILL }},
30733     { &hf_gsm_old_returnError,
30734       { "returnError", "gsm_old.returnError_element",
30735         FT_NONE, BASE_NONE, NULL, 0,
30736         NULL, HFILL }},
30737     { &hf_gsm_old_reject,
30738       { "reject", "gsm_old.reject_element",
30739         FT_NONE, BASE_NONE, NULL, 0,
30740         NULL, HFILL }},
30741     { &hf_gsm_old_returnResultNotLast,
30742       { "returnResultNotLast", "gsm_old.returnResultNotLast_element",
30743         FT_NONE, BASE_NONE, NULL, 0,
30744         "ReturnResult", HFILL }},
30745     { &hf_gsm_old_invokeID,
30746       { "invokeID", "gsm_old.invokeID",
30747         FT_INT32, BASE_DEC, NULL, 0,
30748         "InvokeIdType", HFILL }},
30749     { &hf_gsm_old_linkedID,
30750       { "linkedID", "gsm_old.linkedID",
30751         FT_INT32, BASE_DEC, NULL, 0,
30752         "InvokeIdType", HFILL }},
30753     { &hf_gsm_old_opCode,
30754       { "opCode", "gsm_old.opCode",
30755         FT_UINT32, BASE_DEC, VALS(gsm_old_MAP_OPERATION_vals), 0,
30756         "MAP_OPERATION", HFILL }},
30757     { &hf_gsm_old_invokeparameter,
30758       { "invokeparameter", "gsm_old.invokeparameter_element",
30759         FT_NONE, BASE_NONE, NULL, 0,
30760         NULL, HFILL }},
30761     { &hf_gsm_old_resultretres,
30762       { "resultretres", "gsm_old.resultretres_element",
30763         FT_NONE, BASE_NONE, NULL, 0,
30764         NULL, HFILL }},
30765     { &hf_gsm_old_returnparameter,
30766       { "returnparameter", "gsm_old.returnparameter_element",
30767         FT_NONE, BASE_NONE, NULL, 0,
30768         "ReturnResultParameter", HFILL }},
30769     { &hf_gsm_old_errorCode,
30770       { "errorCode", "gsm_old.errorCode",
30771         FT_UINT32, BASE_DEC, VALS(gsm_old_MAP_ERROR_vals), 0,
30772         "MAP_ERROR", HFILL }},
30773     { &hf_gsm_old_parameter,
30774       { "parameter", "gsm_old.parameter_element",
30775         FT_NONE, BASE_NONE, NULL, 0,
30776         "ReturnErrorParameter", HFILL }},
30777     { &hf_gsm_old_invokeIDRej,
30778       { "invokeIDRej", "gsm_old.invokeIDRej",
30779         FT_UINT32, BASE_DEC, VALS(gsm_old_T_invokeIDRej_vals), 0,
30780         NULL, HFILL }},
30781     { &hf_gsm_old_derivable,
30782       { "derivable", "gsm_old.derivable",
30783         FT_INT32, BASE_DEC, NULL, 0,
30784         "InvokeIdType", HFILL }},
30785     { &hf_gsm_old_not_derivable,
30786       { "not-derivable", "gsm_old.not_derivable_element",
30787         FT_NONE, BASE_NONE, NULL, 0,
30788         NULL, HFILL }},
30789     { &hf_gsm_old_problem,
30790       { "problem", "gsm_old.problem",
30791         FT_UINT32, BASE_DEC, VALS(gsm_old_T_problem_vals), 0,
30792         NULL, HFILL }},
30793     { &hf_gsm_old_generalProblem,
30794       { "generalProblem", "gsm_old.generalProblem",
30795         FT_INT32, BASE_DEC, VALS(gsm_old_GeneralProblem_vals), 0,
30796         NULL, HFILL }},
30797     { &hf_gsm_old_invokeProblem,
30798       { "invokeProblem", "gsm_old.invokeProblem",
30799         FT_INT32, BASE_DEC, VALS(gsm_old_InvokeProblem_vals), 0,
30800         NULL, HFILL }},
30801     { &hf_gsm_old_returnResultProblem,
30802       { "returnResultProblem", "gsm_old.returnResultProblem",
30803         FT_INT32, BASE_DEC, VALS(gsm_old_ReturnResultProblem_vals), 0,
30804         NULL, HFILL }},
30805     { &hf_gsm_old_returnErrorProblem,
30806       { "returnErrorProblem", "gsm_old.returnErrorProblem",
30807         FT_INT32, BASE_DEC, VALS(gsm_old_ReturnErrorProblem_vals), 0,
30808         NULL, HFILL }},
30809     { &hf_gsm_old_localValue,
30810       { "localValue", "gsm_old.localValue",
30811         FT_INT32, BASE_DEC|BASE_EXT_STRING, &gsm_old_GSMMAPOperationLocalvalue_vals_ext, 0,
30812         "OperationLocalvalue", HFILL }},
30813     { &hf_gsm_old_globalValue,
30814       { "globalValue", "gsm_old.globalValue",
30815         FT_OID, BASE_NONE, NULL, 0,
30816         "OBJECT_IDENTIFIER", HFILL }},
30817     { &hf_gsm_old_localValue_01,
30818       { "localValue", "gsm_old.localValue",
30819         FT_INT32, BASE_DEC, VALS(gsm_old_GSMMAPLocalErrorcode_vals), 0,
30820         "LocalErrorcode", HFILL }},
30821     { &hf_gsm_old_protocolId,
30822       { "protocolId", "gsm_old.protocolId",
30823         FT_UINT32, BASE_DEC, VALS(gsm_map_ProtocolId_vals), 0,
30824         NULL, HFILL }},
30825     { &hf_gsm_old_signalInfo,
30826       { "signalInfo", "gsm_old.signalInfo",
30827         FT_BYTES, BASE_NONE, NULL, 0,
30828         NULL, HFILL }},
30829     { &hf_gsm_old_extensionContainer,
30830       { "extensionContainer", "gsm_old.extensionContainer_element",
30831         FT_NONE, BASE_NONE, NULL, 0,
30832         NULL, HFILL }},
30833     { &hf_gsm_old_gsm_BearerCapability,
30834       { "gsm-BearerCapability", "gsm_old.gsm_BearerCapability_element",
30835         FT_NONE, BASE_NONE, NULL, 0,
30836         "ExternalSignalInfo", HFILL }},
30837     { &hf_gsm_old_isdn_BearerCapability,
30838       { "isdn-BearerCapability", "gsm_old.isdn_BearerCapability_element",
30839         FT_NONE, BASE_NONE, NULL, 0,
30840         "ExternalSignalInfo", HFILL }},
30841     { &hf_gsm_old_call_Direction,
30842       { "call-Direction", "gsm_old.call_Direction",
30843         FT_BYTES, BASE_NONE, NULL, 0,
30844         "CallDirection", HFILL }},
30845     { &hf_gsm_old_b_Subscriber_Address,
30846       { "b-Subscriber-Address", "gsm_old.b_Subscriber_Address",
30847         FT_BYTES, BASE_NONE, NULL, 0,
30848         "ISDN_AddressString", HFILL }},
30849     { &hf_gsm_old_chosenChannel,
30850       { "chosenChannel", "gsm_old.chosenChannel_element",
30851         FT_NONE, BASE_NONE, NULL, 0,
30852         "ExternalSignalInfo", HFILL }},
30853     { &hf_gsm_old_lowerLayerCompatibility,
30854       { "lowerLayerCompatibility", "gsm_old.lowerLayerCompatibility_element",
30855         FT_NONE, BASE_NONE, NULL, 0,
30856         "ExternalSignalInfo", HFILL }},
30857     { &hf_gsm_old_highLayerCompatibility,
30858       { "highLayerCompatibility", "gsm_old.highLayerCompatibility_element",
30859         FT_NONE, BASE_NONE, NULL, 0,
30860         "ExternalSignalInfo", HFILL }},
30861     { &hf_gsm_old_sIWFSNumber,
30862       { "sIWFSNumber", "gsm_old.sIWFSNumber",
30863         FT_BYTES, BASE_NONE, NULL, 0,
30864         "ISDN_AddressString", HFILL }},
30865     { &hf_gsm_old_imsi,
30866       { "imsi", "gsm_old.imsi",
30867         FT_BYTES, BASE_NONE, NULL, 0,
30868         NULL, HFILL }},
30869     { &hf_gsm_old_vlr_Number,
30870       { "vlr-Number", "gsm_old.vlr_Number",
30871         FT_BYTES, BASE_NONE, NULL, 0,
30872         "ISDN_AddressString", HFILL }},
30873     { &hf_gsm_old_targetCellId,
30874       { "targetCellId", "gsm_old.targetCellId",
30875         FT_BYTES, BASE_NONE, NULL, 0,
30876         "GlobalCellId", HFILL }},
30877     { &hf_gsm_old_ho_NumberNotRequired,
30878       { "ho-NumberNotRequired", "gsm_old.ho_NumberNotRequired_element",
30879         FT_NONE, BASE_NONE, NULL, 0,
30880         NULL, HFILL }},
30881     { &hf_gsm_old_bss_APDU,
30882       { "bss-APDU", "gsm_old.bss_APDU_element",
30883         FT_NONE, BASE_NONE, NULL, 0,
30884         NULL, HFILL }},
30885     { &hf_gsm_old_handoverNumber,
30886       { "handoverNumber", "gsm_old.handoverNumber",
30887         FT_BYTES, BASE_NONE, NULL, 0,
30888         "ISDN_AddressString", HFILL }},
30889     { &hf_gsm_old_SendAuthenticationInfoResOld_item,
30890       { "SendAuthenticationInfoResOld item", "gsm_old.SendAuthenticationInfoResOld_item_element",
30891         FT_NONE, BASE_NONE, NULL, 0,
30892         NULL, HFILL }},
30893     { &hf_gsm_old_rand,
30894       { "rand", "gsm_old.rand",
30895         FT_BYTES, BASE_NONE, NULL, 0,
30896         NULL, HFILL }},
30897     { &hf_gsm_old_sres,
30898       { "sres", "gsm_old.sres",
30899         FT_BYTES, BASE_NONE, NULL, 0,
30900         NULL, HFILL }},
30901     { &hf_gsm_old_kc,
30902       { "kc", "gsm_old.kc",
30903         FT_BYTES, BASE_NONE, NULL, 0,
30904         NULL, HFILL }},
30905     { &hf_gsm_old_tripletList,
30906       { "tripletList", "gsm_old.tripletList",
30907         FT_UINT32, BASE_DEC, NULL, 0,
30908         "TripletListold", HFILL }},
30909     { &hf_gsm_old_TripletListold_item,
30910       { "AuthenticationTriplet-v2", "gsm_old.AuthenticationTriplet_v2_element",
30911         FT_NONE, BASE_NONE, NULL, 0,
30912         NULL, HFILL }},
30913     { &hf_gsm_old_channelType,
30914       { "channelType", "gsm_old.channelType_element",
30915         FT_NONE, BASE_NONE, NULL, 0,
30916         "ExternalSignalInfo", HFILL }},
30917     { &hf_gsm_old_securityHeader,
30918       { "securityHeader", "gsm_old.securityHeader_element",
30919         FT_NONE, BASE_NONE, NULL, 0,
30920         NULL, HFILL }},
30921     { &hf_gsm_old_protectedPayload,
30922       { "protectedPayload", "gsm_old.protectedPayload",
30923         FT_BYTES, BASE_NONE, NULL, 0,
30924         NULL, HFILL }},
30925     { &hf_gsm_old_securityParametersIndex,
30926       { "securityParametersIndex", "gsm_old.securityParametersIndex",
30927         FT_BYTES, BASE_NONE, NULL, 0,
30928         NULL, HFILL }},
30929     { &hf_gsm_old_originalComponentIdentifier,
30930       { "originalComponentIdentifier", "gsm_old.originalComponentIdentifier",
30931         FT_UINT32, BASE_DEC, VALS(gsm_old_OriginalComponentIdentifier_vals), 0,
30932         NULL, HFILL }},
30933     { &hf_gsm_old_initialisationVector,
30934       { "initialisationVector", "gsm_old.initialisationVector",
30935         FT_BYTES, BASE_NONE, NULL, 0,
30936         NULL, HFILL }},
30937     { &hf_gsm_old_operationCode,
30938       { "operationCode", "gsm_old.operationCode",
30939         FT_UINT32, BASE_DEC, VALS(gsm_old_OperationCode_vals), 0,
30940         NULL, HFILL }},
30941     { &hf_gsm_old_errorCode_01,
30942       { "errorCode", "gsm_old.errorCode",
30943         FT_UINT32, BASE_DEC, VALS(gsm_old_ErrorCode_vals), 0,
30944         NULL, HFILL }},
30945     { &hf_gsm_old_userInfo,
30946       { "userInfo", "gsm_old.userInfo_element",
30947         FT_NONE, BASE_NONE, NULL, 0,
30948         NULL, HFILL }},
30949     { &hf_gsm_old_localValue_02,
30950       { "localValue", "gsm_old.localValue",
30951         FT_INT32, BASE_DEC, NULL, 0,
30952         "INTEGER", HFILL }},
30953     { &hf_gsm_old_msisdn,
30954       { "msisdn", "gsm_old.msisdn",
30955         FT_BYTES, BASE_NONE, NULL, 0,
30956         "ISDN_AddressString", HFILL }},
30957     { &hf_gsm_old_category,
30958       { "category", "gsm_old.category",
30959         FT_BYTES, BASE_NONE, NULL, 0,
30960         NULL, HFILL }},
30961     { &hf_gsm_old_basicService,
30962       { "basicService", "gsm_old.basicService",
30963         FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
30964         "BasicServiceCode", HFILL }},
30965     { &hf_gsm_old_operatorSS_Code,
30966       { "operatorSS-Code", "gsm_old.operatorSS_Code",
30967         FT_UINT32, BASE_DEC, NULL, 0,
30968         NULL, HFILL }},
30969     { &hf_gsm_old_operatorSS_Code_item,
30970       { "operatorSS-Code item", "gsm_old.operatorSS_Code_item",
30971         FT_BYTES, BASE_NONE, NULL, 0,
30972         "OCTET_STRING_SIZE_1", HFILL }},
30973     { &hf_gsm_old_sm_RP_DA,
30974       { "sm-RP-DA", "gsm_old.sm_RP_DA",
30975         FT_UINT32, BASE_DEC, VALS(gsm_old_SM_RP_DAold_vals), 0,
30976         "SM_RP_DAold", HFILL }},
30977     { &hf_gsm_old_sm_RP_OA,
30978       { "sm-RP-OA", "gsm_old.sm_RP_OA",
30979         FT_UINT32, BASE_DEC, VALS(gsm_old_SM_RP_OAold_vals), 0,
30980         "SM_RP_OAold", HFILL }},
30981     { &hf_gsm_old_sm_RP_UI,
30982       { "sm-RP-UI", "gsm_old.sm_RP_UI",
30983         FT_BYTES, BASE_NONE, NULL, 0,
30984         "SignalInfo", HFILL }},
30985     { &hf_gsm_old_moreMessagesToSend,
30986       { "moreMessagesToSend", "gsm_old.moreMessagesToSend_element",
30987         FT_NONE, BASE_NONE, NULL, 0,
30988         NULL, HFILL }},
30989     { &hf_gsm_old_imsi_01,
30990       { "imsi", "gsm_old.imsi",
30991         FT_BYTES, BASE_NONE, NULL, 0,
30992         NULL, HFILL }},
30993     { &hf_gsm_old_lmsi,
30994       { "lmsi", "gsm_old.lmsi",
30995         FT_BYTES, BASE_NONE, NULL, 0,
30996         NULL, HFILL }},
30997     { &hf_gsm_old_serviceCentreAddressDA,
30998       { "serviceCentreAddressDA", "gsm_old.serviceCentreAddressDA",
30999         FT_BYTES, BASE_NONE, NULL, 0,
31000         NULL, HFILL }},
31001     { &hf_gsm_old_noSM_RP_DA,
31002       { "noSM-RP-DA", "gsm_old.noSM_RP_DA_element",
31003         FT_NONE, BASE_NONE, NULL, 0,
31004         NULL, HFILL }},
31005     { &hf_gsm_old_msisdn_01,
31006       { "msisdn", "gsm_old.msisdn",
31007         FT_BYTES, BASE_NONE, NULL, 0,
31008         NULL, HFILL }},
31009     { &hf_gsm_old_serviceCentreAddressOA,
31010       { "serviceCentreAddressOA", "gsm_old.serviceCentreAddressOA",
31011         FT_BYTES, BASE_NONE, NULL, 0,
31012         NULL, HFILL }},
31013     { &hf_gsm_old_noSM_RP_OA,
31014       { "noSM-RP-OA", "gsm_old.noSM_RP_OA_element",
31015         FT_NONE, BASE_NONE, NULL, 0,
31016         NULL, HFILL }},
31017     { &hf_gsm_old_cug_CheckInfo,
31018       { "cug-CheckInfo", "gsm_old.cug_CheckInfo_element",
31019         FT_NONE, BASE_NONE, NULL, 0,
31020         NULL, HFILL }},
31021     { &hf_gsm_old_numberOfForwarding,
31022       { "numberOfForwarding", "gsm_old.numberOfForwarding",
31023         FT_UINT32, BASE_DEC, NULL, 0,
31024         NULL, HFILL }},
31025     { &hf_gsm_old_networkSignalInfo,
31026       { "networkSignalInfo", "gsm_old.networkSignalInfo_element",
31027         FT_NONE, BASE_NONE, NULL, 0,
31028         "ExternalSignalInfo", HFILL }},
31029     { &hf_gsm_old_routingInfo,
31030       { "routingInfo", "gsm_old.routingInfo",
31031         FT_UINT32, BASE_DEC, VALS(gsm_map_ch_RoutingInfo_vals), 0,
31032         NULL, HFILL }},
31033     { &hf_gsm_old_originatingEntityNumber,
31034       { "originatingEntityNumber", "gsm_old.originatingEntityNumber",
31035         FT_BYTES, BASE_NONE, NULL, 0,
31036         "ISDN_AddressString", HFILL }},
31037     { &hf_gsm_old_msisdn_02,
31038       { "msisdn", "gsm_old.msisdn",
31039         FT_BYTES, BASE_NONE, NULL, 0,
31040         "AddressString", HFILL }},
31041     { &hf_gsm_old_sm_RP_PRI,
31042       { "sm-RP-PRI", "gsm_old.sm_RP_PRI",
31043         FT_BOOLEAN, BASE_NONE, NULL, 0,
31044         "BOOLEAN", HFILL }},
31045     { &hf_gsm_old_serviceCentreAddress,
31046       { "serviceCentreAddress", "gsm_old.serviceCentreAddress",
31047         FT_BYTES, BASE_NONE, NULL, 0,
31048         "AddressString", HFILL }},
31049     { &hf_gsm_old_cug_Interlock,
31050       { "cug-Interlock", "gsm_old.cug_Interlock",
31051         FT_BYTES, BASE_NONE, NULL, 0,
31052         NULL, HFILL }},
31053     { &hf_gsm_old_teleserviceCode,
31054       { "teleserviceCode", "gsm_old.teleserviceCode",
31055         FT_UINT8, BASE_DEC, VALS(Teleservice_vals), 0,
31056         NULL, HFILL }},
31057     { &hf_gsm_old_locationInfoWithLMSI,
31058       { "locationInfoWithLMSI", "gsm_old.locationInfoWithLMSI_element",
31059         FT_NONE, BASE_NONE, NULL, 0,
31060         "LocationInfoWithLMSIv2", HFILL }},
31061     { &hf_gsm_old_mwd_Set,
31062       { "mwd-Set", "gsm_old.mwd_Set",
31063         FT_BOOLEAN, BASE_NONE, NULL, 0,
31064         "BOOLEAN", HFILL }},
31065     { &hf_gsm_old_locationInfo,
31066       { "locationInfo", "gsm_old.locationInfo",
31067         FT_UINT32, BASE_DEC, VALS(gsm_old_LocationInfo_vals), 0,
31068         NULL, HFILL }},
31069     { &hf_gsm_old_lmsi_01,
31070       { "lmsi", "gsm_old.lmsi",
31071         FT_BYTES, BASE_NONE, NULL, 0,
31072         NULL, HFILL }},
31073     { &hf_gsm_old_roamingNumber,
31074       { "roamingNumber", "gsm_old.roamingNumber",
31075         FT_BYTES, BASE_NONE, NULL, 0,
31076         "ISDN_AddressString", HFILL }},
31077     { &hf_gsm_old_msc_Number,
31078       { "msc-Number", "gsm_old.msc_Number",
31079         FT_BYTES, BASE_NONE, NULL, 0,
31080         "ISDN_AddressString", HFILL }},
31081     { &hf_gsm_old_subscriberId,
31082       { "subscriberId", "gsm_old.subscriberId",
31083         FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberIdentity_vals), 0,
31084         "SubscriberIdentity", HFILL }},
31085     { &hf_gsm_old_requestParameterList,
31086       { "requestParameterList", "gsm_old.requestParameterList",
31087         FT_UINT32, BASE_DEC, NULL, 0,
31088         NULL, HFILL }},
31089     { &hf_gsm_old_RequestParameterList_item,
31090       { "RequestParameter", "gsm_old.RequestParameter",
31091         FT_UINT32, BASE_DEC, VALS(gsm_old_RequestParameter_vals), 0,
31092         NULL, HFILL }},
31093     { &hf_gsm_old_authenticationSet,
31094       { "authenticationSet", "gsm_old.authenticationSet",
31095         FT_UINT32, BASE_DEC, VALS(gsm_old_AuthenticationSetListOld_vals), 0,
31096         "AuthenticationSetListOld", HFILL }},
31097     { &hf_gsm_old_subscriberData,
31098       { "subscriberData", "gsm_old.subscriberData_element",
31099         FT_NONE, BASE_NONE, NULL, 0,
31100         NULL, HFILL }},
31101     { &hf_gsm_old_ki,
31102       { "ki", "gsm_old.ki",
31103         FT_BYTES, BASE_NONE, NULL, 0,
31104         NULL, HFILL }},
31105     { &hf_gsm_old_tripletList_01,
31106       { "tripletList", "gsm_old.tripletList",
31107         FT_UINT32, BASE_DEC, NULL, 0,
31108         NULL, HFILL }},
31109     { &hf_gsm_old_quintupletList,
31110       { "quintupletList", "gsm_old.quintupletList",
31111         FT_UINT32, BASE_DEC, NULL, 0,
31112         NULL, HFILL }},
31113     { &hf_gsm_old_SentParameterList_item,
31114       { "SentParameter", "gsm_old.SentParameter",
31115         FT_UINT32, BASE_DEC, VALS(gsm_old_SentParameter_vals), 0,
31116         NULL, HFILL }},
31117     { &hf_gsm_old_networkResource,
31118       { "networkResource", "gsm_old.networkResource",
31119         FT_UINT32, BASE_DEC, VALS(gsm_map_NetworkResource_vals), 0,
31120         NULL, HFILL }},
31121     { &hf_gsm_old_hlr_Number,
31122       { "hlr-Number", "gsm_old.hlr_Number",
31123         FT_BYTES, BASE_NONE, NULL, 0,
31124         "ISDN_AddressString", HFILL }},
31125     { &hf_gsm_old_hlr_List,
31126       { "hlr-List", "gsm_old.hlr_List",
31127         FT_UINT32, BASE_DEC, NULL, 0,
31128         NULL, HFILL }},
31129 
31130 /* --- Module SS-DataTypes --- --- ---                                        */
31131 
31132     { &hf_gsm_ss_ss_Code,
31133       { "ss-Code", "gsm_ss.ss_Code",
31134         FT_UINT8, BASE_DEC, VALS(ssCode_vals), 0,
31135         NULL, HFILL }},
31136     { &hf_gsm_ss_ss_Status,
31137       { "ss-Status", "gsm_ss.ss_Status",
31138         FT_BYTES, BASE_NONE, NULL, 0,
31139         NULL, HFILL }},
31140     { &hf_gsm_ss_ss_Notification,
31141       { "ss-Notification", "gsm_ss.ss_Notification",
31142         FT_BYTES, BASE_NONE, NULL, 0,
31143         NULL, HFILL }},
31144     { &hf_gsm_ss_callIsWaiting_Indicator,
31145       { "callIsWaiting-Indicator", "gsm_ss.callIsWaiting_Indicator_element",
31146         FT_NONE, BASE_NONE, NULL, 0,
31147         NULL, HFILL }},
31148     { &hf_gsm_ss_callOnHold_Indicator,
31149       { "callOnHold-Indicator", "gsm_ss.callOnHold_Indicator",
31150         FT_UINT32, BASE_DEC, VALS(gsm_ss_CallOnHold_Indicator_vals), 0,
31151         NULL, HFILL }},
31152     { &hf_gsm_ss_mpty_Indicator,
31153       { "mpty-Indicator", "gsm_ss.mpty_Indicator_element",
31154         FT_NONE, BASE_NONE, NULL, 0,
31155         NULL, HFILL }},
31156     { &hf_gsm_ss_cug_Index,
31157       { "cug-Index", "gsm_ss.cug_Index",
31158         FT_UINT32, BASE_DEC, NULL, 0,
31159         NULL, HFILL }},
31160     { &hf_gsm_ss_clirSuppressionRejected,
31161       { "clirSuppressionRejected", "gsm_ss.clirSuppressionRejected_element",
31162         FT_NONE, BASE_NONE, NULL, 0,
31163         NULL, HFILL }},
31164     { &hf_gsm_ss_ect_Indicator,
31165       { "ect-Indicator", "gsm_ss.ect_Indicator_element",
31166         FT_NONE, BASE_NONE, NULL, 0,
31167         NULL, HFILL }},
31168     { &hf_gsm_ss_nameIndicator,
31169       { "nameIndicator", "gsm_ss.nameIndicator_element",
31170         FT_NONE, BASE_NONE, NULL, 0,
31171         NULL, HFILL }},
31172     { &hf_gsm_ss_ccbs_Feature,
31173       { "ccbs-Feature", "gsm_ss.ccbs_Feature_element",
31174         FT_NONE, BASE_NONE, NULL, 0,
31175         NULL, HFILL }},
31176     { &hf_gsm_ss_alertingPattern,
31177       { "alertingPattern", "gsm_ss.alertingPattern",
31178         FT_BYTES, BASE_NONE, NULL, 0,
31179         NULL, HFILL }},
31180     { &hf_gsm_ss_multicall_Indicator,
31181       { "multicall-Indicator", "gsm_ss.multicall_Indicator",
31182         FT_UINT32, BASE_DEC, VALS(gsm_ss_Multicall_Indicator_vals), 0,
31183         NULL, HFILL }},
31184     { &hf_gsm_ss_chargingInformation,
31185       { "chargingInformation", "gsm_ss.chargingInformation_element",
31186         FT_NONE, BASE_NONE, NULL, 0,
31187         NULL, HFILL }},
31188     { &hf_gsm_ss_e1,
31189       { "e1", "gsm_ss.e1",
31190         FT_UINT32, BASE_DEC, NULL, 0,
31191         NULL, HFILL }},
31192     { &hf_gsm_ss_e2,
31193       { "e2", "gsm_ss.e2",
31194         FT_UINT32, BASE_DEC, NULL, 0,
31195         NULL, HFILL }},
31196     { &hf_gsm_ss_e3,
31197       { "e3", "gsm_ss.e3",
31198         FT_UINT32, BASE_DEC, NULL, 0,
31199         NULL, HFILL }},
31200     { &hf_gsm_ss_e4,
31201       { "e4", "gsm_ss.e4",
31202         FT_UINT32, BASE_DEC, NULL, 0,
31203         NULL, HFILL }},
31204     { &hf_gsm_ss_e5,
31205       { "e5", "gsm_ss.e5",
31206         FT_UINT32, BASE_DEC, NULL, 0,
31207         NULL, HFILL }},
31208     { &hf_gsm_ss_e6,
31209       { "e6", "gsm_ss.e6",
31210         FT_UINT32, BASE_DEC, NULL, 0,
31211         NULL, HFILL }},
31212     { &hf_gsm_ss_e7,
31213       { "e7", "gsm_ss.e7",
31214         FT_UINT32, BASE_DEC, NULL, 0,
31215         NULL, HFILL }},
31216     { &hf_gsm_ss_suppressPrefCUG,
31217       { "suppressPrefCUG", "gsm_ss.suppressPrefCUG_element",
31218         FT_NONE, BASE_NONE, NULL, 0,
31219         NULL, HFILL }},
31220     { &hf_gsm_ss_suppressOA,
31221       { "suppressOA", "gsm_ss.suppressOA_element",
31222         FT_NONE, BASE_NONE, NULL, 0,
31223         NULL, HFILL }},
31224     { &hf_gsm_ss_ect_CallState,
31225       { "ect-CallState", "gsm_ss.ect_CallState",
31226         FT_UINT32, BASE_DEC, VALS(gsm_ss_ECT_CallState_vals), 0,
31227         NULL, HFILL }},
31228     { &hf_gsm_ss_rdn,
31229       { "rdn", "gsm_ss.rdn",
31230         FT_UINT32, BASE_DEC, VALS(gsm_ss_RDN_vals), 0,
31231         NULL, HFILL }},
31232     { &hf_gsm_ss_callingName,
31233       { "callingName", "gsm_ss.callingName",
31234         FT_UINT32, BASE_DEC, VALS(gsm_ss_Name_vals), 0,
31235         "Name", HFILL }},
31236     { &hf_gsm_ss_namePresentationAllowed,
31237       { "namePresentationAllowed", "gsm_ss.namePresentationAllowed_element",
31238         FT_NONE, BASE_NONE, NULL, 0,
31239         "NameSet", HFILL }},
31240     { &hf_gsm_ss_presentationRestricted,
31241       { "presentationRestricted", "gsm_ss.presentationRestricted_element",
31242         FT_NONE, BASE_NONE, NULL, 0,
31243         NULL, HFILL }},
31244     { &hf_gsm_ss_nameUnavailable,
31245       { "nameUnavailable", "gsm_ss.nameUnavailable_element",
31246         FT_NONE, BASE_NONE, NULL, 0,
31247         NULL, HFILL }},
31248     { &hf_gsm_ss_namePresentationRestricted,
31249       { "namePresentationRestricted", "gsm_ss.namePresentationRestricted_element",
31250         FT_NONE, BASE_NONE, NULL, 0,
31251         "NameSet", HFILL }},
31252     { &hf_gsm_ss_dataCodingScheme,
31253       { "dataCodingScheme", "gsm_ss.dataCodingScheme",
31254         FT_BYTES, BASE_NONE, NULL, 0,
31255         "USSD_DataCodingScheme", HFILL }},
31256     { &hf_gsm_ss_lengthInCharacters,
31257       { "lengthInCharacters", "gsm_ss.lengthInCharacters",
31258         FT_INT32, BASE_DEC, NULL, 0,
31259         "INTEGER", HFILL }},
31260     { &hf_gsm_ss_nameString,
31261       { "nameString", "gsm_ss.nameString",
31262         FT_BYTES, BASE_NONE, NULL, 0,
31263         "USSD_String", HFILL }},
31264     { &hf_gsm_ss_presentationAllowedAddress,
31265       { "presentationAllowedAddress", "gsm_ss.presentationAllowedAddress_element",
31266         FT_NONE, BASE_NONE, NULL, 0,
31267         "RemotePartyNumber", HFILL }},
31268     { &hf_gsm_ss_numberNotAvailableDueToInterworking,
31269       { "numberNotAvailableDueToInterworking", "gsm_ss.numberNotAvailableDueToInterworking_element",
31270         FT_NONE, BASE_NONE, NULL, 0,
31271         NULL, HFILL }},
31272     { &hf_gsm_ss_presentationRestrictedAddress,
31273       { "presentationRestrictedAddress", "gsm_ss.presentationRestrictedAddress_element",
31274         FT_NONE, BASE_NONE, NULL, 0,
31275         "RemotePartyNumber", HFILL }},
31276     { &hf_gsm_ss_partyNumber,
31277       { "partyNumber", "gsm_ss.partyNumber",
31278         FT_BYTES, BASE_NONE, NULL, 0,
31279         "ISDN_AddressString", HFILL }},
31280     { &hf_gsm_ss_partyNumberSubaddress,
31281       { "partyNumberSubaddress", "gsm_ss.partyNumberSubaddress",
31282         FT_BYTES, BASE_NONE, NULL, 0,
31283         "ISDN_SubaddressString", HFILL }},
31284     { &hf_gsm_ss_deflectedToNumber,
31285       { "deflectedToNumber", "gsm_ss.deflectedToNumber",
31286         FT_BYTES, BASE_NONE, NULL, 0,
31287         "AddressString", HFILL }},
31288     { &hf_gsm_ss_deflectedToSubaddress,
31289       { "deflectedToSubaddress", "gsm_ss.deflectedToSubaddress",
31290         FT_BYTES, BASE_NONE, NULL, 0,
31291         "ISDN_SubaddressString", HFILL }},
31292     { &hf_gsm_ss_uUS_Service,
31293       { "uUS-Service", "gsm_ss.uUS_Service",
31294         FT_UINT32, BASE_DEC, VALS(gsm_ss_UUS_Service_vals), 0,
31295         NULL, HFILL }},
31296     { &hf_gsm_ss_uUS_Required,
31297       { "uUS-Required", "gsm_ss.uUS_Required",
31298         FT_BOOLEAN, BASE_NONE, NULL, 0,
31299         "BOOLEAN", HFILL }},
31300     { &hf_gsm_ss_notificationType,
31301       { "notificationType", "gsm_ss.notificationType",
31302         FT_UINT32, BASE_DEC, VALS(gsm_map_ms_NotificationToMSUser_vals), 0,
31303         "NotificationToMSUser", HFILL }},
31304     { &hf_gsm_ss_locationType,
31305       { "locationType", "gsm_ss.locationType_element",
31306         FT_NONE, BASE_NONE, NULL, 0,
31307         NULL, HFILL }},
31308     { &hf_gsm_ss_lcsClientExternalID,
31309       { "lcsClientExternalID", "gsm_ss.lcsClientExternalID_element",
31310         FT_NONE, BASE_NONE, NULL, 0,
31311         NULL, HFILL }},
31312     { &hf_gsm_ss_lcsClientName,
31313       { "lcsClientName", "gsm_ss.lcsClientName_element",
31314         FT_NONE, BASE_NONE, NULL, 0,
31315         NULL, HFILL }},
31316     { &hf_gsm_ss_lcsRequestorID,
31317       { "lcsRequestorID", "gsm_ss.lcsRequestorID_element",
31318         FT_NONE, BASE_NONE, NULL, 0,
31319         NULL, HFILL }},
31320     { &hf_gsm_ss_lcsCodeword,
31321       { "lcsCodeword", "gsm_ss.lcsCodeword_element",
31322         FT_NONE, BASE_NONE, NULL, 0,
31323         NULL, HFILL }},
31324     { &hf_gsm_ss_lcsServiceTypeID,
31325       { "lcsServiceTypeID", "gsm_ss.lcsServiceTypeID",
31326         FT_UINT32, BASE_DEC, VALS(gsm_map_LCSServiceTypeID_vals), 0,
31327         NULL, HFILL }},
31328     { &hf_gsm_ss_deferredLocationExt,
31329       { "deferredLocationExt", "gsm_ss.deferredLocationExt",
31330         FT_BYTES, BASE_NONE, NULL, 0,
31331         NULL, HFILL }},
31332     { &hf_gsm_ss_verificationResponse,
31333       { "verificationResponse", "gsm_ss.verificationResponse",
31334         FT_UINT32, BASE_DEC, VALS(gsm_ss_VerificationResponse_vals), 0,
31335         NULL, HFILL }},
31336     { &hf_gsm_ss_molr_Type,
31337       { "molr-Type", "gsm_ss.molr_Type",
31338         FT_UINT32, BASE_DEC, VALS(gsm_ss_MOLR_Type_vals), 0,
31339         NULL, HFILL }},
31340     { &hf_gsm_ss_locationMethod,
31341       { "locationMethod", "gsm_ss.locationMethod",
31342         FT_UINT32, BASE_DEC, VALS(gsm_ss_LocationMethod_vals), 0,
31343         NULL, HFILL }},
31344     { &hf_gsm_ss_lcs_QoS,
31345       { "lcs-QoS", "gsm_ss.lcs_QoS_element",
31346         FT_NONE, BASE_NONE, NULL, 0,
31347         NULL, HFILL }},
31348     { &hf_gsm_ss_mlc_Number,
31349       { "mlc-Number", "gsm_ss.mlc_Number",
31350         FT_BYTES, BASE_NONE, NULL, 0,
31351         "ISDN_AddressString", HFILL }},
31352     { &hf_gsm_ss_gpsAssistanceData,
31353       { "gpsAssistanceData", "gsm_ss.gpsAssistanceData",
31354         FT_BYTES, BASE_NONE, NULL, 0,
31355         NULL, HFILL }},
31356     { &hf_gsm_ss_supportedGADShapes,
31357       { "supportedGADShapes", "gsm_ss.supportedGADShapes",
31358         FT_BYTES, BASE_NONE, NULL, 0,
31359         NULL, HFILL }},
31360     { &hf_gsm_ss_ageOfLocationInfo,
31361       { "ageOfLocationInfo", "gsm_ss.ageOfLocationInfo",
31362         FT_UINT32, BASE_DEC, NULL, 0,
31363         "AgeOfLocationInformation", HFILL }},
31364     { &hf_gsm_ss_pseudonymIndicator,
31365       { "pseudonymIndicator", "gsm_ss.pseudonymIndicator_element",
31366         FT_NONE, BASE_NONE, NULL, 0,
31367         NULL, HFILL }},
31368     { &hf_gsm_ss_h_gmlc_address,
31369       { "h-gmlc-address", "gsm_ss.h_gmlc_address",
31370         FT_BYTES, BASE_NONE, NULL, 0,
31371         "GSN_Address", HFILL }},
31372     { &hf_gsm_ss_locationEstimate,
31373       { "locationEstimate", "gsm_ss.locationEstimate",
31374         FT_BYTES, BASE_NONE, NULL, 0,
31375         "Ext_GeographicalInformation", HFILL }},
31376     { &hf_gsm_ss_velocityEstimate,
31377       { "velocityEstimate", "gsm_ss.velocityEstimate",
31378         FT_BYTES, BASE_NONE, NULL, 0,
31379         NULL, HFILL }},
31380     { &hf_gsm_ss_referenceNumber,
31381       { "referenceNumber", "gsm_ss.referenceNumber",
31382         FT_BYTES, BASE_NONE, NULL, 0,
31383         "LCS_ReferenceNumber", HFILL }},
31384     { &hf_gsm_ss_periodicLDRInfo,
31385       { "periodicLDRInfo", "gsm_ss.periodicLDRInfo_element",
31386         FT_NONE, BASE_NONE, NULL, 0,
31387         NULL, HFILL }},
31388     { &hf_gsm_ss_locationUpdateRequest,
31389       { "locationUpdateRequest", "gsm_ss.locationUpdateRequest_element",
31390         FT_NONE, BASE_NONE, NULL, 0,
31391         NULL, HFILL }},
31392     { &hf_gsm_ss_sequenceNumber,
31393       { "sequenceNumber", "gsm_ss.sequenceNumber",
31394         FT_UINT32, BASE_DEC, NULL, 0,
31395         NULL, HFILL }},
31396     { &hf_gsm_ss_terminationCause,
31397       { "terminationCause", "gsm_ss.terminationCause",
31398         FT_UINT32, BASE_DEC, VALS(gsm_ss_TerminationCause_vals), 0,
31399         NULL, HFILL }},
31400     { &hf_gsm_ss_mo_lrShortCircuit,
31401       { "mo-lrShortCircuit", "gsm_ss.mo_lrShortCircuit_element",
31402         FT_NONE, BASE_NONE, NULL, 0,
31403         NULL, HFILL }},
31404     { &hf_gsm_ss_ganssAssistanceData,
31405       { "ganssAssistanceData", "gsm_ss.ganssAssistanceData",
31406         FT_BYTES, BASE_NONE, NULL, 0,
31407         NULL, HFILL }},
31408     { &hf_gsm_ss_multiplePositioningProtocolPDUs,
31409       { "multiplePositioningProtocolPDUs", "gsm_ss.multiplePositioningProtocolPDUs",
31410         FT_UINT32, BASE_DEC, NULL, 0,
31411         NULL, HFILL }},
31412     { &hf_gsm_ss_locationInfo,
31413       { "locationInfo", "gsm_ss.locationInfo",
31414         FT_BYTES, BASE_NONE, NULL, 0,
31415         "Location_Info", HFILL }},
31416     { &hf_gsm_ss_MultiplePositioningProtocolPDUs_item,
31417       { "PositioningProtocolPDU", "gsm_ss.PositioningProtocolPDU",
31418         FT_BYTES, BASE_NONE, NULL, 0,
31419         NULL, HFILL }},
31420     { &hf_gsm_ss_decipheringKeys,
31421       { "decipheringKeys", "gsm_ss.decipheringKeys",
31422         FT_BYTES, BASE_NONE, NULL, 0,
31423         NULL, HFILL }},
31424     { &hf_gsm_ss_add_LocationEstimate,
31425       { "add-LocationEstimate", "gsm_ss.add_LocationEstimate",
31426         FT_BYTES, BASE_NONE, NULL, 0,
31427         "Add_GeographicalInformation", HFILL }},
31428     { &hf_gsm_ss_reportingPLMNList,
31429       { "reportingPLMNList", "gsm_ss.reportingPLMNList_element",
31430         FT_NONE, BASE_NONE, NULL, 0,
31431         NULL, HFILL }},
31432     { &hf_gsm_ss_deferredLocationEventType,
31433       { "deferredLocationEventType", "gsm_ss.deferredLocationEventType",
31434         FT_BYTES, BASE_NONE, NULL, 0,
31435         NULL, HFILL }},
31436     { &hf_gsm_ss_areaEventInfo,
31437       { "areaEventInfo", "gsm_ss.areaEventInfo_element",
31438         FT_NONE, BASE_NONE, NULL, 0,
31439         NULL, HFILL }},
31440     { &hf_gsm_ss_qoS,
31441       { "qoS", "gsm_ss.qoS_element",
31442         FT_NONE, BASE_NONE, NULL, 0,
31443         "LCS_QoS", HFILL }},
31444     { &hf_gsm_ss_periodicLocation,
31445       { "periodicLocation", "gsm_ss.periodicLocation_element",
31446         FT_NONE, BASE_NONE, NULL, 0,
31447         NULL, HFILL }},
31448     { &hf_gsm_ss_areaEventReporting,
31449       { "areaEventReporting", "gsm_ss.areaEventReporting_element",
31450         FT_NONE, BASE_NONE, NULL, 0,
31451         NULL, HFILL }},
31452     { &hf_gsm_ss_motionEventReporting,
31453       { "motionEventReporting", "gsm_ss.motionEventReporting_element",
31454         FT_NONE, BASE_NONE, NULL, 0,
31455         NULL, HFILL }},
31456     { &hf_gsm_ss_areaList,
31457       { "areaList", "gsm_ss.areaList",
31458         FT_UINT32, BASE_DEC, NULL, 0,
31459         NULL, HFILL }},
31460     { &hf_gsm_ss_occurrenceInfo,
31461       { "occurrenceInfo", "gsm_ss.occurrenceInfo",
31462         FT_UINT32, BASE_DEC, VALS(gsm_map_lcs_OccurrenceInfo_vals), 0,
31463         NULL, HFILL }},
31464     { &hf_gsm_ss_intervalTime,
31465       { "intervalTime", "gsm_ss.intervalTime",
31466         FT_UINT32, BASE_DEC, NULL, 0,
31467         NULL, HFILL }},
31468     { &hf_gsm_ss_maximumInterval,
31469       { "maximumInterval", "gsm_ss.maximumInterval",
31470         FT_UINT32, BASE_DEC, NULL, 0,
31471         NULL, HFILL }},
31472     { &hf_gsm_ss_samplingInterval,
31473       { "samplingInterval", "gsm_ss.samplingInterval",
31474         FT_UINT32, BASE_DEC, NULL, 0,
31475         NULL, HFILL }},
31476     { &hf_gsm_ss_duration,
31477       { "duration", "gsm_ss.duration",
31478         FT_UINT32, BASE_DEC, NULL, 0,
31479         NULL, HFILL }},
31480     { &hf_gsm_ss_AreaList_item,
31481       { "Area", "gsm_ss.Area_element",
31482         FT_NONE, BASE_NONE, NULL, 0,
31483         NULL, HFILL }},
31484     { &hf_gsm_ss_areaType,
31485       { "areaType", "gsm_ss.areaType",
31486         FT_UINT32, BASE_DEC, VALS(gsm_ss_AreaType_vals), 0,
31487         NULL, HFILL }},
31488     { &hf_gsm_ss_areaIdentification,
31489       { "areaIdentification", "gsm_ss.areaIdentification",
31490         FT_BYTES, BASE_NONE, NULL, 0,
31491         NULL, HFILL }},
31492     { &hf_gsm_ss_linearDistance,
31493       { "linearDistance", "gsm_ss.linearDistance",
31494         FT_UINT32, BASE_DEC, NULL, 0,
31495         NULL, HFILL }},
31496     { &hf_gsm_ss_DeferredLocationExt_motionEvent,
31497       { "motionEvent", "gsm.ss.DeferredLocationExt.motionEvent",
31498         FT_BOOLEAN, 8, NULL, 0x80,
31499         NULL, HFILL }},
31500     { &hf_gsm_ss_Location_Info_locationEstimate,
31501       { "locationEstimate", "gsm.ss.Location.Info.locationEstimate",
31502         FT_BOOLEAN, 8, NULL, 0x80,
31503         NULL, HFILL }},
31504 
31505 /* --- Module EricssonMAP --- --- ---                                         */
31506 
31507     { &hf_gsm_map_ericsson_imei,
31508       { "imei", "gsm_map.ericsson.imei",
31509         FT_BYTES, BASE_NONE, NULL, 0,
31510         NULL, HFILL }},
31511     { &hf_gsm_map_ericsson_requestedEquipmentInfo,
31512       { "requestedEquipmentInfo", "gsm_map.ericsson.requestedEquipmentInfo",
31513         FT_BYTES, BASE_NONE, NULL, 0,
31514         NULL, HFILL }},
31515     { &hf_gsm_map_ericsson_imsi,
31516       { "imsi", "gsm_map.ericsson.imsi",
31517         FT_BYTES, BASE_NONE, NULL, 0,
31518         NULL, HFILL }},
31519     { &hf_gsm_map_ericsson_locationInformation,
31520       { "locationInformation", "gsm_map.ericsson.locationInformation",
31521         FT_BYTES, BASE_NONE, NULL, 0,
31522         NULL, HFILL }},
31523     { &hf_gsm_map_ericsson_extensionContainer,
31524       { "extensionContainer", "gsm_map.ericsson.extensionContainer_element",
31525         FT_NONE, BASE_NONE, NULL, 0,
31526         NULL, HFILL }},
31527     { &hf_gsm_map_ericsson_isdArgType,
31528       { "isdArgType", "gsm_map.ericsson.isdArgType",
31529         FT_UINT32, BASE_DEC, NULL, 0,
31530         NULL, HFILL }},
31531     { &hf_gsm_map_ericsson_isdResType,
31532       { "isdResType", "gsm_map.ericsson.isdResType",
31533         FT_UINT32, BASE_DEC, NULL, 0,
31534         NULL, HFILL }},
31535     { &hf_gsm_map_ericsson_dsdArgType,
31536       { "dsdArgType", "gsm_map.ericsson.dsdArgType",
31537         FT_UINT32, BASE_DEC, NULL, 0,
31538         NULL, HFILL }},
31539     { &hf_gsm_map_ericsson_sriArgType,
31540       { "sriArgType", "gsm_map.ericsson.sriArgType",
31541         FT_UINT32, BASE_DEC, NULL, 0,
31542         NULL, HFILL }},
31543     { &hf_gsm_map_ericsson_sriResType,
31544       { "sriResType", "gsm_map.ericsson.sriResType",
31545         FT_UINT32, BASE_DEC, NULL, 0,
31546         NULL, HFILL }},
31547     { &hf_gsm_map_ericsson_prnArgType,
31548       { "prnArgType", "gsm_map.ericsson.prnArgType",
31549         FT_UINT32, BASE_DEC, NULL, 0,
31550         NULL, HFILL }},
31551     { &hf_gsm_map_ericsson_ulArgType,
31552       { "ulArgType", "gsm_map.ericsson.ulArgType",
31553         FT_UINT32, BASE_DEC, NULL, 0,
31554         NULL, HFILL }},
31555     { &hf_gsm_map_ericsson_rdArgType,
31556       { "rdArgType", "gsm_map.ericsson.rdArgType_element",
31557         FT_NONE, BASE_NONE, NULL, 0,
31558         NULL, HFILL }},
31559     { &hf_gsm_map_ericsson_saiArgType,
31560       { "saiArgType", "gsm_map.ericsson.saiArgType_element",
31561         FT_NONE, BASE_NONE, NULL, 0,
31562         NULL, HFILL }},
31563     { &hf_gsm_map_ericsson_saiResType,
31564       { "saiResType", "gsm_map.ericsson.saiResType_element",
31565         FT_NONE, BASE_NONE, NULL, 0,
31566         NULL, HFILL }},
31567     { &hf_gsm_map_ericsson_atiArgType,
31568       { "atiArgType", "gsm_map.ericsson.atiArgType_element",
31569         FT_NONE, BASE_NONE, NULL, 0,
31570         NULL, HFILL }},
31571     { &hf_gsm_map_ericsson_atiResType,
31572       { "atiResType", "gsm_map.ericsson.atiResType_element",
31573         FT_NONE, BASE_NONE, NULL, 0,
31574         NULL, HFILL }},
31575     { &hf_gsm_map_ericsson_extAtiArgType,
31576       { "extAtiArgType", "gsm_map.ericsson.extAtiArgType",
31577         FT_UINT32, BASE_DEC, NULL, 0,
31578         NULL, HFILL }},
31579     { &hf_gsm_map_ericsson_IsdArgType_item,
31580       { "IsdArgData", "gsm_map.ericsson.IsdArgData_element",
31581         FT_NONE, BASE_NONE, NULL, 0,
31582         NULL, HFILL }},
31583     { &hf_gsm_map_ericsson_privateFeatureCode,
31584       { "privateFeatureCode", "gsm_map.ericsson.privateFeatureCode",
31585         FT_BYTES, BASE_NONE, NULL, 0,
31586         NULL, HFILL }},
31587     { &hf_gsm_map_ericsson_privateFeatureData,
31588       { "privateFeatureData", "gsm_map.ericsson.privateFeatureData",
31589         FT_UINT32, BASE_DEC, VALS(gsm_map_ericsson_PrivateFeatureData_vals), 0,
31590         NULL, HFILL }},
31591     { &hf_gsm_map_ericsson_subscriptionTypeInfo,
31592       { "subscriptionTypeInfo", "gsm_map.ericsson.subscriptionTypeInfo_element",
31593         FT_NONE, BASE_NONE, NULL, 0,
31594         NULL, HFILL }},
31595     { &hf_gsm_map_ericsson_oickInfo,
31596       { "oickInfo", "gsm_map.ericsson.oickInfo_element",
31597         FT_NONE, BASE_NONE, NULL, 0,
31598         NULL, HFILL }},
31599     { &hf_gsm_map_ericsson_ss_Status,
31600       { "ss-Status", "gsm_map.ericsson.ss_Status",
31601         FT_BYTES, BASE_NONE, NULL, 0,
31602         "Ext_SS_Status", HFILL }},
31603     { &hf_gsm_map_ericsson_inCategoryKey,
31604       { "inCategoryKey", "gsm_map.ericsson.inCategoryKey",
31605         FT_BYTES, BASE_NONE, NULL, 0,
31606         NULL, HFILL }},
31607     { &hf_gsm_map_ericsson_subscriptionType,
31608       { "subscriptionType", "gsm_map.ericsson.subscriptionType",
31609         FT_BYTES, BASE_NONE, NULL, 0,
31610         NULL, HFILL }},
31611     { &hf_gsm_map_ericsson_IsdResType_item,
31612       { "IsdResData", "gsm_map.ericsson.IsdResData_element",
31613         FT_NONE, BASE_NONE, NULL, 0,
31614         NULL, HFILL }},
31615     { &hf_gsm_map_ericsson_supportedPrivateFeature,
31616       { "supportedPrivateFeature", "gsm_map.ericsson.supportedPrivateFeature",
31617         FT_BYTES, BASE_NONE, NULL, 0,
31618         "PrivateFeatureCode", HFILL }},
31619     { &hf_gsm_map_ericsson_DsdArgType_item,
31620       { "DsdArgData", "gsm_map.ericsson.DsdArgData_element",
31621         FT_NONE, BASE_NONE, NULL, 0,
31622         NULL, HFILL }},
31623     { &hf_gsm_map_ericsson_privateFeatureWithdraw,
31624       { "privateFeatureWithdraw", "gsm_map.ericsson.privateFeatureWithdraw",
31625         FT_BYTES, BASE_NONE, NULL, 0,
31626         "PrivateFeatureCode", HFILL }},
31627     { &hf_gsm_map_ericsson_SRIArgType_item,
31628       { "SriArgData", "gsm_map.ericsson.SriArgData_element",
31629         FT_NONE, BASE_NONE, NULL, 0,
31630         NULL, HFILL }},
31631     { &hf_gsm_map_ericsson_extraNetworkInfo,
31632       { "extraNetworkInfo", "gsm_map.ericsson.extraNetworkInfo_element",
31633         FT_NONE, BASE_NONE, NULL, 0,
31634         "ExtraSignalInfo", HFILL }},
31635     { &hf_gsm_map_ericsson_SRIResType_item,
31636       { "SriResData", "gsm_map.ericsson.SriResData_element",
31637         FT_NONE, BASE_NONE, NULL, 0,
31638         NULL, HFILL }},
31639     { &hf_gsm_map_ericsson_PrnArgType_item,
31640       { "PrnArgData", "gsm_map.ericsson.PrnArgData_element",
31641         FT_NONE, BASE_NONE, NULL, 0,
31642         NULL, HFILL }},
31643     { &hf_gsm_map_ericsson_UlArgType_item,
31644       { "UlArgData", "gsm_map.ericsson.UlArgData_element",
31645         FT_NONE, BASE_NONE, NULL, 0,
31646         NULL, HFILL }},
31647     { &hf_gsm_map_ericsson_privateFeatureUlArgData,
31648       { "privateFeatureUlArgData", "gsm_map.ericsson.privateFeatureUlArgData",
31649         FT_UINT32, BASE_DEC, VALS(gsm_map_ericsson_PrivateFeatureUlArgData_vals), 0,
31650         NULL, HFILL }},
31651     { &hf_gsm_map_ericsson_adc,
31652       { "adc", "gsm_map.ericsson.adc",
31653         FT_BYTES, BASE_NONE, NULL, 0,
31654         "IMEI", HFILL }},
31655     { &hf_gsm_map_ericsson_protocolId,
31656       { "protocolId", "gsm_map.ericsson.protocolId",
31657         FT_UINT32, BASE_DEC, VALS(gsm_map_ericsson_ExtraProtocolId_vals), 0,
31658         "ExtraProtocolId", HFILL }},
31659     { &hf_gsm_map_ericsson_signalInfo,
31660       { "signalInfo", "gsm_map.ericsson.signalInfo",
31661         FT_BYTES, BASE_NONE, NULL, 0,
31662         NULL, HFILL }},
31663     { &hf_gsm_map_ericsson_msisdn,
31664       { "msisdn", "gsm_map.ericsson.msisdn_element",
31665         FT_NONE, BASE_NONE, NULL, 0,
31666         NULL, HFILL }},
31667     { &hf_gsm_map_ericsson_noAuthenVectorsRequested,
31668       { "noAuthenVectorsRequested", "gsm_map.ericsson.noAuthenVectorsRequested_element",
31669         FT_NONE, BASE_NONE, NULL, 0,
31670         NULL, HFILL }},
31671     { &hf_gsm_map_ericsson_msIsdn,
31672       { "msIsdn", "gsm_map.ericsson.msIsdn",
31673         FT_BYTES, BASE_NONE, NULL, 0,
31674         "ISDN_AddressString", HFILL }},
31675     { &hf_gsm_map_ericsson_requestedInfoType,
31676       { "requestedInfoType", "gsm_map.ericsson.requestedInfoType_element",
31677         FT_NONE, BASE_NONE, NULL, 0,
31678         NULL, HFILL }},
31679     { &hf_gsm_map_ericsson_toBeDecided,
31680       { "toBeDecided", "gsm_map.ericsson.toBeDecided_element",
31681         FT_NONE, BASE_NONE, NULL, 0,
31682         NULL, HFILL }},
31683     { &hf_gsm_map_ericsson_toBeDecidedOne,
31684       { "toBeDecidedOne", "gsm_map.ericsson.toBeDecidedOne_element",
31685         FT_NONE, BASE_NONE, NULL, 0,
31686         NULL, HFILL }},
31687     { &hf_gsm_map_ericsson_sgsnNumber,
31688       { "sgsnNumber", "gsm_map.ericsson.sgsnNumber_element",
31689         FT_NONE, BASE_NONE, NULL, 0,
31690         NULL, HFILL }},
31691     { &hf_gsm_map_ericsson_ExtAtiArgType_item,
31692       { "AtiArgData", "gsm_map.ericsson.AtiArgData_element",
31693         FT_NONE, BASE_NONE, NULL, 0,
31694         NULL, HFILL }},
31695 
31696 /* --- Module NokiaMAP-Extensions --- --- ---                                 */
31697 
31698     { &hf_NokiaMAP_Extensions_alsLineIndicator,
31699       { "alsLineIndicator", "NokiaMAP-Extensions.alsLineIndicator_element",
31700         FT_NONE, BASE_NONE, NULL, 0,
31701         NULL, HFILL }},
31702     { &hf_NokiaMAP_Extensions_routingCategory,
31703       { "routingCategory", "NokiaMAP-Extensions.routingCategory",
31704         FT_BYTES, BASE_NONE, NULL, 0,
31705         NULL, HFILL }},
31706     { &hf_NokiaMAP_Extensions_serviceList,
31707       { "serviceList", "NokiaMAP-Extensions.serviceList",
31708         FT_BYTES, BASE_NONE, NULL, 0,
31709         "MAPserviceList", HFILL }},
31710     { &hf_NokiaMAP_Extensions_serv_info_list,
31711       { "serv-info-list", "NokiaMAP-Extensions.serv_info_list",
31712         FT_UINT32, BASE_DEC, NULL, 0,
31713         "ServiceListWithInfo", HFILL }},
31714     { &hf_NokiaMAP_Extensions_extRoutingCategory,
31715       { "extRoutingCategory", "NokiaMAP-Extensions.extRoutingCategory",
31716         FT_UINT32, BASE_DEC, NULL, 0,
31717         NULL, HFILL }},
31718     { &hf_NokiaMAP_Extensions_ownMSISDN,
31719       { "ownMSISDN", "NokiaMAP-Extensions.ownMSISDN",
31720         FT_BYTES, BASE_NONE, NULL, 0,
31721         "ISDN_AddressString", HFILL }},
31722     { &hf_NokiaMAP_Extensions_mwd_Set,
31723       { "mwd-Set", "NokiaMAP-Extensions.mwd_Set_element",
31724         FT_NONE, BASE_NONE, NULL, 0,
31725         NULL, HFILL }},
31726     { &hf_NokiaMAP_Extensions_ChargingAreaList_item,
31727       { "ChargingArea", "NokiaMAP-Extensions.ChargingArea",
31728         FT_UINT32, BASE_DEC, NULL, 0,
31729         NULL, HFILL }},
31730     { &hf_NokiaMAP_Extensions_chargingAreaList,
31731       { "chargingAreaList", "NokiaMAP-Extensions.chargingAreaList",
31732         FT_UINT32, BASE_DEC, NULL, 0,
31733         NULL, HFILL }},
31734     { &hf_NokiaMAP_Extensions_inTriggerKey,
31735       { "inTriggerKey", "NokiaMAP-Extensions.inTriggerKey",
31736         FT_UINT32, BASE_DEC, NULL, 0,
31737         NULL, HFILL }},
31738     { &hf_NokiaMAP_Extensions_pnpIndex,
31739       { "pnpIndex", "NokiaMAP-Extensions.pnpIndex",
31740         FT_BYTES, BASE_NONE, NULL, 0,
31741         NULL, HFILL }},
31742     { &hf_NokiaMAP_Extensions_callRedirectionIndex,
31743       { "callRedirectionIndex", "NokiaMAP-Extensions.callRedirectionIndex",
31744         FT_UINT32, BASE_DEC, NULL, 0,
31745         NULL, HFILL }},
31746     { &hf_NokiaMAP_Extensions_regionalChargingData,
31747       { "regionalChargingData", "NokiaMAP-Extensions.regionalChargingData_element",
31748         FT_NONE, BASE_NONE, NULL, 0,
31749         NULL, HFILL }},
31750     { &hf_NokiaMAP_Extensions_callForwardingOverride,
31751       { "callForwardingOverride", "NokiaMAP-Extensions.callForwardingOverride_element",
31752         FT_NONE, BASE_NONE, NULL, 0,
31753         NULL, HFILL }},
31754     { &hf_NokiaMAP_Extensions_in_Capability,
31755       { "in-Capability", "NokiaMAP-Extensions.in_Capability_element",
31756         FT_NONE, BASE_NONE, NULL, 0,
31757         NULL, HFILL }},
31758     { &hf_NokiaMAP_Extensions_callingCategory,
31759       { "callingCategory", "NokiaMAP-Extensions.callingCategory",
31760         FT_BYTES, BASE_NONE, NULL, 0,
31761         NULL, HFILL }},
31762     { &hf_NokiaMAP_Extensions_internalServiceIndicator,
31763       { "internalServiceIndicator", "NokiaMAP-Extensions.internalServiceIndicator",
31764         FT_BYTES, BASE_NONE, NULL, 0,
31765         NULL, HFILL }},
31766     { &hf_NokiaMAP_Extensions_srbtSupportIndicator,
31767       { "srbtSupportIndicator", "NokiaMAP-Extensions.srbtSupportIndicator_element",
31768         FT_NONE, BASE_NONE, NULL, 0,
31769         NULL, HFILL }},
31770     { &hf_NokiaMAP_Extensions_gmscSupportIndicator,
31771       { "gmscSupportIndicator", "NokiaMAP-Extensions.gmscSupportIndicator_element",
31772         FT_NONE, BASE_NONE, NULL, 0,
31773         NULL, HFILL }},
31774     { &hf_NokiaMAP_Extensions_protocolId,
31775       { "protocolId", "NokiaMAP-Extensions.protocolId",
31776         FT_UINT32, BASE_DEC, VALS(NokiaMAP_Extensions_ExtraProtocolId_vals), 0,
31777         "ExtraProtocolId", HFILL }},
31778     { &hf_NokiaMAP_Extensions_signalInfo,
31779       { "signalInfo", "NokiaMAP-Extensions.signalInfo",
31780         FT_BYTES, BASE_NONE, NULL, 0,
31781         NULL, HFILL }},
31782     { &hf_NokiaMAP_Extensions_cug_Interlock,
31783       { "cug-Interlock", "NokiaMAP-Extensions.cug_Interlock",
31784         FT_BYTES, BASE_NONE, NULL, 0,
31785         NULL, HFILL }},
31786     { &hf_NokiaMAP_Extensions_cug_OutgoingAccess,
31787       { "cug-OutgoingAccess", "NokiaMAP-Extensions.cug_OutgoingAccess",
31788         FT_BOOLEAN, BASE_NONE, NULL, 0,
31789         "BOOLEAN", HFILL }},
31790     { &hf_NokiaMAP_Extensions_cug_CallInfo,
31791       { "cug-CallInfo", "NokiaMAP-Extensions.cug_CallInfo",
31792         FT_BYTES, BASE_NONE, NULL, 0,
31793         NULL, HFILL }},
31794     { &hf_NokiaMAP_Extensions_vlrNumber,
31795       { "vlrNumber", "NokiaMAP-Extensions.vlrNumber",
31796         FT_BYTES, BASE_NONE, NULL, 0,
31797         "ISDN_AddressString", HFILL }},
31798     { &hf_NokiaMAP_Extensions_activeSs,
31799       { "activeSs", "NokiaMAP-Extensions.activeSs",
31800         FT_BYTES, BASE_NONE, NULL, 0,
31801         "ActiveSS_List", HFILL }},
31802     { &hf_NokiaMAP_Extensions_traceReference,
31803       { "traceReference", "NokiaMAP-Extensions.traceReference_element",
31804         FT_NONE, BASE_NONE, NULL, 0,
31805         NULL, HFILL }},
31806     { &hf_NokiaMAP_Extensions_traceType,
31807       { "traceType", "NokiaMAP-Extensions.traceType_element",
31808         FT_NONE, BASE_NONE, NULL, 0,
31809         NULL, HFILL }},
31810     { &hf_NokiaMAP_Extensions_omc_Id,
31811       { "omc-Id", "NokiaMAP-Extensions.omc_Id",
31812         FT_BYTES, BASE_NONE, NULL, 0,
31813         "AddressString", HFILL }},
31814     { &hf_NokiaMAP_Extensions_hotBilling,
31815       { "hotBilling", "NokiaMAP-Extensions.hotBilling",
31816         FT_BOOLEAN, BASE_NONE, NULL, 0,
31817         "BOOLEAN", HFILL }},
31818     { &hf_NokiaMAP_Extensions_cfoIsDone,
31819       { "cfoIsDone", "NokiaMAP-Extensions.cfoIsDone",
31820         FT_BOOLEAN, BASE_NONE, NULL, 0,
31821         "BOOLEAN", HFILL }},
31822     { &hf_NokiaMAP_Extensions_cfInCug,
31823       { "cfInCug", "NokiaMAP-Extensions.cfInCug",
31824         FT_BOOLEAN, BASE_NONE, NULL, 0,
31825         "BOOLEAN", HFILL }},
31826     { &hf_NokiaMAP_Extensions_basicService,
31827       { "basicService", "NokiaMAP-Extensions.basicService",
31828         FT_UINT32, BASE_DEC, VALS(gsm_map_BasicServiceCode_vals), 0,
31829         "BasicServiceCode", HFILL }},
31830     { &hf_NokiaMAP_Extensions_category,
31831       { "category", "NokiaMAP-Extensions.category_element",
31832         FT_NONE, BASE_NONE, NULL, 0,
31833         NULL, HFILL }},
31834     { &hf_NokiaMAP_Extensions_nokia_CUG,
31835       { "nokia-CUG", "NokiaMAP-Extensions.nokia_CUG_element",
31836         FT_NONE, BASE_NONE, NULL, 0,
31837         "Nokia_CUG_Data", HFILL }},
31838     { &hf_NokiaMAP_Extensions_noBarrings,
31839       { "noBarrings", "NokiaMAP-Extensions.noBarrings_element",
31840         FT_NONE, BASE_NONE, NULL, 0,
31841         NULL, HFILL }},
31842     { &hf_NokiaMAP_Extensions_odb_Data,
31843       { "odb-Data", "NokiaMAP-Extensions.odb_Data_element",
31844         FT_NONE, BASE_NONE, NULL, 0,
31845         NULL, HFILL }},
31846     { &hf_NokiaMAP_Extensions_fraudData,
31847       { "fraudData", "NokiaMAP-Extensions.fraudData_element",
31848         FT_NONE, BASE_NONE, NULL, 0,
31849         NULL, HFILL }},
31850     { &hf_NokiaMAP_Extensions_leaId,
31851       { "leaId", "NokiaMAP-Extensions.leaId",
31852         FT_UINT32, BASE_DEC, NULL, 0,
31853         NULL, HFILL }},
31854     { &hf_NokiaMAP_Extensions_olcmInfoTable,
31855       { "olcmInfoTable", "NokiaMAP-Extensions.olcmInfoTable",
31856         FT_UINT32, BASE_DEC, NULL, 0,
31857         NULL, HFILL }},
31858     { &hf_NokiaMAP_Extensions_commonMSISDN,
31859       { "commonMSISDN", "NokiaMAP-Extensions.commonMSISDN",
31860         FT_BYTES, BASE_NONE, NULL, 0,
31861         "ISDN_AddressString", HFILL }},
31862     { &hf_NokiaMAP_Extensions_rgData,
31863       { "rgData", "NokiaMAP-Extensions.rgData_element",
31864         FT_NONE, BASE_NONE, NULL, 0,
31865         NULL, HFILL }},
31866     { &hf_NokiaMAP_Extensions_olcmTraceReference,
31867       { "olcmTraceReference", "NokiaMAP-Extensions.olcmTraceReference",
31868         FT_BYTES, BASE_NONE, NULL, 0,
31869         NULL, HFILL }},
31870     { &hf_NokiaMAP_Extensions_noAnswerTimer,
31871       { "noAnswerTimer", "NokiaMAP-Extensions.noAnswerTimer",
31872         FT_BYTES, BASE_NONE, NULL, 0,
31873         NULL, HFILL }},
31874     { &hf_NokiaMAP_Extensions_memberList,
31875       { "memberList", "NokiaMAP-Extensions.memberList",
31876         FT_UINT32, BASE_DEC, NULL, 0,
31877         NULL, HFILL }},
31878     { &hf_NokiaMAP_Extensions_alertingMethod,
31879       { "alertingMethod", "NokiaMAP-Extensions.alertingMethod",
31880         FT_BYTES, BASE_NONE, NULL, 0,
31881         NULL, HFILL }},
31882     { &hf_NokiaMAP_Extensions_userType,
31883       { "userType", "NokiaMAP-Extensions.userType",
31884         FT_BYTES, BASE_NONE, NULL, 0,
31885         NULL, HFILL }},
31886     { &hf_NokiaMAP_Extensions_divertedToNbr,
31887       { "divertedToNbr", "NokiaMAP-Extensions.divertedToNbr",
31888         FT_BYTES, BASE_NONE, NULL, 0,
31889         "ISDN_AddressString", HFILL }},
31890     { &hf_NokiaMAP_Extensions_memberOfSuppression,
31891       { "memberOfSuppression", "NokiaMAP-Extensions.memberOfSuppression_element",
31892         FT_NONE, BASE_NONE, NULL, 0,
31893         NULL, HFILL }},
31894     { &hf_NokiaMAP_Extensions_ringbacktone,
31895       { "ringbacktone", "NokiaMAP-Extensions.ringbacktone_element",
31896         FT_NONE, BASE_NONE, NULL, 0,
31897         NULL, HFILL }},
31898     { &hf_NokiaMAP_Extensions_MemberList_item,
31899       { "ISDN-AddressString", "NokiaMAP-Extensions.ISDN_AddressString",
31900         FT_BYTES, BASE_NONE, NULL, 0,
31901         NULL, HFILL }},
31902     { &hf_NokiaMAP_Extensions_termination,
31903       { "termination", "NokiaMAP-Extensions.termination",
31904         FT_BYTES, BASE_NONE, NULL, 0,
31905         "OCTET_STRING_SIZE_1", HFILL }},
31906     { &hf_NokiaMAP_Extensions_OlcmInfoTable_item,
31907       { "OlcmInfo", "NokiaMAP-Extensions.OlcmInfo_element",
31908         FT_NONE, BASE_NONE, NULL, 0,
31909         NULL, HFILL }},
31910     { &hf_NokiaMAP_Extensions_olcmActive,
31911       { "olcmActive", "NokiaMAP-Extensions.olcmActive_element",
31912         FT_NONE, BASE_NONE, NULL, 0,
31913         NULL, HFILL }},
31914     { &hf_NokiaMAP_Extensions_moc,
31915       { "moc", "NokiaMAP-Extensions.moc_element",
31916         FT_NONE, BASE_NONE, NULL, 0,
31917         "FraudData", HFILL }},
31918     { &hf_NokiaMAP_Extensions_cf,
31919       { "cf", "NokiaMAP-Extensions.cf_element",
31920         FT_NONE, BASE_NONE, NULL, 0,
31921         "FraudData", HFILL }},
31922     { &hf_NokiaMAP_Extensions_ct,
31923       { "ct", "NokiaMAP-Extensions.ct_element",
31924         FT_NONE, BASE_NONE, NULL, 0,
31925         "FraudData", HFILL }},
31926     { &hf_NokiaMAP_Extensions_time,
31927       { "time", "NokiaMAP-Extensions.time",
31928         FT_UINT32, BASE_DEC, NULL, 0,
31929         "TimeLimit", HFILL }},
31930     { &hf_NokiaMAP_Extensions_timeAction,
31931       { "timeAction", "NokiaMAP-Extensions.timeAction",
31932         FT_BYTES, BASE_NONE, NULL, 0,
31933         "ActionType", HFILL }},
31934     { &hf_NokiaMAP_Extensions_maxCount,
31935       { "maxCount", "NokiaMAP-Extensions.maxCount",
31936         FT_UINT32, BASE_DEC, NULL, 0,
31937         "FraudMaxCount", HFILL }},
31938     { &hf_NokiaMAP_Extensions_maxCountAction,
31939       { "maxCountAction", "NokiaMAP-Extensions.maxCountAction",
31940         FT_BYTES, BASE_NONE, NULL, 0,
31941         "ActionType", HFILL }},
31942     { &hf_NokiaMAP_Extensions_serviceCode,
31943       { "serviceCode", "NokiaMAP-Extensions.serviceCode",
31944         FT_BYTES, BASE_NONE, NULL, 0,
31945         "MAPserviceCode", HFILL }},
31946     { &hf_NokiaMAP_Extensions_versionInfo,
31947       { "versionInfo", "NokiaMAP-Extensions.versionInfo",
31948         FT_BYTES, BASE_NONE, NULL, 0,
31949         NULL, HFILL }},
31950     { &hf_NokiaMAP_Extensions_in_key,
31951       { "in-key", "NokiaMAP-Extensions.in_key",
31952         FT_UINT32, BASE_DEC, VALS(NokiaMAP_Extensions_INKey_vals), 0,
31953         "INKey", HFILL }},
31954     { &hf_NokiaMAP_Extensions_fraudInfo,
31955       { "fraudInfo", "NokiaMAP-Extensions.fraudInfo_element",
31956         FT_NONE, BASE_NONE, NULL, 0,
31957         NULL, HFILL }},
31958     { &hf_NokiaMAP_Extensions_ServiceListWithInfo_item,
31959       { "ServiceWithInfo", "NokiaMAP-Extensions.ServiceWithInfo_element",
31960         FT_NONE, BASE_NONE, NULL, 0,
31961         NULL, HFILL }},
31962     { &hf_NokiaMAP_Extensions_mobile_IN_key,
31963       { "mobile-IN-key", "NokiaMAP-Extensions.mobile_IN_key_element",
31964         FT_NONE, BASE_NONE, NULL, 0,
31965         "MKey", HFILL }},
31966     { &hf_NokiaMAP_Extensions_sms_IN_key,
31967       { "sms-IN-key", "NokiaMAP-Extensions.sms_IN_key_element",
31968         FT_NONE, BASE_NONE, NULL, 0,
31969         "SMSKey", HFILL }},
31970     { &hf_NokiaMAP_Extensions_mKeyVer,
31971       { "mKeyVer", "NokiaMAP-Extensions.mKeyVer",
31972         FT_BYTES, BASE_NONE, NULL, 0,
31973         NULL, HFILL }},
31974     { &hf_NokiaMAP_Extensions_mmScfAddress,
31975       { "mmScfAddress", "NokiaMAP-Extensions.mmScfAddress",
31976         FT_BYTES, BASE_NONE, NULL, 0,
31977         "ISDN_AddressString", HFILL }},
31978     { &hf_NokiaMAP_Extensions_mmTdpName,
31979       { "mmTdpName", "NokiaMAP-Extensions.mmTdpName",
31980         FT_BYTES, BASE_NONE, NULL, 0,
31981         NULL, HFILL }},
31982     { &hf_NokiaMAP_Extensions_serviceKey,
31983       { "serviceKey", "NokiaMAP-Extensions.serviceKey",
31984         FT_UINT32, BASE_DEC, NULL, 0,
31985         NULL, HFILL }},
31986     { &hf_NokiaMAP_Extensions_locupType,
31987       { "locupType", "NokiaMAP-Extensions.locupType",
31988         FT_BYTES, BASE_NONE, NULL, 0,
31989         NULL, HFILL }},
31990     { &hf_NokiaMAP_Extensions_mmSCPAddress,
31991       { "mmSCPAddress", "NokiaMAP-Extensions.mmSCPAddress",
31992         FT_BYTES, BASE_NONE, NULL, 0,
31993         "ISDN_AddressString", HFILL }},
31994     { &hf_NokiaMAP_Extensions_smsTdpName,
31995       { "smsTdpName", "NokiaMAP-Extensions.smsTdpName",
31996         FT_BYTES, BASE_NONE, NULL, 0,
31997         NULL, HFILL }},
31998     { &hf_NokiaMAP_Extensions_mmsFlag,
31999       { "mmsFlag", "NokiaMAP-Extensions.mmsFlag_element",
32000         FT_NONE, BASE_NONE, NULL, 0,
32001         NULL, HFILL }},
32002     { &hf_NokiaMAP_Extensions_map_Opt,
32003       { "map-Opt", "NokiaMAP-Extensions.map_Opt",
32004         FT_BYTES, BASE_NONE, NULL, 0,
32005         "MapOptFields", HFILL }},
32006     { &hf_NokiaMAP_Extensions_codec_List,
32007       { "codec-List", "NokiaMAP-Extensions.codec_List",
32008         FT_UINT32, BASE_DEC, NULL, 0,
32009         "CodecListExt", HFILL }},
32010     { &hf_NokiaMAP_Extensions_selected_Codec,
32011       { "selected-Codec", "NokiaMAP-Extensions.selected_Codec_element",
32012         FT_NONE, BASE_NONE, NULL, 0,
32013         "SelectedCodec", HFILL }},
32014     { &hf_NokiaMAP_Extensions_uma_access,
32015       { "uma-access", "NokiaMAP-Extensions.uma_access_element",
32016         FT_NONE, BASE_NONE, NULL, 0,
32017         NULL, HFILL }},
32018     { &hf_NokiaMAP_Extensions_uma_ip_address,
32019       { "uma-ip-address", "NokiaMAP-Extensions.uma_ip_address",
32020         FT_BYTES, BASE_NONE, NULL, 0,
32021         "OCTET_STRING_SIZE_5_17", HFILL }},
32022     { &hf_NokiaMAP_Extensions_uma_ip_port_nb,
32023       { "uma-ip-port-nb", "NokiaMAP-Extensions.uma_ip_port_nb",
32024         FT_UINT32, BASE_DEC, NULL, 0,
32025         "IPPortNb", HFILL }},
32026     { &hf_NokiaMAP_Extensions_CodecListExt_item,
32027       { "CodecExt", "NokiaMAP-Extensions.CodecExt",
32028         FT_BYTES, BASE_NONE, NULL, 0,
32029         NULL, HFILL }},
32030     { &hf_NokiaMAP_Extensions_codec,
32031       { "codec", "NokiaMAP-Extensions.codec",
32032         FT_BYTES, BASE_NONE, NULL, 0,
32033         "CodecExt", HFILL }},
32034     { &hf_NokiaMAP_Extensions_modes,
32035       { "modes", "NokiaMAP-Extensions.modes",
32036         FT_BYTES, BASE_NONE, NULL, 0,
32037         NULL, HFILL }},
32038     { &hf_NokiaMAP_Extensions_imsi,
32039       { "imsi", "NokiaMAP-Extensions.imsi",
32040         FT_BYTES, BASE_NONE, NULL, 0,
32041         NULL, HFILL }},
32042     { &hf_NokiaMAP_Extensions_cfuSMSCounter,
32043       { "cfuSMSCounter", "NokiaMAP-Extensions.cfuSMSCounter",
32044         FT_BYTES, BASE_NONE, NULL, 0,
32045         NULL, HFILL }},
32046     { &hf_NokiaMAP_Extensions_cfusmcfo,
32047       { "cfusmcfo", "NokiaMAP-Extensions.cfusmcfo_element",
32048         FT_NONE, BASE_NONE, NULL, 0,
32049         NULL, HFILL }},
32050     { &hf_NokiaMAP_Extensions_memberInterrogate,
32051       { "memberInterrogate", "NokiaMAP-Extensions.memberInterrogate_element",
32052         FT_NONE, BASE_NONE, NULL, 0,
32053         NULL, HFILL }},
32054     { &hf_NokiaMAP_Extensions_locationAreaCode,
32055       { "locationAreaCode", "NokiaMAP-Extensions.locationAreaCode",
32056         FT_BYTES, BASE_NONE, NULL, 0,
32057         NULL, HFILL }},
32058     { &hf_NokiaMAP_Extensions_cellId,
32059       { "cellId", "NokiaMAP-Extensions.cellId",
32060         FT_BYTES, BASE_NONE, NULL, 0,
32061         "CellGlobalIdOrServiceAreaIdFixedLength", HFILL }},
32062     { &hf_NokiaMAP_Extensions_lai,
32063       { "lai", "NokiaMAP-Extensions.lai",
32064         FT_BYTES, BASE_NONE, NULL, 0,
32065         "LAIFixedLength", HFILL }},
32066     { &hf_NokiaMAP_Extensions_sendImmResp,
32067       { "sendImmResp", "NokiaMAP-Extensions.sendImmResp_element",
32068         FT_NONE, BASE_NONE, NULL, 0,
32069         NULL, HFILL }},
32070     { &hf_NokiaMAP_Extensions_rejectCause,
32071       { "rejectCause", "NokiaMAP-Extensions.rejectCause",
32072         FT_BYTES, BASE_NONE, NULL, 0,
32073         "OCTET_STRING_SIZE_1", HFILL }},
32074     { &hf_NokiaMAP_Extensions_senderMSISDN,
32075       { "senderMSISDN", "NokiaMAP-Extensions.senderMSISDN",
32076         FT_BYTES, BASE_NONE, NULL, 0,
32077         "ISDN_AddressString", HFILL }},
32078     { &hf_NokiaMAP_Extensions_access,
32079       { "access", "NokiaMAP-Extensions.access",
32080         FT_UINT32, BASE_DEC, VALS(NokiaMAP_Extensions_Access_vals), 0,
32081         NULL, HFILL }},
32082     { &hf_NokiaMAP_Extensions_version,
32083       { "version", "NokiaMAP-Extensions.version",
32084         FT_UINT32, BASE_DEC, NULL, 0,
32085         NULL, HFILL }},
32086     { &hf_NokiaMAP_Extensions_AccessSubscriptionListExt_item,
32087       { "Access", "NokiaMAP-Extensions.Access",
32088         FT_UINT32, BASE_DEC, VALS(NokiaMAP_Extensions_Access_vals), 0,
32089         NULL, HFILL }},
32090     { &hf_NokiaMAP_Extensions_AllowedServiceData_amr_wb_allowed,
32091       { "amr-wb-allowed", "NokiaMAP.Extensions.AllowedServiceData.amr.wb.allowed",
32092         FT_BOOLEAN, 8, NULL, 0x80,
32093         NULL, HFILL }},
32094 
32095 /*--- End of included file: packet-gsm_map-hfarr.c ---*/
32096 #line 3335 "./asn1/gsm_map/packet-gsm_map-template.c"
32097   };
32098 
32099   /* List of subtrees */
32100   static gint *ett[] = {
32101     &ett_gsm_map,
32102     &ett_gsm_map_InvokeId,
32103     &ett_gsm_map_InvokePDU,
32104     &ett_gsm_map_ReturnResultPDU,
32105     &ett_gsm_map_ReturnErrorPDU,
32106     &ett_gsm_map_ReturnResult_result,
32107     &ett_gsm_map_ReturnError_result,
32108     &ett_gsm_map_GSMMAPPDU,
32109     &ett_gsm_map_ext_qos_subscribed,
32110     &ett_gsm_map_pdptypenumber,
32111     &ett_gsm_map_RAIdentity,
32112     &ett_gsm_map_LAIFixedLength,
32113     &ett_gsm_map_isdn_address_string,
32114     &ett_gsm_map_geo_desc,
32115     &ett_gsm_map_LongSignalInfo,
32116     &ett_gsm_map_RadioResourceInformation,
32117     &ett_gsm_map_MSNetworkCapability,
32118     &ett_gsm_map_MSRadioAccessCapability,
32119     &ett_gsm_map_externalsignalinfo,
32120     &ett_gsm_map_cbs_data_coding,
32121     &ett_gsm_map_GlobalCellId,
32122     &ett_gsm_map_GeographicalInformation,
32123     &ett_gsm_map_apn_str,
32124     &ett_gsm_map_LocationNumber,
32125     &ett_gsm_map_ericsson_locationInformation,
32126     &ett_gsm_map_extension_data,
32127     &ett_gsm_map_tbcd_digits,
32128     &ett_gsm_map_ussd_string,
32129     &ett_gsm_map_ext2_qos_subscribed,
32130     &ett_gsm_map_ext3_qos_subscribed,
32131     &ett_gsm_map_e_utranCellGlobalIdentity,
32132     &ett_gsm_map_TA_id,
32133     &ett_gsm_map_GeodeticInformation,
32134 
32135 
32136 /*--- Included file: packet-gsm_map-ettarr.c ---*/
32137 #line 1 "./asn1/gsm_map/packet-gsm_map-ettarr.c"
32138 
32139 /* --- Module MAP-ExtensionDataTypes --- --- ---                              */
32140 
32141     &ett_gsm_map_ExtensionContainer,
32142     &ett_gsm_map_SLR_ArgExtensionContainer,
32143     &ett_gsm_map_PrivateExtensionList,
32144     &ett_gsm_map_PrivateExtension,
32145     &ett_gsm_map_PCS_Extensions,
32146     &ett_gsm_map_SLR_Arg_PCS_Extensions,
32147 
32148 /* --- Module MAP-CommonDataTypes --- --- ---                                 */
32149 
32150     &ett_gsm_map_ExternalSignalInfo,
32151     &ett_gsm_map_Ext_ExternalSignalInfo,
32152     &ett_gsm_map_AccessNetworkSignalInfo,
32153     &ett_gsm_map_Identity,
32154     &ett_gsm_map_IMSI_WithLMSI,
32155     &ett_gsm_map_HLR_List,
32156     &ett_gsm_map_NAEA_PreferredCI,
32157     &ett_gsm_map_SubscriberIdentity,
32158     &ett_gsm_map_LCSClientExternalID,
32159     &ett_gsm_map_NetworkNodeDiameterAddress,
32160     &ett_gsm_map_CellGlobalIdOrServiceAreaIdOrLAI,
32161     &ett_gsm_map_BasicServiceCode,
32162     &ett_gsm_map_Ext_BasicServiceCode,
32163     &ett_gsm_map_EMLPP_Info,
32164     &ett_gsm_map_MC_SS_Info,
32165 
32166 /* --- Module MAP-SS-DataTypes --- --- ---                                    */
32167 
32168     &ett_gsm_map_ss_RegisterSS_Arg,
32169     &ett_gsm_map_ss_SS_Info,
32170     &ett_gsm_map_ss_ForwardingInfo,
32171     &ett_gsm_map_ss_ForwardingFeatureList,
32172     &ett_gsm_map_ss_ForwardingFeature,
32173     &ett_gsm_map_ss_CallBarringInfo,
32174     &ett_gsm_map_ss_CallBarringFeatureList,
32175     &ett_gsm_map_ss_CallBarringFeature,
32176     &ett_gsm_map_ss_SS_Data,
32177     &ett_gsm_map_ss_SS_SubscriptionOption,
32178     &ett_gsm_map_ss_SS_ForBS_Code,
32179     &ett_gsm_map_ss_GenericServiceInfo,
32180     &ett_gsm_map_ss_CCBS_FeatureList,
32181     &ett_gsm_map_ss_CCBS_Feature,
32182     &ett_gsm_map_ss_InterrogateSS_Res,
32183     &ett_gsm_map_ss_USSD_Arg,
32184     &ett_gsm_map_ss_USSD_Res,
32185     &ett_gsm_map_ss_SS_List,
32186     &ett_gsm_map_ss_BasicServiceGroupList,
32187     &ett_gsm_map_ss_SS_InvocationNotificationArg,
32188     &ett_gsm_map_ss_SS_InvocationNotificationRes,
32189     &ett_gsm_map_ss_SS_EventSpecification,
32190     &ett_gsm_map_ss_RegisterCC_EntryArg,
32191     &ett_gsm_map_ss_CCBS_Data,
32192     &ett_gsm_map_ss_ServiceIndicator,
32193     &ett_gsm_map_ss_RegisterCC_EntryRes,
32194     &ett_gsm_map_ss_EraseCC_EntryArg,
32195     &ett_gsm_map_ss_EraseCC_EntryRes,
32196 
32197 /* --- Module MAP-ER-DataTypes --- --- ---                                    */
32198 
32199     &ett_gsm_map_er_RoamingNotAllowedParam,
32200     &ett_gsm_map_er_CallBarredParam,
32201     &ett_gsm_map_er_ExtensibleCallBarredParam,
32202     &ett_gsm_map_er_CUG_RejectParam,
32203     &ett_gsm_map_er_SS_IncompatibilityCause,
32204     &ett_gsm_map_er_SM_DeliveryFailureCause,
32205     &ett_gsm_map_er_AbsentSubscriberSM_Param,
32206     &ett_gsm_map_er_SystemFailureParam,
32207     &ett_gsm_map_er_ExtensibleSystemFailureParam,
32208     &ett_gsm_map_er_DataMissingParam,
32209     &ett_gsm_map_er_UnexpectedDataParam,
32210     &ett_gsm_map_er_FacilityNotSupParam,
32211     &ett_gsm_map_er_OR_NotAllowedParam,
32212     &ett_gsm_map_er_UnknownSubscriberParam,
32213     &ett_gsm_map_er_NumberChangedParam,
32214     &ett_gsm_map_er_UnidentifiedSubParam,
32215     &ett_gsm_map_er_IllegalSubscriberParam,
32216     &ett_gsm_map_er_IllegalEquipmentParam,
32217     &ett_gsm_map_er_BearerServNotProvParam,
32218     &ett_gsm_map_er_TeleservNotProvParam,
32219     &ett_gsm_map_er_TracingBufferFullParam,
32220     &ett_gsm_map_er_NoRoamingNbParam,
32221     &ett_gsm_map_er_AbsentSubscriberParam,
32222     &ett_gsm_map_er_BusySubscriberParam,
32223     &ett_gsm_map_er_NoSubscriberReplyParam,
32224     &ett_gsm_map_er_ForwardingViolationParam,
32225     &ett_gsm_map_er_ForwardingFailedParam,
32226     &ett_gsm_map_er_ATI_NotAllowedParam,
32227     &ett_gsm_map_er_ATSI_NotAllowedParam,
32228     &ett_gsm_map_er_ATM_NotAllowedParam,
32229     &ett_gsm_map_er_IllegalSS_OperationParam,
32230     &ett_gsm_map_er_SS_NotAvailableParam,
32231     &ett_gsm_map_er_SS_SubscriptionViolationParam,
32232     &ett_gsm_map_er_InformationNotAvailableParam,
32233     &ett_gsm_map_er_SubBusyForMT_SMS_Param,
32234     &ett_gsm_map_er_MessageWaitListFullParam,
32235     &ett_gsm_map_er_ResourceLimitationParam,
32236     &ett_gsm_map_er_NoGroupCallNbParam,
32237     &ett_gsm_map_er_IncompatibleTerminalParam,
32238     &ett_gsm_map_er_ShortTermDenialParam,
32239     &ett_gsm_map_er_LongTermDenialParam,
32240     &ett_gsm_map_er_UnauthorizedRequestingNetwork_Param,
32241     &ett_gsm_map_er_UnauthorizedLCSClient_Param,
32242     &ett_gsm_map_er_PositionMethodFailure_Param,
32243     &ett_gsm_map_er_UnknownOrUnreachableLCSClient_Param,
32244     &ett_gsm_map_er_MM_EventNotSupported_Param,
32245     &ett_gsm_map_er_TargetCellOutsideGCA_Param,
32246     &ett_gsm_map_er_OngoingGroupCallParam,
32247 
32248 /* --- Module MAP-SM-DataTypes --- --- ---                                    */
32249 
32250     &ett_gsm_map_sm_RoutingInfoForSM_Arg,
32251     &ett_gsm_map_sm_RoutingInfoForSM_Res,
32252     &ett_gsm_map_sm_IP_SM_GW_Guidance,
32253     &ett_gsm_map_sm_LocationInfoWithLMSI,
32254     &ett_gsm_map_sm_Additional_Number,
32255     &ett_gsm_map_sm_MO_ForwardSM_Arg,
32256     &ett_gsm_map_sm_MO_ForwardSM_Res,
32257     &ett_gsm_map_sm_MT_ForwardSM_Arg,
32258     &ett_gsm_map_sm_CorrelationID,
32259     &ett_gsm_map_sm_MT_ForwardSM_Res,
32260     &ett_gsm_map_sm_SM_RP_DA,
32261     &ett_gsm_map_sm_SM_RP_OA,
32262     &ett_gsm_map_sm_ReportSM_DeliveryStatusArg,
32263     &ett_gsm_map_sm_ReportSM_DeliveryStatusRes,
32264     &ett_gsm_map_sm_AlertServiceCentreArg,
32265     &ett_gsm_map_sm_InformServiceCentreArg,
32266     &ett_gsm_map_sm_MW_Status,
32267     &ett_gsm_map_sm_ReadyForSM_Arg,
32268     &ett_gsm_map_sm_ReadyForSM_Res,
32269     &ett_gsm_map_sm_MT_ForwardSM_VGCS_Arg,
32270     &ett_gsm_map_sm_MT_ForwardSM_VGCS_Res,
32271     &ett_gsm_map_sm_DispatcherList,
32272     &ett_gsm_map_sm_AdditionalDispatcherList,
32273 
32274 /* --- Module MAP-OM-DataTypes --- --- ---                                    */
32275 
32276     &ett_gsm_map_om_ActivateTraceModeArg,
32277     &ett_gsm_map_om_MDT_Configuration,
32278     &ett_gsm_map_om_MDT_Allowed_PLMNId_List,
32279     &ett_gsm_map_om_AreaScope,
32280     &ett_gsm_map_om_CGI_List,
32281     &ett_gsm_map_om_E_UTRAN_CGI_List,
32282     &ett_gsm_map_om_RoutingAreaId_List,
32283     &ett_gsm_map_om_LocationAreaId_List,
32284     &ett_gsm_map_om_TrackingAreaId_List,
32285     &ett_gsm_map_om_TraceDepthList,
32286     &ett_gsm_map_om_TraceNE_TypeList,
32287     &ett_gsm_map_om_TraceInterfaceList,
32288     &ett_gsm_map_om_MSC_S_InterfaceList,
32289     &ett_gsm_map_om_MGW_InterfaceList,
32290     &ett_gsm_map_om_SGSN_InterfaceList,
32291     &ett_gsm_map_om_GGSN_InterfaceList,
32292     &ett_gsm_map_om_RNC_InterfaceList,
32293     &ett_gsm_map_om_BMSC_InterfaceList,
32294     &ett_gsm_map_om_MME_InterfaceList,
32295     &ett_gsm_map_om_SGW_InterfaceList,
32296     &ett_gsm_map_om_PGW_InterfaceList,
32297     &ett_gsm_map_om_ENB_InterfaceList,
32298     &ett_gsm_map_om_TraceEventList,
32299     &ett_gsm_map_om_MSC_S_EventList,
32300     &ett_gsm_map_om_MGW_EventList,
32301     &ett_gsm_map_om_SGSN_EventList,
32302     &ett_gsm_map_om_GGSN_EventList,
32303     &ett_gsm_map_om_BMSC_EventList,
32304     &ett_gsm_map_om_MME_EventList,
32305     &ett_gsm_map_om_SGW_EventList,
32306     &ett_gsm_map_om_PGW_EventList,
32307     &ett_gsm_map_om_TracePropagationList,
32308     &ett_gsm_map_om_ActivateTraceModeRes,
32309     &ett_gsm_map_om_DeactivateTraceModeArg,
32310     &ett_gsm_map_om_DeactivateTraceModeRes,
32311 
32312 /* --- Module MAP-MS-DataTypes --- --- ---                                    */
32313 
32314     &ett_gsm_map_ms_UpdateLocationArg,
32315     &ett_gsm_map_ms_VLR_Capability,
32316     &ett_gsm_map_ms_SupportedRAT_Types,
32317     &ett_gsm_map_ms_SuperChargerInfo,
32318     &ett_gsm_map_ms_SupportedLCS_CapabilitySets,
32319     &ett_gsm_map_ms_UpdateLocationRes,
32320     &ett_gsm_map_ms_ADD_Info,
32321     &ett_gsm_map_ms_PagingArea,
32322     &ett_gsm_map_ms_LocationArea,
32323     &ett_gsm_map_ms_CancelLocationArg_U,
32324     &ett_gsm_map_ms_CancelLocationRes,
32325     &ett_gsm_map_ms_PurgeMS_Arg_U,
32326     &ett_gsm_map_ms_PurgeMS_Res,
32327     &ett_gsm_map_ms_SendIdentificationArg,
32328     &ett_gsm_map_ms_SendIdentificationRes_U,
32329     &ett_gsm_map_ms_AuthenticationSetList,
32330     &ett_gsm_map_ms_TripletList,
32331     &ett_gsm_map_ms_QuintupletList,
32332     &ett_gsm_map_ms_AuthenticationTriplet,
32333     &ett_gsm_map_ms_AuthenticationQuintuplet,
32334     &ett_gsm_map_ms_CurrentSecurityContext,
32335     &ett_gsm_map_ms_GSM_SecurityContextData,
32336     &ett_gsm_map_ms_UMTS_SecurityContextData,
32337     &ett_gsm_map_ms_AuthenticationFailureReportArg,
32338     &ett_gsm_map_ms_AuthenticationFailureReportRes,
32339     &ett_gsm_map_ms_UpdateGprsLocationArg,
32340     &ett_gsm_map_ms_EPS_Info,
32341     &ett_gsm_map_ms_PDN_GW_Update,
32342     &ett_gsm_map_ms_ISR_Information,
32343     &ett_gsm_map_ms_SGSN_Capability,
32344     &ett_gsm_map_ms_SupportedFeatures,
32345     &ett_gsm_map_ms_Ext_SupportedFeatures,
32346     &ett_gsm_map_ms_UpdateGprsLocationRes,
32347     &ett_gsm_map_ms_EPLMN_List,
32348     &ett_gsm_map_ms_AdjacentPLMN_List,
32349     &ett_gsm_map_ms_ForwardAccessSignalling_Arg_U,
32350     &ett_gsm_map_ms_AllowedUMTS_Algorithms,
32351     &ett_gsm_map_ms_PrepareHO_Arg_U,
32352     &ett_gsm_map_ms_LCLS_Negotiation,
32353     &ett_gsm_map_ms_LCLS_ConfigurationPreference,
32354     &ett_gsm_map_ms_BSSMAP_ServiceHandoverList,
32355     &ett_gsm_map_ms_BSSMAP_ServiceHandoverInfo,
32356     &ett_gsm_map_ms_RadioResourceList,
32357     &ett_gsm_map_ms_RadioResource,
32358     &ett_gsm_map_ms_PrepareHO_Res_U,
32359     &ett_gsm_map_ms_SelectedUMTS_Algorithms,
32360     &ett_gsm_map_ms_ChosenRadioResourceInformation,
32361     &ett_gsm_map_ms_PrepareSubsequentHO_Arg_U,
32362     &ett_gsm_map_ms_PrepareSubsequentHO_Res_U,
32363     &ett_gsm_map_ms_ProcessAccessSignalling_Arg_U,
32364     &ett_gsm_map_ms_AoIPCodecsList,
32365     &ett_gsm_map_ms_SupportedCodecsList,
32366     &ett_gsm_map_ms_CodecList,
32367     &ett_gsm_map_ms_SendEndSignal_Arg_U,
32368     &ett_gsm_map_ms_SendEndSignal_Res,
32369     &ett_gsm_map_ms_RelocationNumberList,
32370     &ett_gsm_map_ms_RelocationNumber,
32371     &ett_gsm_map_ms_SendAuthenticationInfoArg,
32372     &ett_gsm_map_ms_Re_synchronisationInfo,
32373     &ett_gsm_map_ms_SendAuthenticationInfoRes_U,
32374     &ett_gsm_map_ms_EPS_AuthenticationSetList,
32375     &ett_gsm_map_ms_EPC_AV,
32376     &ett_gsm_map_ms_CheckIMEI_Arg,
32377     &ett_gsm_map_ms_CheckIMEI_Res,
32378     &ett_gsm_map_ms_RequestedEquipmentInfo,
32379     &ett_gsm_map_ms_UESBI_Iu,
32380     &ett_gsm_map_ms_InsertSubscriberDataArg,
32381     &ett_gsm_map_ms_EDRX_Cycle_Length_List,
32382     &ett_gsm_map_ms_EDRX_Cycle_Length,
32383     &ett_gsm_map_ms_Reset_Id_List,
32384     &ett_gsm_map_ms_IMSI_GroupIdList,
32385     &ett_gsm_map_ms_IMSI_GroupId,
32386     &ett_gsm_map_ms_CSG_SubscriptionDataList,
32387     &ett_gsm_map_ms_CSG_SubscriptionData,
32388     &ett_gsm_map_ms_VPLMN_CSG_SubscriptionDataList,
32389     &ett_gsm_map_ms_LIPA_AllowedAPNList,
32390     &ett_gsm_map_ms_EPS_SubscriptionData,
32391     &ett_gsm_map_ms_APN_ConfigurationProfile,
32392     &ett_gsm_map_ms_EPS_DataList,
32393     &ett_gsm_map_ms_APN_Configuration,
32394     &ett_gsm_map_ms_EPS_QoS_Subscribed,
32395     &ett_gsm_map_ms_AMBR,
32396     &ett_gsm_map_ms_SpecificAPNInfoList,
32397     &ett_gsm_map_ms_SpecificAPNInfo,
32398     &ett_gsm_map_ms_Allocation_Retention_Priority,
32399     &ett_gsm_map_ms_PDN_GW_Identity,
32400     &ett_gsm_map_ms_WLAN_Offloadability,
32401     &ett_gsm_map_ms_AccessRestrictionData,
32402     &ett_gsm_map_ms_Ext_AccessRestrictionData,
32403     &ett_gsm_map_ms_AdjacentAccessRestrictionDataList,
32404     &ett_gsm_map_ms_AdjacentAccessRestrictionData,
32405     &ett_gsm_map_ms_LCSInformation,
32406     &ett_gsm_map_ms_GMLC_List,
32407     &ett_gsm_map_ms_GPRSDataList,
32408     &ett_gsm_map_ms_PDP_Context,
32409     &ett_gsm_map_ms_GPRSSubscriptionData,
32410     &ett_gsm_map_ms_SGSN_CAMEL_SubscriptionInfo,
32411     &ett_gsm_map_ms_GPRS_CSI,
32412     &ett_gsm_map_ms_GPRS_CamelTDPDataList,
32413     &ett_gsm_map_ms_GPRS_CamelTDPData,
32414     &ett_gsm_map_ms_LSADataList,
32415     &ett_gsm_map_ms_LSAData,
32416     &ett_gsm_map_ms_LSAInformation,
32417     &ett_gsm_map_ms_SubscriberData,
32418     &ett_gsm_map_ms_BearerServiceList,
32419     &ett_gsm_map_ms_TeleserviceList,
32420     &ett_gsm_map_ms_ODB_Data,
32421     &ett_gsm_map_ms_ODB_GeneralData,
32422     &ett_gsm_map_ms_ODB_HPLMN_Data,
32423     &ett_gsm_map_ms_Ext_SS_InfoList,
32424     &ett_gsm_map_ms_Ext_SS_Info,
32425     &ett_gsm_map_ms_Ext_ForwInfo,
32426     &ett_gsm_map_ms_Ext_ForwFeatureList,
32427     &ett_gsm_map_ms_Ext_ForwFeature,
32428     &ett_gsm_map_ms_Ext_CallBarInfo,
32429     &ett_gsm_map_ms_Ext_CallBarFeatureList,
32430     &ett_gsm_map_ms_Ext_CallBarringFeature,
32431     &ett_gsm_map_ms_CUG_Info,
32432     &ett_gsm_map_ms_CUG_SubscriptionList,
32433     &ett_gsm_map_ms_CUG_Subscription,
32434     &ett_gsm_map_ms_CUG_FeatureList,
32435     &ett_gsm_map_ms_Ext_BasicServiceGroupList,
32436     &ett_gsm_map_ms_CUG_Feature,
32437     &ett_gsm_map_ms_Ext_SS_Data,
32438     &ett_gsm_map_ms_LCS_PrivacyExceptionList,
32439     &ett_gsm_map_ms_LCS_PrivacyClass,
32440     &ett_gsm_map_ms_ExternalClientList,
32441     &ett_gsm_map_ms_PLMNClientList,
32442     &ett_gsm_map_ms_Ext_ExternalClientList,
32443     &ett_gsm_map_ms_ExternalClient,
32444     &ett_gsm_map_ms_ServiceTypeList,
32445     &ett_gsm_map_ms_ServiceType,
32446     &ett_gsm_map_ms_MOLR_List,
32447     &ett_gsm_map_ms_MOLR_Class,
32448     &ett_gsm_map_ms_ZoneCodeList,
32449     &ett_gsm_map_ms_InsertSubscriberDataRes,
32450     &ett_gsm_map_ms_DeleteSubscriberDataArg,
32451     &ett_gsm_map_ms_SpecificCSI_Withdraw,
32452     &ett_gsm_map_ms_GPRSSubscriptionDataWithdraw,
32453     &ett_gsm_map_ms_EPS_SubscriptionDataWithdraw,
32454     &ett_gsm_map_ms_ContextIdList,
32455     &ett_gsm_map_ms_LSAInformationWithdraw,
32456     &ett_gsm_map_ms_LSAIdentityList,
32457     &ett_gsm_map_ms_BasicServiceList,
32458     &ett_gsm_map_ms_DeleteSubscriberDataRes,
32459     &ett_gsm_map_ms_VlrCamelSubscriptionInfo,
32460     &ett_gsm_map_ms_MT_smsCAMELTDP_CriteriaList,
32461     &ett_gsm_map_ms_MT_smsCAMELTDP_Criteria,
32462     &ett_gsm_map_ms_TPDU_TypeCriterion,
32463     &ett_gsm_map_ms_D_CSI,
32464     &ett_gsm_map_ms_DP_AnalysedInfoCriteriaList,
32465     &ett_gsm_map_ms_DP_AnalysedInfoCriterium,
32466     &ett_gsm_map_ms_SS_CSI,
32467     &ett_gsm_map_ms_SS_CamelData,
32468     &ett_gsm_map_ms_SS_EventList,
32469     &ett_gsm_map_ms_O_CSI,
32470     &ett_gsm_map_ms_O_BcsmCamelTDPDataList,
32471     &ett_gsm_map_ms_O_BcsmCamelTDPData,
32472     &ett_gsm_map_ms_O_BcsmCamelTDPCriteriaList,
32473     &ett_gsm_map_ms_T_BCSM_CAMEL_TDP_CriteriaList,
32474     &ett_gsm_map_ms_O_BcsmCamelTDP_Criteria,
32475     &ett_gsm_map_ms_T_BCSM_CAMEL_TDP_Criteria,
32476     &ett_gsm_map_ms_DestinationNumberCriteria,
32477     &ett_gsm_map_ms_DestinationNumberList,
32478     &ett_gsm_map_ms_DestinationNumberLengthList,
32479     &ett_gsm_map_ms_BasicServiceCriteria,
32480     &ett_gsm_map_ms_O_CauseValueCriteria,
32481     &ett_gsm_map_ms_T_CauseValueCriteria,
32482     &ett_gsm_map_ms_SupportedCamelPhases,
32483     &ett_gsm_map_ms_OfferedCamel4CSIs,
32484     &ett_gsm_map_ms_OfferedCamel4Functionalities,
32485     &ett_gsm_map_ms_SMS_CSI,
32486     &ett_gsm_map_ms_SMS_CAMEL_TDP_DataList,
32487     &ett_gsm_map_ms_SMS_CAMEL_TDP_Data,
32488     &ett_gsm_map_ms_M_CSI,
32489     &ett_gsm_map_ms_MG_CSI,
32490     &ett_gsm_map_ms_MobilityTriggers,
32491     &ett_gsm_map_ms_T_CSI,
32492     &ett_gsm_map_ms_T_BcsmCamelTDPDataList,
32493     &ett_gsm_map_ms_T_BcsmCamelTDPData,
32494     &ett_gsm_map_ms_SendRoutingInfoForGprsArg,
32495     &ett_gsm_map_ms_SendRoutingInfoForGprsRes,
32496     &ett_gsm_map_ms_FailureReportArg,
32497     &ett_gsm_map_ms_FailureReportRes,
32498     &ett_gsm_map_ms_NoteMsPresentForGprsArg,
32499     &ett_gsm_map_ms_NoteMsPresentForGprsRes,
32500     &ett_gsm_map_ms_ResetArg,
32501     &ett_gsm_map_ms_SendingNode_Number,
32502     &ett_gsm_map_ms_RestoreDataArg,
32503     &ett_gsm_map_ms_RestoreDataRes,
32504     &ett_gsm_map_ms_VBSDataList,
32505     &ett_gsm_map_ms_VGCSDataList,
32506     &ett_gsm_map_ms_VoiceGroupCallData,
32507     &ett_gsm_map_ms_AdditionalSubscriptions,
32508     &ett_gsm_map_ms_VoiceBroadcastData,
32509     &ett_gsm_map_ms_ProvideSubscriberInfoArg,
32510     &ett_gsm_map_ms_ProvideSubscriberInfoRes,
32511     &ett_gsm_map_ms_SubscriberInfo,
32512     &ett_gsm_map_ms_MNPInfoRes,
32513     &ett_gsm_map_ms_GPRSMSClass,
32514     &ett_gsm_map_ms_RequestedInfo,
32515     &ett_gsm_map_ms_RequestedNodes,
32516     &ett_gsm_map_ms_LocationInformation,
32517     &ett_gsm_map_ms_LocationInformationEPS,
32518     &ett_gsm_map_ms_LocationInformationGPRS,
32519     &ett_gsm_map_ms_LocationInformation5GS,
32520     &ett_gsm_map_ms_UserCSGInformation,
32521     &ett_gsm_map_ms_SubscriberState,
32522     &ett_gsm_map_ms_PS_SubscriberState,
32523     &ett_gsm_map_ms_PDP_ContextInfoList,
32524     &ett_gsm_map_ms_PDP_ContextInfo,
32525     &ett_gsm_map_ms_AnyTimeInterrogationArg,
32526     &ett_gsm_map_ms_AnyTimeInterrogationRes,
32527     &ett_gsm_map_ms_AnyTimeSubscriptionInterrogationArg,
32528     &ett_gsm_map_ms_AnyTimeSubscriptionInterrogationRes,
32529     &ett_gsm_map_ms_CallWaitingData,
32530     &ett_gsm_map_ms_Ext_CwFeatureList,
32531     &ett_gsm_map_ms_Ext_CwFeature,
32532     &ett_gsm_map_ms_ClipData,
32533     &ett_gsm_map_ms_ClirData,
32534     &ett_gsm_map_ms_CallHoldData,
32535     &ett_gsm_map_ms_EctData,
32536     &ett_gsm_map_ms_RequestedSubscriptionInfo,
32537     &ett_gsm_map_ms_MSISDN_BS_List,
32538     &ett_gsm_map_ms_MSISDN_BS,
32539     &ett_gsm_map_ms_CallForwardingData,
32540     &ett_gsm_map_ms_CallBarringData,
32541     &ett_gsm_map_ms_ODB_Info,
32542     &ett_gsm_map_ms_CAMEL_SubscriptionInfo,
32543     &ett_gsm_map_ms_AnyTimeModificationArg,
32544     &ett_gsm_map_ms_ModificationRequestFor_CW_Info,
32545     &ett_gsm_map_ms_ModificationRequestFor_CH_Info,
32546     &ett_gsm_map_ms_ModificationRequestFor_ECT_Info,
32547     &ett_gsm_map_ms_ModificationRequestFor_CLIR_Info,
32548     &ett_gsm_map_ms_ModificationRequestFor_CLIP_Info,
32549     &ett_gsm_map_ms_ModificationRequestFor_CSG,
32550     &ett_gsm_map_ms_RequestedServingNode,
32551     &ett_gsm_map_ms_ServingNode,
32552     &ett_gsm_map_ms_AnyTimeModificationRes,
32553     &ett_gsm_map_ms_ModificationRequestFor_CF_Info,
32554     &ett_gsm_map_ms_ModificationRequestFor_CB_Info,
32555     &ett_gsm_map_ms_ModificationRequestFor_ODB_data,
32556     &ett_gsm_map_ms_ModificationRequestFor_CSI,
32557     &ett_gsm_map_ms_ModificationRequestFor_IP_SM_GW_Data,
32558     &ett_gsm_map_ms_NoteSubscriberDataModifiedArg,
32559     &ett_gsm_map_ms_NoteSubscriberDataModifiedRes,
32560     &ett_gsm_map_ms_NoteMM_EventArg,
32561     &ett_gsm_map_ms_NoteMM_EventRes,
32562     &ett_gsm_map_ms_Ext_SS_InfoFor_CSE,
32563     &ett_gsm_map_ms_Ext_ForwardingInfoFor_CSE,
32564     &ett_gsm_map_ms_Ext_CallBarringInfoFor_CSE,
32565     &ett_gsm_map_ms_UpdateVcsgLocationArg,
32566     &ett_gsm_map_ms_UpdateVcsgLocationRes,
32567     &ett_gsm_map_ms_CancelVcsgLocationArg,
32568     &ett_gsm_map_ms_CancelVcsgLocationRes,
32569 
32570 /* --- Module MAP-CH-DataTypes --- --- ---                                    */
32571 
32572     &ett_gsm_map_ch_CUG_CheckInfo,
32573     &ett_gsm_map_ch_SendRoutingInfoArg,
32574     &ett_gsm_map_ch_SuppressMTSS,
32575     &ett_gsm_map_ch_SendRoutingInfoRes_U,
32576     &ett_gsm_map_ch_AllowedServices,
32577     &ett_gsm_map_ch_CCBS_Indicators,
32578     &ett_gsm_map_ch_RoutingInfo,
32579     &ett_gsm_map_ch_ForwardingData,
32580     &ett_gsm_map_ch_ProvideRoamingNumberArg,
32581     &ett_gsm_map_ch_ProvideRoamingNumberRes,
32582     &ett_gsm_map_ch_ResumeCallHandlingArg,
32583     &ett_gsm_map_ch_UU_Data,
32584     &ett_gsm_map_ch_ResumeCallHandlingRes,
32585     &ett_gsm_map_ch_CamelInfo,
32586     &ett_gsm_map_ch_ExtendedRoutingInfo,
32587     &ett_gsm_map_ch_CamelRoutingInfo,
32588     &ett_gsm_map_ch_GmscCamelSubscriptionInfo,
32589     &ett_gsm_map_ch_SetReportingStateArg,
32590     &ett_gsm_map_ch_SetReportingStateRes,
32591     &ett_gsm_map_ch_StatusReportArg,
32592     &ett_gsm_map_ch_EventReportData,
32593     &ett_gsm_map_ch_CallReportData,
32594     &ett_gsm_map_ch_StatusReportRes,
32595     &ett_gsm_map_ch_RemoteUserFreeArg,
32596     &ett_gsm_map_ch_RemoteUserFreeRes,
32597     &ett_gsm_map_ch_IST_AlertArg,
32598     &ett_gsm_map_ch_IST_AlertRes,
32599     &ett_gsm_map_ch_IST_CommandArg,
32600     &ett_gsm_map_ch_IST_CommandRes,
32601     &ett_gsm_map_ch_ReleaseResourcesArg,
32602     &ett_gsm_map_ch_ReleaseResourcesRes,
32603 
32604 /* --- Module MAP-LCS-DataTypes --- --- ---                                   */
32605 
32606     &ett_gsm_map_lcs_RoutingInfoForLCS_Arg,
32607     &ett_gsm_map_lcs_RoutingInfoForLCS_Res,
32608     &ett_gsm_map_lcs_LCSLocationInfo,
32609     &ett_gsm_map_lcs_ProvideSubscriberLocation_Arg,
32610     &ett_gsm_map_lcs_LocationType,
32611     &ett_gsm_map_lcs_DeferredLocationEventType,
32612     &ett_gsm_map_lcs_LCS_ClientID,
32613     &ett_gsm_map_lcs_LCSClientName,
32614     &ett_gsm_map_lcs_LCSRequestorID,
32615     &ett_gsm_map_lcs_LCS_QoS,
32616     &ett_gsm_map_lcs_ResponseTime,
32617     &ett_gsm_map_lcs_SupportedGADShapes,
32618     &ett_gsm_map_lcs_LCSCodeword,
32619     &ett_gsm_map_lcs_LCS_PrivacyCheck,
32620     &ett_gsm_map_lcs_AreaEventInfo,
32621     &ett_gsm_map_lcs_AreaDefinition,
32622     &ett_gsm_map_lcs_AreaList,
32623     &ett_gsm_map_lcs_Area,
32624     &ett_gsm_map_lcs_PeriodicLDRInfo,
32625     &ett_gsm_map_lcs_ReportingPLMNList,
32626     &ett_gsm_map_lcs_PLMNList,
32627     &ett_gsm_map_lcs_ReportingPLMN,
32628     &ett_gsm_map_lcs_ProvideSubscriberLocation_Res,
32629     &ett_gsm_map_lcs_SubscriberLocationReport_Arg,
32630     &ett_gsm_map_lcs_Deferredmt_lrData,
32631     &ett_gsm_map_lcs_ServingNodeAddress,
32632     &ett_gsm_map_lcs_SubscriberLocationReport_Res,
32633 
32634 /* --- Module MAP-GR-DataTypes --- --- ---                                    */
32635 
32636     &ett_gsm_map_gr_PrepareGroupCallArg,
32637     &ett_gsm_map_gr_PrepareGroupCallRes,
32638     &ett_gsm_map_gr_SendGroupCallEndSignalArg,
32639     &ett_gsm_map_gr_SendGroupCallEndSignalRes,
32640     &ett_gsm_map_gr_ForwardGroupCallSignallingArg,
32641     &ett_gsm_map_gr_ProcessGroupCallSignallingArg,
32642     &ett_gsm_map_gr_StateAttributes,
32643     &ett_gsm_map_gr_SendGroupCallInfoArg,
32644     &ett_gsm_map_gr_SendGroupCallInfoRes,
32645 
32646 /* --- Module MAP-DialogueInformation --- --- ---                             */
32647 
32648     &ett_gsm_map_dialogue_MAP_DialoguePDU,
32649     &ett_gsm_map_dialogue_MAP_OpenInfo,
32650     &ett_gsm_map_dialogue_MAP_AcceptInfo,
32651     &ett_gsm_map_dialogue_MAP_CloseInfo,
32652     &ett_gsm_map_dialogue_MAP_RefuseInfo,
32653     &ett_gsm_map_dialogue_MAP_UserAbortInfo,
32654     &ett_gsm_map_dialogue_MAP_UserAbortChoice,
32655     &ett_gsm_map_dialogue_MAP_ProviderAbortInfo,
32656 
32657 /* --- Module MAP-LocationServiceOperations --- --- ---                       */
32658 
32659 
32660 /* --- Module MAP-Group-Call-Operations --- --- ---                           */
32661 
32662 
32663 /* --- Module MAP-ShortMessageServiceOperations --- --- ---                   */
32664 
32665 
32666 /* --- Module MAP-SupplementaryServiceOperations --- --- ---                  */
32667 
32668 
32669 /* --- Module MAP-CallHandlingOperations --- --- ---                          */
32670 
32671 
32672 /* --- Module MAP-OperationAndMaintenanceOperations --- --- ---               */
32673 
32674 
32675 /* --- Module MAP-MobileServiceOperations --- --- ---                         */
32676 
32677 
32678 /* --- Module MAP-Errors --- --- ---                                          */
32679 
32680 
32681 /* --- Module MAP-Protocol --- --- ---                                        */
32682 
32683 
32684 /* --- Module DummyMAP --- --- ---                                            */
32685 
32686     &ett_gsm_old_Component,
32687     &ett_gsm_old_Invoke,
32688     &ett_gsm_old_ReturnResult,
32689     &ett_gsm_old_T_resultretres,
32690     &ett_gsm_old_ReturnError,
32691     &ett_gsm_old_Reject,
32692     &ett_gsm_old_T_invokeIDRej,
32693     &ett_gsm_old_T_problem,
32694     &ett_gsm_old_MAP_OPERATION,
32695     &ett_gsm_old_MAP_ERROR,
32696     &ett_gsm_old_Bss_APDU,
32697     &ett_gsm_old_ProvideSIWFSNumberArg,
32698     &ett_gsm_old_ProvideSIWFSNumberRes,
32699     &ett_gsm_old_PurgeMSArgV2,
32700     &ett_gsm_old_PrepareHO_ArgOld,
32701     &ett_gsm_old_PrepareHO_ResOld,
32702     &ett_gsm_old_SendAuthenticationInfoResOld,
32703     &ett_gsm_old_SendAuthenticationInfoResOld_item,
32704     &ett_gsm_old_SendIdentificationResV2,
32705     &ett_gsm_old_TripletListold,
32706     &ett_gsm_old_AuthenticationTriplet_v2,
32707     &ett_gsm_old_SIWFSSignallingModifyArg,
32708     &ett_gsm_old_SIWFSSignallingModifyRes,
32709     &ett_gsm_old_SecureTransportArg,
32710     &ett_gsm_old_SecureTransportErrorParam,
32711     &ett_gsm_old_SecureTransportRes,
32712     &ett_gsm_old_SecurityHeader,
32713     &ett_gsm_old_OriginalComponentIdentifier,
32714     &ett_gsm_old_OperationCode,
32715     &ett_gsm_old_ErrorCode,
32716     &ett_gsm_old_PlmnContainer_U,
32717     &ett_gsm_old_T_operatorSS_Code,
32718     &ett_gsm_old_ForwardSM_Arg,
32719     &ett_gsm_old_SM_RP_DAold,
32720     &ett_gsm_old_SM_RP_OAold,
32721     &ett_gsm_old_SendRoutingInfoArgV2,
32722     &ett_gsm_old_SendRoutingInfoResV2,
32723     &ett_gsm_old_BeginSubscriberActivityArg,
32724     &ett_gsm_old_RoutingInfoForSM_ArgV1,
32725     &ett_gsm_old_RoutingInfoForSM_ResV2,
32726     &ett_gsm_old_LocationInfoWithLMSIv2,
32727     &ett_gsm_old_LocationInfo,
32728     &ett_gsm_old_SendParametersArg,
32729     &ett_gsm_old_RequestParameterList,
32730     &ett_gsm_old_SentParameter,
32731     &ett_gsm_old_AuthenticationSetListOld,
32732     &ett_gsm_old_SentParameterList,
32733     &ett_gsm_old_ResetArgV1,
32734 
32735 /* --- Module SS-DataTypes --- --- ---                                        */
32736 
32737     &ett_gsm_ss_NotifySS_Arg,
32738     &ett_gsm_ss_ForwardChargeAdviceArg,
32739     &ett_gsm_ss_ChargingInformation,
32740     &ett_gsm_ss_ForwardCUG_InfoArg,
32741     &ett_gsm_ss_ECT_Indicator,
32742     &ett_gsm_ss_NameIndicator,
32743     &ett_gsm_ss_Name,
32744     &ett_gsm_ss_NameSet,
32745     &ett_gsm_ss_RDN,
32746     &ett_gsm_ss_RemotePartyNumber,
32747     &ett_gsm_ss_AccessRegisterCCEntryArg,
32748     &ett_gsm_ss_CallDeflectionArg,
32749     &ett_gsm_ss_UserUserServiceArg,
32750     &ett_gsm_ss_LocationNotificationArg,
32751     &ett_gsm_ss_DeferredLocationExt,
32752     &ett_gsm_ss_LocationNotificationRes,
32753     &ett_gsm_ss_LCS_MOLRArg,
32754     &ett_gsm_ss_MultiplePositioningProtocolPDUs,
32755     &ett_gsm_ss_LCS_MOLRRes,
32756     &ett_gsm_ss_LCS_AreaEventRequestArg,
32757     &ett_gsm_ss_LCS_AreaEventReportArg,
32758     &ett_gsm_ss_LCS_AreaEventCancellationArg,
32759     &ett_gsm_ss_LCS_PeriodicLocationRequestArg,
32760     &ett_gsm_ss_LCS_PeriodicLocationRequestRes,
32761     &ett_gsm_ss_LCS_LocationUpdateArg,
32762     &ett_gsm_ss_LCS_LocationUpdateRes,
32763     &ett_gsm_ss_LCS_PeriodicLocationCancellationArg,
32764     &ett_gsm_ss_LCS_PeriodicTriggeredInvokeArg,
32765     &ett_gsm_ss_PeriodicLocation,
32766     &ett_gsm_ss_AreaEventReporting,
32767     &ett_gsm_ss_AreaList,
32768     &ett_gsm_ss_Area,
32769     &ett_gsm_ss_Location_Info,
32770     &ett_gsm_ss_MotionEventReporting,
32771     &ett_gsm_ss_LCS_PeriodicTriggeredInvokeRes,
32772 
32773 /* --- Module SS-Operations --- --- ---                                       */
32774 
32775 
32776 /* --- Module EricssonMAP --- --- ---                                         */
32777 
32778     &ett_gsm_map_ericsson_EnhancedCheckIMEI_Arg,
32779     &ett_gsm_map_ericsson_ExtensionType,
32780     &ett_gsm_map_ericsson_IsdArgType,
32781     &ett_gsm_map_ericsson_IsdArgData,
32782     &ett_gsm_map_ericsson_PrivateFeatureData,
32783     &ett_gsm_map_ericsson_OickInfo,
32784     &ett_gsm_map_ericsson_SubscriptionTypeInfo,
32785     &ett_gsm_map_ericsson_IsdResType,
32786     &ett_gsm_map_ericsson_IsdResData,
32787     &ett_gsm_map_ericsson_DsdArgType,
32788     &ett_gsm_map_ericsson_DsdArgData,
32789     &ett_gsm_map_ericsson_SRIArgType,
32790     &ett_gsm_map_ericsson_SriArgData,
32791     &ett_gsm_map_ericsson_SRIResType,
32792     &ett_gsm_map_ericsson_SriResData,
32793     &ett_gsm_map_ericsson_PrnArgType,
32794     &ett_gsm_map_ericsson_PrnArgData,
32795     &ett_gsm_map_ericsson_UlArgType,
32796     &ett_gsm_map_ericsson_UlArgData,
32797     &ett_gsm_map_ericsson_PrivateFeatureUlArgData,
32798     &ett_gsm_map_ericsson_ExtraSignalInfo_U,
32799     &ett_gsm_map_ericsson_SaiArgType,
32800     &ett_gsm_map_ericsson_SaiResType,
32801     &ett_gsm_map_ericsson_AtiArgType,
32802     &ett_gsm_map_ericsson_AtiResType,
32803     &ett_gsm_map_ericsson_RdArgType,
32804     &ett_gsm_map_ericsson_RequestedInfoType,
32805     &ett_gsm_map_ericsson_ExtAtiArgType,
32806     &ett_gsm_map_ericsson_AtiArgData,
32807 
32808 /* --- Module NokiaMAP-Extensions --- --- ---                                 */
32809 
32810     &ett_NokiaMAP_Extensions_IsdArgExt_U,
32811     &ett_NokiaMAP_Extensions_DsdArgExt_U,
32812     &ett_NokiaMAP_Extensions_UlResExt_U,
32813     &ett_NokiaMAP_Extensions_ChargingAreaList,
32814     &ett_NokiaMAP_Extensions_RegionalChargingData,
32815     &ett_NokiaMAP_Extensions_SS_DataExtension_U,
32816     &ett_NokiaMAP_Extensions_SriExtension_U,
32817     &ett_NokiaMAP_Extensions_ExtraSignalInfo_U,
32818     &ett_NokiaMAP_Extensions_Nokia_CUG_Data,
32819     &ett_NokiaMAP_Extensions_SriResExtension_U,
32820     &ett_NokiaMAP_Extensions_RgData,
32821     &ett_NokiaMAP_Extensions_MemberList,
32822     &ett_NokiaMAP_Extensions_CanLocArgExt_U,
32823     &ett_NokiaMAP_Extensions_ATMargExt_U,
32824     &ett_NokiaMAP_Extensions_OlcmInfoTable,
32825     &ett_NokiaMAP_Extensions_OlcmInfo,
32826     &ett_NokiaMAP_Extensions_ATMresExt_U,
32827     &ett_NokiaMAP_Extensions_DTMargExt_U,
32828     &ett_NokiaMAP_Extensions_FraudInfo,
32829     &ett_NokiaMAP_Extensions_FraudData,
32830     &ett_NokiaMAP_Extensions_ServiceWithInfo,
32831     &ett_NokiaMAP_Extensions_ServiceListWithInfo,
32832     &ett_NokiaMAP_Extensions_INKey,
32833     &ett_NokiaMAP_Extensions_MKey,
32834     &ett_NokiaMAP_Extensions_SMSKey,
32835     &ett_NokiaMAP_Extensions_HO_Ext_U,
32836     &ett_NokiaMAP_Extensions_CodecListExt,
32837     &ett_NokiaMAP_Extensions_SelectedCodec,
32838     &ett_NokiaMAP_Extensions_AbsentSubscriberExt_U,
32839     &ett_NokiaMAP_Extensions_ErrOlcmInfoTableExt_U,
32840     &ett_NokiaMAP_Extensions_RoutingCategoryExt_U,
32841     &ett_NokiaMAP_Extensions_SriForSMArgExt_U,
32842     &ett_NokiaMAP_Extensions_ReportSMDelStatArgExt_U,
32843     &ett_NokiaMAP_Extensions_MO_ForwardSM_ArgExt_U,
32844     &ett_NokiaMAP_Extensions_UdlArgExt_U,
32845     &ett_NokiaMAP_Extensions_RoamNotAllowedExt_U,
32846     &ett_NokiaMAP_Extensions_AnyTimeModArgExt_U,
32847     &ett_NokiaMAP_Extensions_AccessTypeExt,
32848     &ett_NokiaMAP_Extensions_AccessSubscriptionListExt,
32849     &ett_NokiaMAP_Extensions_AllowedServiceData,
32850 
32851 /*--- End of included file: packet-gsm_map-ettarr.c ---*/
32852 #line 3374 "./asn1/gsm_map/packet-gsm_map-template.c"
32853   };
32854 
32855   static ei_register_info ei[] = {
32856      { &ei_gsm_map_unknown_sequence3, { "gsm_map.unknown.sequence3", PI_UNDECODED, PI_ERROR, "Unknown or not implemented [3] sequence", EXPFILL }},
32857      { &ei_gsm_map_unknown_sequence, { "gsm_map.unknown.sequence", PI_UNDECODED, PI_ERROR, "Unknown or not implemented sequence", EXPFILL }},
32858      { &ei_gsm_map_unknown_parameter, { "gsm_map.unknown.parameter", PI_UNDECODED, PI_ERROR, "Unknown or not implemented parameter", EXPFILL }},
32859      { &ei_gsm_map_unknown_invokeData, { "gsm_map.unknown.invokeData", PI_MALFORMED, PI_WARN, "Unknown invokeData", EXPFILL }},
32860      { &ei_gsm_map_undecoded, { "gsm_map.undecoded", PI_UNDECODED, PI_WARN, "If you want this decoded send the packet to Wireshark-dev", EXPFILL }},
32861   };
32862 
32863   static const enum_val_t application_context_modes[] = {
32864     {"Use Application Context from the trace", "Use application context from the trace", APPLICATON_CONTEXT_FROM_TRACE},
32865     {"Treat as AC 1", "Treat as AC 1", 1},
32866     {"Treat as AC 2", "Treat as AC 2", 2},
32867     {"Treat as AC 3", "Treat as AC 3", 3},
32868     {NULL, NULL, -1}
32869   };
32870 
32871   static tap_param gsm_map_stat_params[] = {
32872     { PARAM_FILTER, "filter", "Filter", NULL, TRUE }
32873   };
32874 
32875   static stat_tap_table_ui gsm_map_stat_table = {
32876     REGISTER_STAT_GROUP_TELEPHONY_GSM,
32877     "MAP Operation",
32878     "gsm_map",
32879     "gsm_map,operation",
32880     gsm_map_stat_init,
32881     gsm_map_stat_packet,
32882     gsm_map_stat_reset,
32883     gsm_map_stat_free_table_item,
32884     NULL,
32885     sizeof(gsm_map_stat_fields)/sizeof(stat_tap_table_item), gsm_map_stat_fields,
32886     sizeof(gsm_map_stat_params)/sizeof(tap_param), gsm_map_stat_params,
32887     NULL,
32888     0
32889   };
32890 
32891   /* Register protocol */
32892   proto_gsm_map_ms = proto_gsm_map_dialogue = proto_gsm_map = proto_register_protocol(PNAME, PSNAME, PFNAME);
32893 
32894   map_handle = register_dissector("gsm_map", dissect_gsm_map, proto_gsm_map);
32895   register_dissector("gsm_map_sccp", dissect_gsm_map_sccp, proto_gsm_map);
32896 
32897   /* Register fields and subtrees */
32898   proto_register_field_array(proto_gsm_map, hf, array_length(hf));
32899   proto_register_subtree_array(ett, array_length(ett));
32900   expert_gsm_map = expert_register_protocol(proto_gsm_map);
32901   expert_register_field_array(expert_gsm_map, ei, array_length(ei));
32902 
32903   register_dissector_table("gsm_map.v3.arg.opcode", "GSM_MAP V3 Arg Opcodes", proto_gsm_map, FT_UINT8, BASE_DEC);
32904   register_dissector_table("gsm_map.v3.res.opcode", "GSM_MAP V3 Res Opcodes", proto_gsm_map, FT_UINT8, BASE_DEC);
32905 
32906   map_prop_arg_opcode_table = register_dissector_table("gsm_map.prop.arg.opcode", "GSM_MAP Proprietary Arg Opcodes", proto_gsm_map, FT_UINT8, BASE_DEC);
32907   map_prop_res_opcode_table = register_dissector_table("gsm_map.prop.res.opcode", "GSM_MAP Proprietary Res Opcodes", proto_gsm_map, FT_UINT8, BASE_DEC);
32908   map_prop_err_opcode_table = register_dissector_table("gsm_map.prop.err.opcode", "GSM_MAP Proprietary Err Opcodes", proto_gsm_map, FT_UINT8, BASE_DEC);
32909 
32910   gsm_map_tap = register_tap("gsm_map");
32911 
32912 
32913 /*--- Included file: packet-gsm_map-dis-tab.c ---*/
32914 #line 1 "./asn1/gsm_map/packet-gsm_map-dis-tab.c"
32915 
32916 /* --- Module MAP-MS-DataTypes --- --- ---                                    */
32917 
32918   dissector_add_uint("gsm_map.v3.arg.opcode", 56, create_dissector_handle(dissect_gsm_map_ms_SendAuthenticationInfoArg_PDU, proto_gsm_map_ms));
32919   dissector_add_uint("gsm_map.v3.res.opcode", 56, create_dissector_handle(dissect_gsm_map_ms_SendAuthenticationInfoRes_PDU, proto_gsm_map_ms));
32920 
32921 
32922 /* --- Module MAP-CH-DataTypes --- --- ---                                    */
32923 
32924 
32925 
32926 /* --- Module MAP-LCS-DataTypes --- --- ---                                   */
32927 
32928 
32929 
32930 /* --- Module MAP-GR-DataTypes --- --- ---                                    */
32931 
32932 
32933 
32934 /* --- Module MAP-DialogueInformation --- --- ---                             */
32935 
32936   register_ber_oid_dissector("0.4.0.0.1.1.1.1", dissect_gsm_map_dialogue_MAP_DialoguePDU_PDU, proto_gsm_map_dialogue, "map-DialogueAS");
32937 
32938 
32939 /* --- Module MAP-LocationServiceOperations --- --- ---                       */
32940 
32941 
32942 
32943 /* --- Module MAP-Group-Call-Operations --- --- ---                           */
32944 
32945 
32946 
32947 /* --- Module MAP-ShortMessageServiceOperations --- --- ---                   */
32948 
32949 
32950 
32951 /* --- Module MAP-SupplementaryServiceOperations --- --- ---                  */
32952 
32953 
32954 
32955 /* --- Module MAP-CallHandlingOperations --- --- ---                          */
32956 
32957 
32958 
32959 /* --- Module MAP-OperationAndMaintenanceOperations --- --- ---               */
32960 
32961 
32962 
32963 /* --- Module MAP-MobileServiceOperations --- --- ---                         */
32964 
32965 
32966 
32967 /* --- Module MAP-Errors --- --- ---                                          */
32968 
32969 
32970 
32971 /* --- Module MAP-Protocol --- --- ---                                        */
32972 
32973 
32974 
32975 /* --- Module DummyMAP --- --- ---                                            */
32976 
32977 
32978 
32979 /* --- Module SS-DataTypes --- --- ---                                        */
32980 
32981 
32982 
32983 /* --- Module SS-Operations --- --- ---                                       */
32984 
32985 
32986 
32987 /* --- Module EricssonMAP --- --- ---                                         */
32988 
32989 
32990 
32991 /* --- Module NokiaMAP-Extensions --- --- ---                                 */
32992 
32993 
32994 
32995 /*--- End of included file: packet-gsm_map-dis-tab.c ---*/
32996 #line 3434 "./asn1/gsm_map/packet-gsm_map-template.c"
32997   oid_add_from_string("ericsson-gsm-Map-Ext","1.2.826.0.1249.58.1.0" );
32998   oid_add_from_string("accessTypeNotAllowed-id","1.3.12.2.1107.3.66.1.2");
32999   /*oid_add_from_string("map-ac networkLocUp(1) version3(3)","0.4.0.0.1.0.1.3" );
33000    *
33001    * Register our configuration options, particularly our ssn:s
33002    * Set default SSNs
33003    */
33004   range_convert_str(wmem_epan_scope(), &global_ssn_range, "6-9,145,148-150", MAX_SSN);
33005 
33006   gsm_map_module = prefs_register_protocol(proto_gsm_map, proto_reg_handoff_gsm_map);
33007 
33008   prefs_register_range_preference(gsm_map_module, "tcap.ssn", "TCAP SSNs",
33009                                   "TCAP Subsystem numbers used for GSM MAP",
33010                                   &global_ssn_range, MAX_SSN);
33011 
33012   prefs_register_enum_preference(gsm_map_module, "application.context.version",
33013                                   "Application context version",
33014                                   "How to treat Application context",
33015                                   &pref_application_context_version, application_context_modes, APPLICATON_CONTEXT_FROM_TRACE);
33016 
33017   prefs_register_bool_preference(gsm_map_module, "ericsson.proprietary.extensions",
33018                                   "Dissect Ericsson proprietary extensions",
33019                                   "When enabled, dissector will use the non 3GPP standard extensions from Ericsson (that can override the standard ones)",
33020                                   &pref_ericsson_proprietary_ext);
33021 
33022   register_stat_tap_table_ui(&gsm_map_stat_table);
33023 }
33024 
33025 /*
33026  * Editor modelines
33027  *
33028  * Local Variables:
33029  * c-basic-offset: 2
33030  * tab-width: 8
33031  * indent-tabs-mode: nil
33032  * End:
33033  *
33034  * ex: set shiftwidth=2 tabstop=8 expandtab:
33035  * :indentSize=2:tabSize=8:noTabs=true:
33036  */
33037