From Kovarththanan Rajaratnam via bug 3548:
[obnox/wireshark/wip.git] / epan / dissectors / packet-ansi_map.c
1 /* Do not modify this file.                                                   */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler   */
3 /* packet-ansi_map.c                                                          */
4 /* ../../tools/asn2wrs.py -b -p ansi_map -c ./ansi_map.cnf -s ./packet-ansi_map-template -D . ansi_map.asn */
5
6 /* Input file: packet-ansi_map-template.c */
7
8 #line 1 "packet-ansi_map-template.c"
9 /* packet-ansi_map.c
10  * Routines for ANSI 41 Mobile Application Part (IS41 MAP) dissection
11  * Specications from 3GPP2 (www.3gpp2.org)
12  * Based on the dissector by :
13  * Michael Lum <mlum [AT] telostech.com>
14  * In association with Telos Technology Inc.
15  *
16  * Copyright 2005 - 2009, Anders Broman <anders.broman@ericsson.com>
17  *
18  * $Id$
19  *
20  * Wireshark - Network traffic analyzer
21  * By Gerald Combs <gerald@wireshark.org>
22  * Copyright 1998 Gerald Combs
23  *
24  * This program is free software; you can redistribute it and/or
25  * modify it under the terms of the GNU General Public License
26  * as published by the Free Software Foundation; either version 2
27  * of the License, or (at your option) any later version.
28  *
29  * This program is distributed in the hope that it will be useful,
30  * but WITHOUT ANY WARRANTY; without even the implied warranty of
31  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
32  * GNU General Public License for more details.
33  *
34  * You should have received a copy of the GNU General Public License
35  * along with this program; if not, write to the Free Software
36  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
37  *
38  * Credit to Tomas Kukosa for developing the asn2wrs compiler.
39  *
40  * Title                3GPP2                   Other
41  *
42  *   Cellular Radiotelecommunications Intersystem Operations
43  *                      3GPP2 N.S0005-0 v 1.0           ANSI/TIA/EIA-41-D 
44  *
45  *   Network Support for MDN-Based Message Centers
46  *                      3GPP2 N.S0024-0 v1.0    IS-841
47  *
48  *   Enhanced International Calling
49  *                      3GPP2 N.S0027           IS-875
50  *
51  *   ANSI-41-D Miscellaneous Enhancements Revision 0
52  *                      3GPP2 N.S0015           PN-3590 (ANSI-41-E)
53  *
54  *   Authentication Enhancements
55  *                      3GPP2 N.S0014-0 v1.0    IS-778
56  *
57  *   Features In CDMA
58  *                      3GPP2 N.S0010-0 v1.0    IS-735
59  *
60  *   OTASP and OTAPA
61  *                      3GPP2 N.S0011-0 v1.0    IS-725-A
62  *
63  *   Circuit Mode Services
64  *                      3GPP2 N.S0008-0 v1.0    IS-737
65  *      XXX SecondInterMSCCircuitID not implemented, parameter ID conflicts with ISLP Information!
66  *
67  *   IMSI
68  *                      3GPP2 N.S0009-0 v1.0    IS-751
69  *
70  *   WIN Phase 1
71  *                      3GPP2 N.S0013-0 v1.0    IS-771
72  *
73  *       DCCH (Clarification of Audit Order with Forced 
74  *         Re-Registration in pre-TIA/EIA-136-A Implementation 
75  *                      3GPP2 A.S0017-B                 IS-730
76  *
77  *   UIM
78  *                      3GPP2 N.S0003
79  *
80  *   WIN Phase 2
81  *                      3GPP2 N.S0004-0 v1.0    IS-848
82  *
83  *   TIA/EIA-41-D Pre-Paid Charging
84  *                      3GPP2 N.S0018-0 v1.0    IS-826
85  *
86  *   User Selective Call Forwarding
87  *                      3GPP2 N.S0021-0 v1.0    IS-838
88  *
89  *
90  *   Answer Hold
91  *                      3GPP2 N.S0022-0 v1.0    IS-837
92  *
93  */ 
94
95 #ifdef HAVE_CONFIG_H
96 # include "config.h"
97 #endif
98
99 #include <glib.h>
100 #include <epan/packet.h>
101 #include <epan/prefs.h>
102 #include <epan/tap.h>
103 #include <epan/asn1.h>
104
105 #include <stdio.h>
106 #include <string.h>
107
108 #include "packet-ber.h"
109 #include "packet-ansi_map.h"
110 #include "packet-ansi_a.h"
111 #include "packet-gsm_map.h"
112 #include "packet-tcap.h"
113 #include "packet-ansi_tcap.h"
114
115 #define PNAME  "ANSI Mobile Application Part"
116 #define PSNAME "ANSI MAP"
117 #define PFNAME "ansi_map"
118
119 /* Preference settings default */
120 #define MAX_SSN 254
121 static range_t *global_ssn_range;
122
123 static dissector_handle_t ansi_map_handle=NULL;
124
125 /* Initialize the protocol and registered fields */
126 static int ansi_map_tap = -1;
127 static int proto_ansi_map = -1;
128
129 static int hf_ansi_map_op_code_fam = -1;
130 static int hf_ansi_map_op_code = -1;
131
132 static int hf_ansi_map_reservedBitH = -1;
133 static int hf_ansi_map_reservedBitHG = -1;
134 static int hf_ansi_map_reservedBitHGFE = -1;
135 static int hf_ansi_map_reservedBitFED = -1;
136 static int hf_ansi_map_reservedBitD = -1;
137 static int hf_ansi_map_reservedBitED = -1;
138
139 static int hf_ansi_map_type_of_digits = -1;
140 static int hf_ansi_map_na = -1;
141 static int hf_ansi_map_pi = -1;
142 static int hf_ansi_map_navail = -1;
143 static int hf_ansi_map_si = -1;
144 static int hf_ansi_map_digits_enc = -1;
145 static int hf_ansi_map_np = -1;
146 static int hf_ansi_map_nr_digits = -1;
147 static int hf_ansi_map_bcd_digits = -1;
148 static int hf_ansi_map_ia5_digits = -1;
149 static int hf_ansi_map_subaddr_type = -1;
150 static int hf_ansi_map_subaddr_odd_even = -1;
151 static int hf_ansi_alertcode_cadence = -1;
152 static int hf_ansi_alertcode_pitch = -1;
153 static int hf_ansi_alertcode_alertaction = -1;
154 static int hf_ansi_map_announcementcode_tone = -1;
155 static int hf_ansi_map_announcementcode_class = -1;
156 static int hf_ansi_map_announcementcode_std_ann = -1;
157 static int hf_ansi_map_announcementcode_cust_ann = -1;
158 static int hf_ansi_map_authorizationperiod_period = -1;
159 static int hf_ansi_map_value = -1;
160 static int hf_ansi_map_msc_type = -1;
161 static int hf_ansi_map_handoffstate_pi = -1;
162 static int hf_ansi_map_tgn = -1;
163 static int hf_ansi_map_tmn = -1;
164 static int hf_ansi_map_messagewaitingnotificationcount_tom = -1;
165 static int hf_ansi_map_messagewaitingnotificationcount_no_mw = -1;
166 static int hf_ansi_map_messagewaitingnotificationtype_mwi = -1;
167 static int hf_ansi_map_messagewaitingnotificationtype_apt = -1;
168 static int hf_ansi_map_messagewaitingnotificationtype_pt = -1;
169
170 static int hf_ansi_map_trans_cap_prof = -1;
171 static int hf_ansi_map_trans_cap_busy = -1;
172 static int hf_ansi_map_trans_cap_ann = -1;
173 static int hf_ansi_map_trans_cap_rui = -1;
174 static int hf_ansi_map_trans_cap_spini = -1;
175 static int hf_ansi_map_trans_cap_uzci = -1;
176 static int hf_ansi_map_trans_cap_ndss = -1;
177 static int hf_ansi_map_trans_cap_nami = -1;
178 static int hf_ansi_trans_cap_multerm = -1;
179 static int hf_ansi_map_terminationtriggers_busy = -1;
180 static int hf_ansi_map_terminationtriggers_rf = -1;
181 static int hf_ansi_map_terminationtriggers_npr = -1;
182 static int hf_ansi_map_terminationtriggers_na = -1;
183 static int hf_ansi_map_terminationtriggers_nr = -1;
184 static int hf_ansi_trans_cap_tl = -1;
185 static int hf_ansi_map_cdmaserviceoption = -1;
186 static int hf_ansi_trans_cap_waddr = -1;
187 static int hf_ansi_map_MarketID = -1;
188 static int hf_ansi_map_swno = -1;
189 static int hf_ansi_map_idno = -1;
190 static int hf_ansi_map_segcount = -1;
191 static int hf_ansi_map_sms_originationrestrictions_fmc = -1;
192 static int hf_ansi_map_sms_originationrestrictions_direct = -1;
193 static int hf_ansi_map_sms_originationrestrictions_default = -1;
194 static int hf_ansi_map_systemcapabilities_auth = -1;
195 static int hf_ansi_map_systemcapabilities_se = -1;
196 static int hf_ansi_map_systemcapabilities_vp = -1;
197 static int hf_ansi_map_systemcapabilities_cave = -1;
198 static int hf_ansi_map_systemcapabilities_ssd = -1;
199 static int hf_ansi_map_systemcapabilities_dp = -1;
200
201 static int hf_ansi_map_mslocation_lat = -1;
202 static int hf_ansi_map_mslocation_long = -1;
203 static int hf_ansi_map_mslocation_res = -1;
204 static int hf_ansi_map_nampscallmode_namps = -1;
205 static int hf_ansi_map_nampscallmode_amps = -1;
206 static int hf_ansi_map_nampschanneldata_navca = -1;
207 static int hf_ansi_map_nampschanneldata_CCIndicator = -1;
208
209 static int hf_ansi_map_callingfeaturesindicator_cfufa = -1;
210 static int hf_ansi_map_callingfeaturesindicator_cfbfa = -1;
211 static int hf_ansi_map_callingfeaturesindicator_cfnafa = -1;
212 static int hf_ansi_map_callingfeaturesindicator_cwfa = -1;
213 static int hf_ansi_map_callingfeaturesindicator_3wcfa = -1;
214 static int hf_ansi_map_callingfeaturesindicator_pcwfa =-1;
215 static int hf_ansi_map_callingfeaturesindicator_dpfa = -1;
216 static int hf_ansi_map_callingfeaturesindicator_ahfa = -1;
217 static int hf_ansi_map_callingfeaturesindicator_uscfvmfa = -1;
218 static int hf_ansi_map_callingfeaturesindicator_uscfmsfa = -1;
219 static int hf_ansi_map_callingfeaturesindicator_uscfnrfa = -1;
220 static int hf_ansi_map_callingfeaturesindicator_cpdsfa = -1;
221 static int hf_ansi_map_callingfeaturesindicator_ccsfa = -1;
222 static int hf_ansi_map_callingfeaturesindicator_epefa = -1;
223 static int hf_ansi_map_callingfeaturesindicator_cdfa = -1;
224 static int hf_ansi_map_callingfeaturesindicator_vpfa = -1;
225 static int hf_ansi_map_callingfeaturesindicator_ctfa = -1;
226 static int hf_ansi_map_callingfeaturesindicator_cnip1fa = -1;
227 static int hf_ansi_map_callingfeaturesindicator_cnip2fa = -1;
228 static int hf_ansi_map_callingfeaturesindicator_cnirfa = -1;
229 static int hf_ansi_map_callingfeaturesindicator_cniroverfa = -1;
230 static int hf_ansi_map_cdmacallmode_cdma = -1;
231 static int hf_ansi_map_cdmacallmode_amps = -1;
232 static int hf_ansi_map_cdmacallmode_namps = -1;
233 static int hf_ansi_map_cdmacallmode_cls1 = -1;
234 static int hf_ansi_map_cdmacallmode_cls2 = -1;
235 static int hf_ansi_map_cdmacallmode_cls3 = -1;
236 static int hf_ansi_map_cdmacallmode_cls4 = -1;
237 static int hf_ansi_map_cdmacallmode_cls5 = -1;
238 static int hf_ansi_map_cdmacallmode_cls6 = -1;
239 static int hf_ansi_map_cdmacallmode_cls7 = -1;
240 static int hf_ansi_map_cdmacallmode_cls8 = -1;
241 static int hf_ansi_map_cdmacallmode_cls9 = -1;
242 static int hf_ansi_map_cdmacallmode_cls10 = -1;
243 static int hf_ansi_map_cdmachanneldata_Frame_Offset = -1;
244 static int hf_ansi_map_cdmachanneldata_CDMA_ch_no = -1;
245 static int hf_ansi_map_cdmachanneldata_band_cls = -1;
246 static int hf_ansi_map_cdmachanneldata_lc_mask_b6 = -1;
247 static int hf_ansi_map_cdmachanneldata_lc_mask_b5 = -1;
248 static int hf_ansi_map_cdmachanneldata_lc_mask_b4 = -1;
249 static int hf_ansi_map_cdmachanneldata_lc_mask_b3 = -1;
250 static int hf_ansi_map_cdmachanneldata_lc_mask_b2 = -1;
251 static int hf_ansi_map_cdmachanneldata_lc_mask_b1 = -1;
252 static int hf_ansi_map_cdmachanneldata_np_ext = -1;
253 static int hf_ansi_map_cdmachanneldata_nominal_pwr = -1;
254 static int hf_ansi_map_cdmachanneldata_nr_preamble = -1;
255  
256 static int hf_ansi_map_cdmastationclassmark_pc = -1;
257 static int hf_ansi_map_cdmastationclassmark_dtx = -1;
258 static int hf_ansi_map_cdmastationclassmark_smi = -1;
259 static int hf_ansi_map_cdmastationclassmark_dmi = -1;
260 static int hf_ansi_map_channeldata_vmac = -1;
261 static int hf_ansi_map_channeldata_dtx = -1;
262 static int hf_ansi_map_channeldata_scc = -1;
263 static int hf_ansi_map_channeldata_chno = -1;
264 static int hf_ansi_map_ConfidentialityModes_vp = -1;
265 static int hf_ansi_map_controlchanneldata_dcc = -1;
266 static int hf_ansi_map_controlchanneldata_cmac = -1;
267 static int hf_ansi_map_controlchanneldata_chno = -1;
268 static int hf_ansi_map_controlchanneldata_sdcc1 = -1;
269 static int hf_ansi_map_controlchanneldata_sdcc2 = -1;
270 static int hf_ansi_map_ConfidentialityModes_se = -1;
271 static int hf_ansi_map_deniedauthorizationperiod_period = -1;
272 static int hf_ansi_map_ConfidentialityModes_dp = -1;
273
274 static int hf_ansi_map_originationtriggers_all = -1;
275 static int hf_ansi_map_originationtriggers_local = -1;
276 static int hf_ansi_map_originationtriggers_ilata = -1;
277 static int hf_ansi_map_originationtriggers_olata = -1;
278 static int hf_ansi_map_originationtriggers_int = -1;
279 static int hf_ansi_map_originationtriggers_wz = -1;
280 static int hf_ansi_map_originationtriggers_unrec = -1;
281 static int hf_ansi_map_originationtriggers_rvtc = -1;
282 static int hf_ansi_map_originationtriggers_star = -1;
283 static int hf_ansi_map_originationtriggers_ds = -1;
284 static int hf_ansi_map_originationtriggers_pound = -1;
285 static int hf_ansi_map_originationtriggers_dp = -1;
286 static int hf_ansi_map_originationtriggers_pa = -1;
287 static int hf_ansi_map_originationtriggers_nodig = -1;
288 static int hf_ansi_map_originationtriggers_onedig = -1;
289 static int hf_ansi_map_originationtriggers_twodig = -1;
290 static int hf_ansi_map_originationtriggers_threedig = -1;
291 static int hf_ansi_map_originationtriggers_fourdig = -1;
292 static int hf_ansi_map_originationtriggers_fivedig = -1;
293 static int hf_ansi_map_originationtriggers_sixdig = -1;
294 static int hf_ansi_map_originationtriggers_sevendig = -1;
295 static int hf_ansi_map_originationtriggers_eightdig = -1;
296 static int hf_ansi_map_originationtriggers_ninedig = -1;
297 static int hf_ansi_map_originationtriggers_tendig = -1;
298 static int hf_ansi_map_originationtriggers_elevendig = -1;
299 static int hf_ansi_map_originationtriggers_twelvedig = -1;
300 static int hf_ansi_map_originationtriggers_thirteendig = -1;
301 static int hf_ansi_map_originationtriggers_fourteendig = -1;
302 static int hf_ansi_map_originationtriggers_fifteendig = -1;
303 static int hf_ansi_map_triggercapability_init = -1;
304 static int hf_ansi_map_triggercapability_kdigit = -1;
305 static int hf_ansi_map_triggercapability_all = -1;
306 static int hf_ansi_map_triggercapability_rvtc = -1;
307 static int hf_ansi_map_triggercapability_oaa = -1;
308 static int hf_ansi_map_triggercapability_oans = -1;
309 static int hf_ansi_map_triggercapability_odisc = -1;
310 static int hf_ansi_map_triggercapability_ona = -1;
311 static int hf_ansi_map_triggercapability_ct = -1;
312 static int hf_ansi_map_triggercapability_unrec =-1;
313 static int hf_ansi_map_triggercapability_pa = -1;
314 static int hf_ansi_map_triggercapability_at = -1;
315 static int hf_ansi_map_triggercapability_cgraa = -1;
316 static int hf_ansi_map_triggercapability_it = -1;
317 static int hf_ansi_map_triggercapability_cdraa = -1;
318 static int hf_ansi_map_triggercapability_obsy = -1;
319 static int hf_ansi_map_triggercapability_tra = -1;
320 static int hf_ansi_map_triggercapability_tbusy = -1;
321 static int hf_ansi_map_triggercapability_tna = -1;
322 static int hf_ansi_map_triggercapability_tans = -1;
323 static int hf_ansi_map_triggercapability_tdisc = -1;
324 static int hf_ansi_map_winoperationscapability_conn = -1;
325 static int hf_ansi_map_winoperationscapability_ccdir = -1;
326 static int hf_ansi_map_winoperationscapability_pos = -1;
327 static int hf_ansi_map_PACA_Level = -1;
328 static int hf_ansi_map_pacaindicator_pa = -1;
329
330
331 /*--- Included file: packet-ansi_map-hf.c ---*/
332 #line 1 "packet-ansi_map-hf.c"
333 static int hf_ansi_map_electronicSerialNumber = -1;  /* ElectronicSerialNumber */
334 static int hf_ansi_map_msid = -1;                 /* MSID */
335 static int hf_ansi_map_authenticationAlgorithmVersion = -1;  /* AuthenticationAlgorithmVersion */
336 static int hf_ansi_map_authenticationResponseReauthentication = -1;  /* AuthenticationResponseReauthentication */
337 static int hf_ansi_map_authenticationResponseUniqueChallenge = -1;  /* AuthenticationResponseUniqueChallenge */
338 static int hf_ansi_map_callHistoryCount = -1;     /* CallHistoryCount */
339 static int hf_ansi_map_cdmaPrivateLongCodeMask = -1;  /* CDMAPrivateLongCodeMask */
340 static int hf_ansi_map_carrierDigits = -1;        /* CarrierDigits */
341 static int hf_ansi_map_caveKey = -1;              /* CaveKey */
342 static int hf_ansi_map_denyAccess = -1;           /* DenyAccess */
343 static int hf_ansi_map_destinationDigits = -1;    /* DestinationDigits */
344 static int hf_ansi_map_locationAreaID = -1;       /* LocationAreaID */
345 static int hf_ansi_map_randomVariableReauthentication = -1;  /* RandomVariableReauthentication */
346 static int hf_ansi_map_meid = -1;                 /* MEID */
347 static int hf_ansi_map_mobileStationMIN = -1;     /* MobileStationMIN */
348 static int hf_ansi_map_mscid = -1;                /* MSCID */
349 static int hf_ansi_map_randomVariableSSD = -1;    /* RandomVariableSSD */
350 static int hf_ansi_map_randomVariableUniqueChallenge = -1;  /* RandomVariableUniqueChallenge */
351 static int hf_ansi_map_routingDigits = -1;        /* RoutingDigits */
352 static int hf_ansi_map_senderIdentificationNumber = -1;  /* SenderIdentificationNumber */
353 static int hf_ansi_map_sharedSecretData = -1;     /* SharedSecretData */
354 static int hf_ansi_map_signalingMessageEncryptionKey = -1;  /* SignalingMessageEncryptionKey */
355 static int hf_ansi_map_ssdnotShared = -1;         /* SSDNotShared */
356 static int hf_ansi_map_updateCount = -1;          /* UpdateCount */
357 static int hf_ansi_map_interMSCCircuitID = -1;    /* InterMSCCircuitID */
358 static int hf_ansi_map_mobileIdentificationNumber = -1;  /* MobileIdentificationNumber */
359 static int hf_ansi_map_countUpdateReport = -1;    /* CountUpdateReport */
360 static int hf_ansi_map_uniqueChallengeReport = -1;  /* UniqueChallengeReport */
361 static int hf_ansi_map_reportType = -1;           /* ReportType */
362 static int hf_ansi_map_systemAccessType = -1;     /* SystemAccessType */
363 static int hf_ansi_map_systemCapabilities = -1;   /* SystemCapabilities */
364 static int hf_ansi_map_callHistoryCountExpected = -1;  /* CallHistoryCountExpected */
365 static int hf_ansi_map_reportType2 = -1;          /* ReportType */
366 static int hf_ansi_map_terminalType = -1;         /* TerminalType */
367 static int hf_ansi_map_authenticationData = -1;   /* AuthenticationData */
368 static int hf_ansi_map_authenticationResponse = -1;  /* AuthenticationResponse */
369 static int hf_ansi_map_cdmaNetworkIdentification = -1;  /* CDMANetworkIdentification */
370 static int hf_ansi_map_confidentialityModes = -1;  /* ConfidentialityModes */
371 static int hf_ansi_map_controlChannelMode = -1;   /* ControlChannelMode */
372 static int hf_ansi_map_digits = -1;               /* Digits */
373 static int hf_ansi_map_pc_ssn = -1;               /* PC_SSN */
374 static int hf_ansi_map_randomVariable = -1;       /* RandomVariable */
375 static int hf_ansi_map_serviceRedirectionCause = -1;  /* ServiceRedirectionCause */
376 static int hf_ansi_map_suspiciousAccess = -1;     /* SuspiciousAccess */
377 static int hf_ansi_map_transactionCapability = -1;  /* TransactionCapability */
378 static int hf_ansi_map_analogRedirectRecord = -1;  /* AnalogRedirectRecord */
379 static int hf_ansi_map_cdmaRedirectRecord = -1;   /* CDMARedirectRecord */
380 static int hf_ansi_map_dataKey = -1;              /* DataKey */
381 static int hf_ansi_map_roamingIndication = -1;    /* RoamingIndication */
382 static int hf_ansi_map_serviceRedirectionInfo = -1;  /* ServiceRedirectionInfo */
383 static int hf_ansi_map_voicePrivacyMask = -1;     /* VoicePrivacyMask */
384 static int hf_ansi_map_reauthenticationReport = -1;  /* ReauthenticationReport */
385 static int hf_ansi_map_serviceIndicator = -1;     /* ServiceIndicator */
386 static int hf_ansi_map_signalingMessageEncryptionReport = -1;  /* SignalingMessageEncryptionReport */
387 static int hf_ansi_map_ssdUpdateReport = -1;      /* SSDUpdateReport */
388 static int hf_ansi_map_voicePrivacyReport = -1;   /* VoicePrivacyReport */
389 static int hf_ansi_map_randomVariableBaseStation = -1;  /* RandomVariableBaseStation */
390 static int hf_ansi_map_authenticationResponseBaseStation = -1;  /* AuthenticationResponseBaseStation */
391 static int hf_ansi_map_billingID = -1;            /* BillingID */
392 static int hf_ansi_map_channelData = -1;          /* ChannelData */
393 static int hf_ansi_map_interSwitchCount = -1;     /* InterSwitchCount */
394 static int hf_ansi_map_servingCellID = -1;        /* ServingCellID */
395 static int hf_ansi_map_stationClassMark = -1;     /* StationClassMark */
396 static int hf_ansi_map_targetCellID = -1;         /* TargetCellID */
397 static int hf_ansi_map_handoffReason = -1;        /* HandoffReason */
398 static int hf_ansi_map_handoffState = -1;         /* HandoffState */
399 static int hf_ansi_map_tdmaBurstIndicator = -1;   /* TDMABurstIndicator */
400 static int hf_ansi_map_tdmaCallMode = -1;         /* TDMACallMode */
401 static int hf_ansi_map_tdmaChannelData = -1;      /* TDMAChannelData */
402 static int hf_ansi_map_baseStationManufacturerCode = -1;  /* BaseStationManufacturerCode */
403 static int hf_ansi_map_alertCode = -1;            /* AlertCode */
404 static int hf_ansi_map_cdma2000HandoffInvokeIOSData = -1;  /* CDMA2000HandoffInvokeIOSData */
405 static int hf_ansi_map_cdmaBandClassList = -1;    /* CDMABandClassList */
406 static int hf_ansi_map_cdmaCallMode = -1;         /* CDMACallMode */
407 static int hf_ansi_map_cdmaChannelData = -1;      /* CDMAChannelData */
408 static int hf_ansi_map_cdmaConnectionReferenceList = -1;  /* CDMAConnectionReferenceList */
409 static int hf_ansi_map_cdmaMobileProtocolRevision = -1;  /* CDMAMobileProtocolRevision */
410 static int hf_ansi_map_cdmaMSMeasuredChannelIdentity = -1;  /* CDMAMSMeasuredChannelIdentity */
411 static int hf_ansi_map_cdmaServiceConfigurationRecord = -1;  /* CDMAServiceConfigurationRecord */
412 static int hf_ansi_map_cdmaServiceOptionList = -1;  /* CDMAServiceOptionList */
413 static int hf_ansi_map_cdmaServingOneWayDelay = -1;  /* CDMAServingOneWayDelay */
414 static int hf_ansi_map_cdmaStationClassMark = -1;  /* CDMAStationClassMark */
415 static int hf_ansi_map_cdmaStationClassMark2 = -1;  /* CDMAStationClassMark2 */
416 static int hf_ansi_map_cdmaTargetMAHOList = -1;   /* CDMATargetMAHOList */
417 static int hf_ansi_map_cdmaTargetMeasurementList = -1;  /* CDMATargetMeasurementList */
418 static int hf_ansi_map_dataPrivacyParameters = -1;  /* DataPrivacyParameters */
419 static int hf_ansi_map_ilspInformation = -1;      /* ISLPInformation */
420 static int hf_ansi_map_msLocation = -1;           /* MSLocation */
421 static int hf_ansi_map_nampsCallMode = -1;        /* NAMPSCallMode */
422 static int hf_ansi_map_nampsChannelData = -1;     /* NAMPSChannelData */
423 static int hf_ansi_map_nonPublicData = -1;        /* NonPublicData */
424 static int hf_ansi_map_pdsnAddress = -1;          /* PDSNAddress */
425 static int hf_ansi_map_pdsnProtocolType = -1;     /* PDSNProtocolType */
426 static int hf_ansi_map_qosPriority = -1;          /* QoSPriority */
427 static int hf_ansi_map_systemOperatorCode = -1;   /* SystemOperatorCode */
428 static int hf_ansi_map_tdmaBandwidth = -1;        /* TDMABandwidth */
429 static int hf_ansi_map_tdmaServiceCode = -1;      /* TDMAServiceCode */
430 static int hf_ansi_map_tdmaTerminalCapability = -1;  /* TDMATerminalCapability */
431 static int hf_ansi_map_tdmaVoiceCoder = -1;       /* TDMAVoiceCoder */
432 static int hf_ansi_map_userZoneData = -1;         /* UserZoneData */
433 static int hf_ansi_map_bsmcstatus = -1;           /* BSMCStatus */
434 static int hf_ansi_map_cdma2000HandoffResponseIOSData = -1;  /* CDMA2000HandoffResponseIOSData */
435 static int hf_ansi_map_cdmaCodeChannelList = -1;  /* CDMACodeChannelList */
436 static int hf_ansi_map_cdmaSearchParameters = -1;  /* CDMASearchParameters */
437 static int hf_ansi_map_cdmaSearchWindow = -1;     /* CDMASearchWindow */
438 static int hf_ansi_map_sOCStatus = -1;            /* SOCStatus */
439 static int hf_ansi_map_releaseReason = -1;        /* ReleaseReason */
440 static int hf_ansi_map_acgencountered = -1;       /* ACGEncountered */
441 static int hf_ansi_map_callingPartyName = -1;     /* CallingPartyName */
442 static int hf_ansi_map_callingPartyNumberDigits1 = -1;  /* CallingPartyNumberDigits1 */
443 static int hf_ansi_map_callingPartyNumberDigits2 = -1;  /* CallingPartyNumberDigits2 */
444 static int hf_ansi_map_callingPartySubaddress = -1;  /* CallingPartySubaddress */
445 static int hf_ansi_map_conferenceCallingIndicator = -1;  /* ConferenceCallingIndicator */
446 static int hf_ansi_map_mobileDirectoryNumber = -1;  /* MobileDirectoryNumber */
447 static int hf_ansi_map_mSCIdentificationNumber = -1;  /* MSCIdentificationNumber */
448 static int hf_ansi_map_oneTimeFeatureIndicator = -1;  /* OneTimeFeatureIndicator */
449 static int hf_ansi_map_systemMyTypeCode = -1;     /* SystemMyTypeCode */
450 static int hf_ansi_map_featureResult = -1;        /* FeatureResult */
451 static int hf_ansi_map_accessDeniedReason = -1;   /* AccessDeniedReason */
452 static int hf_ansi_map_actionCode = -1;           /* ActionCode */
453 static int hf_ansi_map_announcementList = -1;     /* AnnouncementList */
454 static int hf_ansi_map_callingPartyNumberString1 = -1;  /* CallingPartyNumberString1 */
455 static int hf_ansi_map_callingPartyNumberString2 = -1;  /* CallingPartyNumberString2 */
456 static int hf_ansi_map_digits_Destination = -1;   /* Digits */
457 static int hf_ansi_map_displayText = -1;          /* DisplayText */
458 static int hf_ansi_map_displayText2 = -1;         /* DisplayText2 */
459 static int hf_ansi_map_dmh_AccountCodeDigits = -1;  /* DMH_AccountCodeDigits */
460 static int hf_ansi_map_dmh_AlternateBillingDigits = -1;  /* DMH_AlternateBillingDigits */
461 static int hf_ansi_map_dmh_BillingDigits = -1;    /* DMH_BillingDigits */
462 static int hf_ansi_map_dmh_RedirectionIndicator = -1;  /* DMH_RedirectionIndicator */
463 static int hf_ansi_map_groupInformation = -1;     /* GroupInformation */
464 static int hf_ansi_map_noAnswerTime = -1;         /* NoAnswerTime */
465 static int hf_ansi_map_pACAIndicator = -1;        /* PACAIndicator */
466 static int hf_ansi_map_pilotNumber = -1;          /* PilotNumber */
467 static int hf_ansi_map_preferredLanguageIndicator = -1;  /* PreferredLanguageIndicator */
468 static int hf_ansi_map_redirectingNumberDigits = -1;  /* RedirectingNumberDigits */
469 static int hf_ansi_map_redirectingNumberString = -1;  /* RedirectingNumberString */
470 static int hf_ansi_map_redirectingSubaddress = -1;  /* RedirectingSubaddress */
471 static int hf_ansi_map_resumePIC = -1;            /* ResumePIC */
472 static int hf_ansi_map_terminationList = -1;      /* TerminationList */
473 static int hf_ansi_map_terminationTriggers = -1;  /* TerminationTriggers */
474 static int hf_ansi_map_triggerAddressList = -1;   /* TriggerAddressList */
475 static int hf_ansi_map_emergencyServicesRoutingDigits = -1;  /* EmergencyServicesRoutingDigits */
476 static int hf_ansi_map_targetCellIDList = -1;     /* TargetCellIDList */
477 static int hf_ansi_map_signalQuality = -1;        /* SignalQuality */
478 static int hf_ansi_map_targetMeasurementList = -1;  /* TargetMeasurementList */
479 static int hf_ansi_map_alertResult = -1;          /* AlertResult */
480 static int hf_ansi_map_messageWaitingNotificationCount = -1;  /* MessageWaitingNotificationCount */
481 static int hf_ansi_map_messageWaitingNotificationType = -1;  /* MessageWaitingNotificationType */
482 static int hf_ansi_map_cdmaBandClass = -1;        /* CDMABandClass */
483 static int hf_ansi_map_cdmaServiceOption = -1;    /* CDMAServiceOption */
484 static int hf_ansi_map_cdmaSlotCycleIndex = -1;   /* CDMASlotCycleIndex */
485 static int hf_ansi_map_extendedMSCID = -1;        /* ExtendedMSCID */
486 static int hf_ansi_map_extendedSystemMyTypeCode = -1;  /* ExtendedSystemMyTypeCode */
487 static int hf_ansi_map_imsi = -1;                 /* IMSI */
488 static int hf_ansi_map_legInformation = -1;       /* LegInformation */
489 static int hf_ansi_map_mSIDUsage = -1;            /* MSIDUsage */
490 static int hf_ansi_map_networkTMSI = -1;          /* NetworkTMSI */
491 static int hf_ansi_map_pageCount = -1;            /* PageCount */
492 static int hf_ansi_map_pageIndicator = -1;        /* PageIndicator */
493 static int hf_ansi_map_pageResponseTime = -1;     /* PageResponseTime */
494 static int hf_ansi_map_pilotBillingID = -1;       /* PilotBillingID */
495 static int hf_ansi_map_redirectingPartyName = -1;  /* RedirectingPartyName */
496 static int hf_ansi_map_tdmaDataFeaturesIndicator = -1;  /* TDMADataFeaturesIndicator */
497 static int hf_ansi_map_terminationTreatment = -1;  /* TerminationTreatment */
498 static int hf_ansi_map_conditionallyDeniedReason = -1;  /* ConditionallyDeniedReason */
499 static int hf_ansi_map_pagingFrameClass = -1;     /* PagingFrameClass */
500 static int hf_ansi_map_pSID_RSIDList = -1;        /* PSID_RSIDList */
501 static int hf_ansi_map_randc = -1;                /* RANDC */
502 static int hf_ansi_map_tdmaDataMode = -1;         /* TDMADataMode */
503 static int hf_ansi_map_changeServiceAttributes = -1;  /* ChangeServiceAttributes */
504 static int hf_ansi_map_edirectingSubaddress = -1;  /* RedirectingSubaddress */
505 static int hf_ansi_map_setupResult = -1;          /* SetupResult */
506 static int hf_ansi_map_terminationAccessType = -1;  /* TerminationAccessType */
507 static int hf_ansi_map_triggerType = -1;          /* TriggerType */
508 static int hf_ansi_map_winCapability = -1;        /* WINCapability */
509 static int hf_ansi_map_callingPartyCategory = -1;  /* CallingPartyCategory */
510 static int hf_ansi_map_controlNetworkID = -1;     /* ControlNetworkID */
511 static int hf_ansi_map_digits_carrier = -1;       /* Digits */
512 static int hf_ansi_map_digits_dest = -1;          /* Digits */
513 static int hf_ansi_map_dmh_ServiceID = -1;        /* DMH_ServiceID */
514 static int hf_ansi_map_lectronicSerialNumber = -1;  /* ElectronicSerialNumber */
515 static int hf_ansi_map_deregistrationType = -1;   /* DeregistrationType */
516 static int hf_ansi_map_servicesResult = -1;       /* ServicesResult */
517 static int hf_ansi_map_sms_MessageWaitingIndicator = -1;  /* SMS_MessageWaitingIndicator */
518 static int hf_ansi_map_originationTriggers = -1;  /* OriginationTriggers */
519 static int hf_ansi_map_featureIndicator = -1;     /* FeatureIndicator */
520 static int hf_ansi_map_dmh_ChargeInformation = -1;  /* DMH_ChargeInformation */
521 static int hf_ansi_map_qualificationInformationCode = -1;  /* QualificationInformationCode */
522 static int hf_ansi_map_authorizationDenied = -1;  /* AuthorizationDenied */
523 static int hf_ansi_map_authorizationPeriod = -1;  /* AuthorizationPeriod */
524 static int hf_ansi_map_deniedAuthorizationPeriod = -1;  /* DeniedAuthorizationPeriod */
525 static int hf_ansi_map_authenticationCapability = -1;  /* AuthenticationCapability */
526 static int hf_ansi_map_callingFeaturesIndicator = -1;  /* CallingFeaturesIndicator */
527 static int hf_ansi_map_geographicAuthorization = -1;  /* GeographicAuthorization */
528 static int hf_ansi_map_meidValidated = -1;        /* MEIDValidated */
529 static int hf_ansi_map_originationIndicator = -1;  /* OriginationIndicator */
530 static int hf_ansi_map_restrictionDigits = -1;    /* RestrictionDigits */
531 static int hf_ansi_map_sms_OriginationRestrictions = -1;  /* SMS_OriginationRestrictions */
532 static int hf_ansi_map_sms_TerminationRestrictions = -1;  /* SMS_TerminationRestrictions */
533 static int hf_ansi_map_spinipin = -1;             /* SPINIPIN */
534 static int hf_ansi_map_spiniTriggers = -1;        /* SPINITriggers */
535 static int hf_ansi_map_terminationRestrictionCode = -1;  /* TerminationRestrictionCode */
536 static int hf_ansi_map_userGroup = -1;            /* UserGroup */
537 static int hf_ansi_map_lirMode = -1;              /* LIRMode */
538 static int hf_ansi_map_randValidTime = -1;        /* RANDValidTime */
539 static int hf_ansi_map_redirectionReason = -1;    /* RedirectionReason */
540 static int hf_ansi_map_cancellationType = -1;     /* CancellationType */
541 static int hf_ansi_map_controlChannelData = -1;   /* ControlChannelData */
542 static int hf_ansi_map_receivedSignalQuality = -1;  /* ReceivedSignalQuality */
543 static int hf_ansi_map_systemAccessData = -1;     /* SystemAccessData */
544 static int hf_ansi_map_cancellationDenied = -1;   /* CancellationDenied */
545 static int hf_ansi_map_availabilityType = -1;     /* AvailabilityType */
546 static int hf_ansi_map_borderCellAccess = -1;     /* BorderCellAccess */
547 static int hf_ansi_map_msc_Address = -1;          /* MSC_Address */
548 static int hf_ansi_map_sms_Address = -1;          /* SMS_Address */
549 static int hf_ansi_map_mpcAddress = -1;           /* MPCAddress */
550 static int hf_ansi_map_mpcAddressList = -1;       /* MPCAddressList */
551 static int hf_ansi_map_digits_Carrier = -1;       /* Digits */
552 static int hf_ansi_map_digitCollectionControl = -1;  /* DigitCollectionControl */
553 static int hf_ansi_map_trunkStatus = -1;          /* TrunkStatus */
554 static int hf_ansi_map_voiceMailboxNumber = -1;   /* VoiceMailboxNumber */
555 static int hf_ansi_map_voiceMailboxPIN = -1;      /* VoiceMailboxPIN */
556 static int hf_ansi_map_sms_BearerData = -1;       /* SMS_BearerData */
557 static int hf_ansi_map_sms_TeleserviceIdentifier = -1;  /* SMS_TeleserviceIdentifier */
558 static int hf_ansi_map_sms_ChargeIndicator = -1;  /* SMS_ChargeIndicator */
559 static int hf_ansi_map_sms_DestinationAddress = -1;  /* SMS_DestinationAddress */
560 static int hf_ansi_map_sms_OriginalDestinationAddress = -1;  /* SMS_OriginalDestinationAddress */
561 static int hf_ansi_map_sms_OriginalDestinationSubaddress = -1;  /* SMS_OriginalDestinationSubaddress */
562 static int hf_ansi_map_sms_OriginalOriginatingAddress = -1;  /* SMS_OriginalOriginatingAddress */
563 static int hf_ansi_map_sms_OriginalOriginatingSubaddress = -1;  /* SMS_OriginalOriginatingSubaddress */
564 static int hf_ansi_map_sms_OriginatingAddress = -1;  /* SMS_OriginatingAddress */
565 static int hf_ansi_map_sms_CauseCode = -1;        /* SMS_CauseCode */
566 static int hf_ansi_map_cdmaServingOneWayDelay2 = -1;  /* CDMAServingOneWayDelay2 */
567 static int hf_ansi_map_interMessageTime = -1;     /* InterMessageTime */
568 static int hf_ansi_map_newlyAssignedIMSI = -1;    /* NewlyAssignedIMSI */
569 static int hf_ansi_map_newlyAssignedMIN = -1;     /* NewlyAssignedMIN */
570 static int hf_ansi_map_newMINExtension = -1;      /* NewMINExtension */
571 static int hf_ansi_map_sms_MessageCount = -1;     /* SMS_MessageCount */
572 static int hf_ansi_map_sms_NotificationIndicator = -1;  /* SMS_NotificationIndicator */
573 static int hf_ansi_map_teleservice_Priority = -1;  /* Teleservice_Priority */
574 static int hf_ansi_map_temporaryReferenceNumber = -1;  /* TemporaryReferenceNumber */
575 static int hf_ansi_map_mobileStationMSID = -1;    /* MobileStationMSID */
576 static int hf_ansi_map_sms_TransactionID = -1;    /* SMS_TransactionID */
577 static int hf_ansi_map_sms_AccessDeniedReason = -1;  /* SMS_AccessDeniedReason */
578 static int hf_ansi_map_seizureType = -1;          /* SeizureType */
579 static int hf_ansi_map_requiredParametersMask = -1;  /* RequiredParametersMask */
580 static int hf_ansi_map_reasonList = -1;           /* ReasonList */
581 static int hf_ansi_map_networkTMSIExpirationTime = -1;  /* NetworkTMSIExpirationTime */
582 static int hf_ansi_map_newNetworkTMSI = -1;       /* NewNetworkTMSI */
583 static int hf_ansi_map_serviceID = -1;            /* ServiceID */
584 static int hf_ansi_map_dataAccessElementList = -1;  /* DataAccessElementList */
585 static int hf_ansi_map_timeDateOffset = -1;       /* TimeDateOffset */
586 static int hf_ansi_map_timeOfDay = -1;            /* TimeOfDay */
587 static int hf_ansi_map_dmd_BillingIndicator = -1;  /* DMH_BillingIndicator */
588 static int hf_ansi_map_failureType = -1;          /* FailureType */
589 static int hf_ansi_map_failureCause = -1;         /* FailureCause */
590 static int hf_ansi_map_outingDigits = -1;         /* RoutingDigits */
591 static int hf_ansi_map_databaseKey = -1;          /* DatabaseKey */
592 static int hf_ansi_map_modificationRequestList = -1;  /* ModificationRequestList */
593 static int hf_ansi_map_modificationResultList = -1;  /* ModificationResultList */
594 static int hf_ansi_map_serviceDataAccessElementList = -1;  /* ServiceDataAccessElementList */
595 static int hf_ansi_map_privateSpecializedResource = -1;  /* PrivateSpecializedResource */
596 static int hf_ansi_map_specializedResource = -1;  /* SpecializedResource */
597 static int hf_ansi_map_executeScript = -1;        /* ExecuteScript */
598 static int hf_ansi_map_scriptResult = -1;         /* ScriptResult */
599 static int hf_ansi_map_tdmaVoiceMode = -1;        /* TDMAVoiceMode */
600 static int hf_ansi_map_callStatus = -1;           /* CallStatus */
601 static int hf_ansi_map_releaseCause = -1;         /* ReleaseCause */
602 static int hf_ansi_map_callRecoveryIDList = -1;   /* CallRecoveryIDList */
603 static int hf_ansi_map_positionInformationCode = -1;  /* PositionInformationCode */
604 static int hf_ansi_map_mSStatus = -1;             /* MSStatus */
605 static int hf_ansi_map_pSID_RSIDInformation = -1;  /* PSID_RSIDInformation */
606 static int hf_ansi_map_positionRequestType = -1;  /* PositionRequestType */
607 static int hf_ansi_map_lcsBillingID = -1;         /* LCSBillingID */
608 static int hf_ansi_map_lcs_Client_ID = -1;        /* LCS_Client_ID */
609 static int hf_ansi_map_mobilePositionCapability = -1;  /* MobilePositionCapability */
610 static int hf_ansi_map_dtxIndication = -1;        /* DTXIndication */
611 static int hf_ansi_map_cdmaCodeChannel = -1;      /* CDMACodeChannel */
612 static int hf_ansi_map_cdmaMobileCapabilities = -1;  /* CDMAMobileCapabilities */
613 static int hf_ansi_map_cdmaPSMMList = -1;         /* CDMAPSMMList */
614 static int hf_ansi_map_tdma_MAHO_CELLID = -1;     /* TDMA_MAHO_CELLID */
615 static int hf_ansi_map_tdma_MAHO_CHANNEL = -1;    /* TDMA_MAHO_CHANNEL */
616 static int hf_ansi_map_tdma_TimeAlignment = -1;   /* TDMA_TimeAlignment */
617 static int hf_ansi_map_pqos_HorizontalPosition = -1;  /* PQOS_HorizontalPosition */
618 static int hf_ansi_map_pqos_HorizontalVelocity = -1;  /* PQOS_HorizontalVelocity */
619 static int hf_ansi_map_pqos_MaximumPositionAge = -1;  /* PQOS_MaximumPositionAge */
620 static int hf_ansi_map_pqos_PositionPriority = -1;  /* PQOS_PositionPriority */
621 static int hf_ansi_map_pqos_ResponseTime = -1;    /* PQOS_ResponseTime */
622 static int hf_ansi_map_pqos_VerticalPosition = -1;  /* PQOS_VerticalPosition */
623 static int hf_ansi_map_pqos_VerticalVelocity = -1;  /* PQOS_VerticalVelocity */
624 static int hf_ansi_map_cdmaPSMMCount = -1;        /* CDMAPSMMCount */
625 static int hf_ansi_map_lirAuthorization = -1;     /* LIRAuthorization */
626 static int hf_ansi_map_mpcid = -1;                /* MPCID */
627 static int hf_ansi_map_tdma_MAHORequest = -1;     /* TDMA_MAHORequest */
628 static int hf_ansi_map_positionResult = -1;       /* PositionResult */
629 static int hf_ansi_map_positionInformation = -1;  /* PositionInformation */
630 static int hf_ansi_map_controlType = -1;          /* ControlType */
631 static int hf_ansi_map_destinationAddress = -1;   /* DestinationAddress */
632 static int hf_ansi_map_gapDuration = -1;          /* GapDuration */
633 static int hf_ansi_map_gapInterval = -1;          /* GapInterval */
634 static int hf_ansi_map_invokingNEType = -1;       /* InvokingNEType */
635 static int hf_ansi_map_range = -1;                /* Range */
636 static int hf_ansi_map_meidStatus = -1;           /* MEIDStatus */
637 static int hf_ansi_map_aKeyProtocolVersion = -1;  /* AKeyProtocolVersion */
638 static int hf_ansi_map_mobileStationPartialKey = -1;  /* MobileStationPartialKey */
639 static int hf_ansi_map_newlyAssignedMSID = -1;    /* NewlyAssignedMSID */
640 static int hf_ansi_map_baseStationPartialKey = -1;  /* BaseStationPartialKey */
641 static int hf_ansi_map_modulusValue = -1;         /* ModulusValue */
642 static int hf_ansi_map_otasp_ResultCode = -1;     /* OTASP_ResultCode */
643 static int hf_ansi_map_primitiveValue = -1;       /* PrimitiveValue */
644 static int hf_ansi_map_record_Type = -1;          /* Record_Type */
645 static int hf_ansi_map_information_Record = -1;   /* Information_Record */
646 static int hf_ansi_map_cdma2000MobileSupportedCapabilities = -1;  /* CDMA2000MobileSupportedCapabilities */
647 static int hf_ansi_map_announcementCode1 = -1;    /* AnnouncementCode */
648 static int hf_ansi_map_announcementCode2 = -1;    /* AnnouncementCode */
649 static int hf_ansi_map_cdmaPilotPN = -1;          /* CDMAPilotPN */
650 static int hf_ansi_map_cdmaPowerCombinedIndicator = -1;  /* CDMAPowerCombinedIndicator */
651 static int hf_ansi_map_CDMACodeChannelList_item = -1;  /* CDMACodeChannelInformation */
652 static int hf_ansi_map_cdmaPilotStrength = -1;    /* CDMAPilotStrength */
653 static int hf_ansi_map_cdmaTargetOneWayDelay = -1;  /* CDMATargetOneWayDelay */
654 static int hf_ansi_map_CDMATargetMAHOList_item = -1;  /* CDMATargetMAHOInformation */
655 static int hf_ansi_map_cdmaSignalQuality = -1;    /* CDMASignalQuality */
656 static int hf_ansi_map_CDMATargetMeasurementList_item = -1;  /* CDMATargetMeasurementInformation */
657 static int hf_ansi_map_TargetMeasurementList_item = -1;  /* TargetMeasurementInformation */
658 static int hf_ansi_map_TerminationList_item = -1;  /* TerminationList_item */
659 static int hf_ansi_map_intersystemTermination = -1;  /* IntersystemTermination */
660 static int hf_ansi_map_localTermination = -1;     /* LocalTermination */
661 static int hf_ansi_map_pstnTermination = -1;      /* PSTNTermination */
662 static int hf_ansi_map_CDMABandClassList_item = -1;  /* CDMABandClassInformation */
663 static int hf_ansi_map_CDMAServiceOptionList_item = -1;  /* CDMAServiceOption */
664 static int hf_ansi_map_pSID_RSIDInformation1 = -1;  /* PSID_RSIDInformation */
665 static int hf_ansi_map_targetCellID1 = -1;        /* TargetCellID */
666 static int hf_ansi_map_cdmaConnectionReference = -1;  /* CDMAConnectionReference */
667 static int hf_ansi_map_cdmaState = -1;            /* CDMAState */
668 static int hf_ansi_map_cdmaServiceOptionConnectionIdentifier = -1;  /* CDMAServiceOptionConnectionIdentifier */
669 static int hf_ansi_map_CDMAConnectionReferenceList_item = -1;  /* CDMAConnectionReferenceList_item */
670 static int hf_ansi_map_cdmaConnectionReferenceInformation = -1;  /* CDMAConnectionReferenceInformation */
671 static int hf_ansi_map_cdmaConnectionReferenceInformation2 = -1;  /* CDMAConnectionReferenceInformation */
672 static int hf_ansi_map_analogRedirectInfo = -1;   /* AnalogRedirectInfo */
673 static int hf_ansi_map_CDMAChannelNumberList_item = -1;  /* CDMAChannelNumberList_item */
674 static int hf_ansi_map_cdmaChannelNumber = -1;    /* CDMAChannelNumber */
675 static int hf_ansi_map_cdmaChannelNumber2 = -1;   /* CDMAChannelNumber */
676 static int hf_ansi_map_cdmaChannelNumberList = -1;  /* CDMAChannelNumberList */
677 static int hf_ansi_map_dataID = -1;               /* DataID */
678 static int hf_ansi_map_change = -1;               /* Change */
679 static int hf_ansi_map_dataValue = -1;            /* DataValue */
680 static int hf_ansi_map_DataAccessElementList_item = -1;  /* DataAccessElementList_item */
681 static int hf_ansi_map_dataAccessElement1 = -1;   /* DataAccessElement */
682 static int hf_ansi_map_dataAccessElement2 = -1;   /* DataAccessElement */
683 static int hf_ansi_map_dataResult = -1;           /* DataResult */
684 static int hf_ansi_map_DataUpdateResultList_item = -1;  /* DataUpdateResult */
685 static int hf_ansi_map_globalTitle = -1;          /* GlobalTitle */
686 static int hf_ansi_map_pC_SSN = -1;               /* PC_SSN */
687 static int hf_ansi_map_scriptName = -1;           /* ScriptName */
688 static int hf_ansi_map_scriptArgument = -1;       /* ScriptArgument */
689 static int hf_ansi_map_allOrNone = -1;            /* AllOrNone */
690 static int hf_ansi_map_ModificationRequestList_item = -1;  /* ModificationRequest */
691 static int hf_ansi_map_serviceDataResultList = -1;  /* ServiceDataResultList */
692 static int hf_ansi_map_ModificationResultList_item = -1;  /* ModificationResult */
693 static int hf_ansi_map_ServiceDataAccessElementList_item = -1;  /* ServiceDataAccessElement */
694 static int hf_ansi_map_dataUpdateResultList = -1;  /* DataUpdateResultList */
695 static int hf_ansi_map_ServiceDataResultList_item = -1;  /* ServiceDataResult */
696 static int hf_ansi_map_triggerList = -1;          /* TriggerList */
697 static int hf_ansi_map_triggerListOpt = -1;       /* TriggerList */
698 static int hf_ansi_map_wIN_TriggerList = -1;      /* WIN_TriggerList */
699 static int hf_ansi_map_triggerCapability = -1;    /* TriggerCapability */
700 static int hf_ansi_map_wINOperationsCapability = -1;  /* WINOperationsCapability */
701 static int hf_ansi_map_CallRecoveryIDList_item = -1;  /* CallRecoveryID */
702 static int hf_ansi_map_generalizedTime = -1;      /* GeneralizedTime */
703 static int hf_ansi_map_geographicPosition = -1;   /* GeographicPosition */
704 static int hf_ansi_map_positionSource = -1;       /* PositionSource */
705 static int hf_ansi_map_horizontal_Velocity = -1;  /* Horizontal_Velocity */
706 static int hf_ansi_map_vertical_Velocity = -1;    /* Vertical_Velocity */
707 static int hf_ansi_map_sCFOverloadGapInterval = -1;  /* SCFOverloadGapInterval */
708 static int hf_ansi_map_serviceManagementSystemGapInterval = -1;  /* ServiceManagementSystemGapInterval */
709 static int hf_ansi_map_CDMAPSMMList_item = -1;    /* CDMAPSMMList_item */
710 static int hf_ansi_map_cdmaTargetMAHOList2 = -1;  /* CDMATargetMAHOList */
711 static int hf_ansi_map_mpcAddress2 = -1;          /* MPCAddress */
712 static int hf_ansi_map_mobileStationIMSI = -1;    /* MobileStationIMSI */
713 static int hf_ansi_map_handoffMeasurementRequest = -1;  /* HandoffMeasurementRequest */
714 static int hf_ansi_map_facilitiesDirective = -1;  /* FacilitiesDirective */
715 static int hf_ansi_map_handoffBack = -1;          /* HandoffBack */
716 static int hf_ansi_map_facilitiesRelease = -1;    /* FacilitiesRelease */
717 static int hf_ansi_map_qualificationRequest = -1;  /* QualificationRequest */
718 static int hf_ansi_map_qualificationDirective = -1;  /* QualificationDirective */
719 static int hf_ansi_map_blocking = -1;             /* Blocking */
720 static int hf_ansi_map_unblocking = -1;           /* Unblocking */
721 static int hf_ansi_map_resetCircuit = -1;         /* ResetCircuit */
722 static int hf_ansi_map_trunkTest = -1;            /* TrunkTest */
723 static int hf_ansi_map_trunkTestDisconnect = -1;  /* TrunkTestDisconnect */
724 static int hf_ansi_map_registrationNotification = -1;  /* RegistrationNotification */
725 static int hf_ansi_map_registrationCancellation = -1;  /* RegistrationCancellation */
726 static int hf_ansi_map_locationRequest = -1;      /* LocationRequest */
727 static int hf_ansi_map_routingRequest = -1;       /* RoutingRequest */
728 static int hf_ansi_map_featureRequest = -1;       /* FeatureRequest */
729 static int hf_ansi_map_unreliableRoamerDataDirective = -1;  /* UnreliableRoamerDataDirective */
730 static int hf_ansi_map_mSInactive = -1;           /* MSInactive */
731 static int hf_ansi_map_transferToNumberRequest = -1;  /* TransferToNumberRequest */
732 static int hf_ansi_map_redirectionRequest = -1;   /* RedirectionRequest */
733 static int hf_ansi_map_handoffToThird = -1;       /* HandoffToThird */
734 static int hf_ansi_map_flashRequest = -1;         /* FlashRequest */
735 static int hf_ansi_map_authenticationDirective = -1;  /* AuthenticationDirective */
736 static int hf_ansi_map_authenticationRequest = -1;  /* AuthenticationRequest */
737 static int hf_ansi_map_baseStationChallenge = -1;  /* BaseStationChallenge */
738 static int hf_ansi_map_authenticationFailureReport = -1;  /* AuthenticationFailureReport */
739 static int hf_ansi_map_countRequest = -1;         /* CountRequest */
740 static int hf_ansi_map_interSystemPage = -1;      /* InterSystemPage */
741 static int hf_ansi_map_unsolicitedResponse = -1;  /* UnsolicitedResponse */
742 static int hf_ansi_map_bulkDeregistration = -1;   /* BulkDeregistration */
743 static int hf_ansi_map_handoffMeasurementRequest2 = -1;  /* HandoffMeasurementRequest2 */
744 static int hf_ansi_map_facilitiesDirective2 = -1;  /* FacilitiesDirective2 */
745 static int hf_ansi_map_handoffBack2 = -1;         /* HandoffBack2 */
746 static int hf_ansi_map_handoffToThird2 = -1;      /* HandoffToThird2 */
747 static int hf_ansi_map_authenticationDirectiveForward = -1;  /* AuthenticationDirectiveForward */
748 static int hf_ansi_map_authenticationStatusReport = -1;  /* AuthenticationStatusReport */
749 static int hf_ansi_map_informationDirective = -1;  /* InformationDirective */
750 static int hf_ansi_map_informationForward = -1;   /* InformationForward */
751 static int hf_ansi_map_interSystemAnswer = -1;    /* InterSystemAnswer */
752 static int hf_ansi_map_interSystemPage2 = -1;     /* InterSystemPage2 */
753 static int hf_ansi_map_interSystemSetup = -1;     /* InterSystemSetup */
754 static int hf_ansi_map_originationRequest = -1;   /* OriginationRequest */
755 static int hf_ansi_map_randomVariableRequest = -1;  /* RandomVariableRequest */
756 static int hf_ansi_map_redirectionDirective = -1;  /* RedirectionDirective */
757 static int hf_ansi_map_remoteUserInteractionDirective = -1;  /* RemoteUserInteractionDirective */
758 static int hf_ansi_map_sMSDeliveryBackward = -1;  /* SMSDeliveryBackward */
759 static int hf_ansi_map_sMSDeliveryForward = -1;   /* SMSDeliveryForward */
760 static int hf_ansi_map_sMSDeliveryPointToPoint = -1;  /* SMSDeliveryPointToPoint */
761 static int hf_ansi_map_sMSNotification = -1;      /* SMSNotification */
762 static int hf_ansi_map_sMSRequest = -1;           /* SMSRequest */
763 static int hf_ansi_map_oTASPRequest = -1;         /* OTASPRequest */
764 static int hf_ansi_map_changeFacilities = -1;     /* ChangeFacilities */
765 static int hf_ansi_map_changeService = -1;        /* ChangeService */
766 static int hf_ansi_map_parameterRequest = -1;     /* ParameterRequest */
767 static int hf_ansi_map_tMSIDirective = -1;        /* TMSIDirective */
768 static int hf_ansi_map_numberPortabilityRequest = -1;  /* NumberPortabilityRequest */
769 static int hf_ansi_map_serviceRequest = -1;       /* ServiceRequest */
770 static int hf_ansi_map_analyzedInformation = -1;  /* AnalyzedInformation */
771 static int hf_ansi_map_connectionFailureReport = -1;  /* ConnectionFailureReport */
772 static int hf_ansi_map_connectResource = -1;      /* ConnectResource */
773 static int hf_ansi_map_facilitySelectedAndAvailable = -1;  /* FacilitySelectedAndAvailable */
774 static int hf_ansi_map_modify = -1;               /* Modify */
775 static int hf_ansi_map_search = -1;               /* Search */
776 static int hf_ansi_map_seizeResource = -1;        /* SeizeResource */
777 static int hf_ansi_map_sRFDirective = -1;         /* SRFDirective */
778 static int hf_ansi_map_tBusy = -1;                /* TBusy */
779 static int hf_ansi_map_tNoAnswer = -1;            /* TNoAnswer */
780 static int hf_ansi_map_smsDeliveryPointToPointAck = -1;  /* SMSDeliveryPointToPointAck */
781 static int hf_ansi_map_messageDirective = -1;     /* MessageDirective */
782 static int hf_ansi_map_bulkDisconnection = -1;    /* BulkDisconnection */
783 static int hf_ansi_map_callControlDirective = -1;  /* CallControlDirective */
784 static int hf_ansi_map_oAnswer = -1;              /* OAnswer */
785 static int hf_ansi_map_oDisconnect = -1;          /* ODisconnect */
786 static int hf_ansi_map_callRecoveryReport = -1;   /* CallRecoveryReport */
787 static int hf_ansi_map_tAnswer = -1;              /* TAnswer */
788 static int hf_ansi_map_tDisconnect = -1;          /* TDisconnect */
789 static int hf_ansi_map_unreliableCallData = -1;   /* UnreliableCallData */
790 static int hf_ansi_map_oCalledPartyBusy = -1;     /* OCalledPartyBusy */
791 static int hf_ansi_map_oNoAnswer = -1;            /* ONoAnswer */
792 static int hf_ansi_map_positionRequest = -1;      /* PositionRequest */
793 static int hf_ansi_map_positionRequestForward = -1;  /* PositionRequestForward */
794 static int hf_ansi_map_callTerminationReport = -1;  /* CallTerminationReport */
795 static int hf_ansi_map_geoPositionRequest = -1;   /* GeoPositionRequest */
796 static int hf_ansi_map_interSystemPositionRequest = -1;  /* InterSystemPositionRequest */
797 static int hf_ansi_map_interSystemPositionRequestForward = -1;  /* InterSystemPositionRequestForward */
798 static int hf_ansi_map_aCGDirective = -1;         /* ACGDirective */
799 static int hf_ansi_map_roamerDatabaseVerificationRequest = -1;  /* RoamerDatabaseVerificationRequest */
800 static int hf_ansi_map_addService = -1;           /* AddService */
801 static int hf_ansi_map_dropService = -1;          /* DropService */
802 static int hf_ansi_map_lcsParameterRequest = -1;  /* LCSParameterRequest */
803 static int hf_ansi_map_checkMEID = -1;            /* CheckMEID */
804 static int hf_ansi_map_positionEventNotification = -1;  /* PositionEventNotification */
805 static int hf_ansi_map_statusRequest = -1;        /* StatusRequest */
806 static int hf_ansi_map_interSystemSMSDeliveryPointToPoint = -1;  /* InterSystemSMSDeliveryPointToPoint */
807 static int hf_ansi_map_qualificationRequest2 = -1;  /* QualificationRequest2 */
808 static int hf_ansi_map_handoffMeasurementRequestRes = -1;  /* HandoffMeasurementRequestRes */
809 static int hf_ansi_map_facilitiesDirectiveRes = -1;  /* FacilitiesDirectiveRes */
810 static int hf_ansi_map_handoffBackRes = -1;       /* HandoffBackRes */
811 static int hf_ansi_map_facilitiesReleaseRes = -1;  /* FacilitiesReleaseRes */
812 static int hf_ansi_map_qualificationDirectiveRes = -1;  /* QualificationDirectiveRes */
813 static int hf_ansi_map_qualificationRequestRes = -1;  /* QualificationRequestRes */
814 static int hf_ansi_map_resetCircuitRes = -1;      /* ResetCircuitRes */
815 static int hf_ansi_map_registrationNotificationRes = -1;  /* RegistrationNotificationRes */
816 static int hf_ansi_map_registrationCancellationRes = -1;  /* RegistrationCancellationRes */
817 static int hf_ansi_map_locationRequestRes = -1;   /* LocationRequestRes */
818 static int hf_ansi_map_routingRequestRes = -1;    /* RoutingRequestRes */
819 static int hf_ansi_map_featureRequestRes = -1;    /* FeatureRequestRes */
820 static int hf_ansi_map_transferToNumberRequestRes = -1;  /* TransferToNumberRequestRes */
821 static int hf_ansi_map_handoffToThirdRes = -1;    /* HandoffToThirdRes */
822 static int hf_ansi_map_authenticationDirectiveRes = -1;  /* AuthenticationDirectiveRes */
823 static int hf_ansi_map_authenticationRequestRes = -1;  /* AuthenticationRequestRes */
824 static int hf_ansi_map_baseStationChallengeRes = -1;  /* BaseStationChallengeRes */
825 static int hf_ansi_map_authenticationFailureReportRes = -1;  /* AuthenticationFailureReportRes */
826 static int hf_ansi_map_countRequestRes = -1;      /* CountRequestRes */
827 static int hf_ansi_map_interSystemPageRes = -1;   /* InterSystemPageRes */
828 static int hf_ansi_map_unsolicitedResponseRes = -1;  /* UnsolicitedResponseRes */
829 static int hf_ansi_map_handoffMeasurementRequest2Res = -1;  /* HandoffMeasurementRequest2Res */
830 static int hf_ansi_map_facilitiesDirective2Res = -1;  /* FacilitiesDirective2Res */
831 static int hf_ansi_map_handoffBack2Res = -1;      /* HandoffBack2Res */
832 static int hf_ansi_map_handoffToThird2Res = -1;   /* HandoffToThird2Res */
833 static int hf_ansi_map_authenticationDirectiveForwardRes = -1;  /* AuthenticationDirectiveForwardRes */
834 static int hf_ansi_map_authenticationStatusReportRes = -1;  /* AuthenticationStatusReportRes */
835 static int hf_ansi_map_informationDirectiveRes = -1;  /* InformationDirectiveRes */
836 static int hf_ansi_map_informationForwardRes = -1;  /* InformationForwardRes */
837 static int hf_ansi_map_interSystemPage2Res = -1;  /* InterSystemPage2Res */
838 static int hf_ansi_map_interSystemSetupRes = -1;  /* InterSystemSetupRes */
839 static int hf_ansi_map_originationRequestRes = -1;  /* OriginationRequestRes */
840 static int hf_ansi_map_randomVariableRequestRes = -1;  /* RandomVariableRequestRes */
841 static int hf_ansi_map_remoteUserInteractionDirectiveRes = -1;  /* RemoteUserInteractionDirectiveRes */
842 static int hf_ansi_map_sMSDeliveryBackwardRes = -1;  /* SMSDeliveryBackwardRes */
843 static int hf_ansi_map_sMSDeliveryForwardRes = -1;  /* SMSDeliveryForwardRes */
844 static int hf_ansi_map_sMSDeliveryPointToPointRes = -1;  /* SMSDeliveryPointToPointRes */
845 static int hf_ansi_map_sMSNotificationRes = -1;   /* SMSNotificationRes */
846 static int hf_ansi_map_sMSRequestRes = -1;        /* SMSRequestRes */
847 static int hf_ansi_map_oTASPRequestRes = -1;      /* OTASPRequestRes */
848 static int hf_ansi_map_changeFacilitiesRes = -1;  /* ChangeFacilitiesRes */
849 static int hf_ansi_map_changeServiceRes = -1;     /* ChangeServiceRes */
850 static int hf_ansi_map_parameterRequestRes = -1;  /* ParameterRequestRes */
851 static int hf_ansi_map_tMSIDirectiveRes = -1;     /* TMSIDirectiveRes */
852 static int hf_ansi_map_serviceRequestRes = -1;    /* ServiceRequestRes */
853 static int hf_ansi_map_analyzedInformationRes = -1;  /* AnalyzedInformationRes */
854 static int hf_ansi_map_facilitySelectedAndAvailableRes = -1;  /* FacilitySelectedAndAvailableRes */
855 static int hf_ansi_map_modifyRes = -1;            /* ModifyRes */
856 static int hf_ansi_map_searchRes = -1;            /* SearchRes */
857 static int hf_ansi_map_seizeResourceRes = -1;     /* SeizeResourceRes */
858 static int hf_ansi_map_sRFDirectiveRes = -1;      /* SRFDirectiveRes */
859 static int hf_ansi_map_tBusyRes = -1;             /* TBusyRes */
860 static int hf_ansi_map_tNoAnswerRes = -1;         /* TNoAnswerRes */
861 static int hf_ansi_map_callControlDirectiveRes = -1;  /* CallControlDirectiveRes */
862 static int hf_ansi_map_oDisconnectRes = -1;       /* ODisconnectRes */
863 static int hf_ansi_map_tDisconnectRes = -1;       /* TDisconnectRes */
864 static int hf_ansi_map_oCalledPartyBusyRes = -1;  /* OCalledPartyBusyRes */
865 static int hf_ansi_map_oNoAnswerRes = -1;         /* ONoAnswerRes */
866 static int hf_ansi_map_positionRequestRes = -1;   /* PositionRequestRes */
867 static int hf_ansi_map_positionRequestForwardRes = -1;  /* PositionRequestForwardRes */
868 static int hf_ansi_map_interSystemPositionRequestRes = -1;  /* InterSystemPositionRequestRes */
869 static int hf_ansi_map_interSystemPositionRequestForwardRes = -1;  /* InterSystemPositionRequestForwardRes */
870 static int hf_ansi_map_roamerDatabaseVerificationRequestRes = -1;  /* RoamerDatabaseVerificationRequestRes */
871 static int hf_ansi_map_addServiceRes = -1;        /* AddServiceRes */
872 static int hf_ansi_map_dropServiceRes = -1;       /* DropServiceRes */
873 static int hf_ansi_map_interSystemSMSPage = -1;   /* InterSystemSMSPage */
874 static int hf_ansi_map_lcsParameterRequestRes = -1;  /* LCSParameterRequestRes */
875 static int hf_ansi_map_checkMEIDRes = -1;         /* CheckMEIDRes */
876 static int hf_ansi_map_statusRequestRes = -1;     /* StatusRequestRes */
877 static int hf_ansi_map_interSystemSMSDeliveryPointToPointRes = -1;  /* InterSystemSMSDeliveryPointToPointRes */
878 static int hf_ansi_map_qualificationRequest2Res = -1;  /* QualificationRequest2Res */
879
880 /*--- End of included file: packet-ansi_map-hf.c ---*/
881 #line 323 "packet-ansi_map-template.c"
882
883 /* Initialize the subtree pointers */
884 static gint ett_ansi_map = -1;
885 static gint ett_mintype = -1;
886 static gint ett_digitstype = -1;
887 static gint ett_billingid = -1;
888 static gint ett_sms_bearer_data = -1;
889 static gint ett_sms_teleserviceIdentifier = -1;
890 static gint ett_extendedmscid = -1;
891 static gint ett_extendedsystemmytypecode = -1;
892 static gint ett_handoffstate = -1;
893 static gint ett_mscid = -1;
894 static gint ett_cdmachanneldata = -1;
895 static gint ett_cdmastationclassmark = -1;
896 static gint ett_channeldata = -1;
897 static gint ett_confidentialitymodes = -1;
898 static gint ett_controlchanneldata = -1;
899 static gint ett_CDMA2000HandoffInvokeIOSData = -1;
900 static gint ett_CDMA2000HandoffResponseIOSData = -1;
901 static gint ett_originationtriggers = -1;
902 static gint ett_pacaindicator = -1;
903 static gint ett_callingpartyname = -1;
904 static gint ett_triggercapability = -1;
905 static gint ett_winoperationscapability = -1;
906 static gint ett_win_trigger_list = -1;
907 static gint ett_controlnetworkid = -1;
908 static gint ett_transactioncapability = -1;
909 static gint ett_cdmaserviceoption = -1;
910 static gint ett_systemcapabilities = -1;
911 static gint ett_sms_originationrestrictions = -1;
912
913
914 /*--- Included file: packet-ansi_map-ett.c ---*/
915 #line 1 "packet-ansi_map-ett.c"
916 static gint ett_ansi_map_AuthenticationDirective_U = -1;
917 static gint ett_ansi_map_AuthenticationDirectiveRes_U = -1;
918 static gint ett_ansi_map_AuthenticationDirectiveForward_U = -1;
919 static gint ett_ansi_map_AuthenticationDirectiveForwardRes_U = -1;
920 static gint ett_ansi_map_AuthenticationFailureReport_U = -1;
921 static gint ett_ansi_map_AuthenticationFailureReportRes_U = -1;
922 static gint ett_ansi_map_AuthenticationRequest_U = -1;
923 static gint ett_ansi_map_AuthenticationRequestRes_U = -1;
924 static gint ett_ansi_map_AuthenticationStatusReport_U = -1;
925 static gint ett_ansi_map_AuthenticationStatusReportRes_U = -1;
926 static gint ett_ansi_map_BaseStationChallenge_U = -1;
927 static gint ett_ansi_map_BaseStationChallengeRes_U = -1;
928 static gint ett_ansi_map_Blocking_U = -1;
929 static gint ett_ansi_map_BulkDeregistration_U = -1;
930 static gint ett_ansi_map_CountRequest_U = -1;
931 static gint ett_ansi_map_CountRequestRes_U = -1;
932 static gint ett_ansi_map_FacilitiesDirective_U = -1;
933 static gint ett_ansi_map_FacilitiesDirectiveRes_U = -1;
934 static gint ett_ansi_map_FacilitiesDirective2_U = -1;
935 static gint ett_ansi_map_FacilitiesDirective2Res_U = -1;
936 static gint ett_ansi_map_FacilitiesRelease_U = -1;
937 static gint ett_ansi_map_FacilitiesReleaseRes_U = -1;
938 static gint ett_ansi_map_FeatureRequest_U = -1;
939 static gint ett_ansi_map_FeatureRequestRes_U = -1;
940 static gint ett_ansi_map_FlashRequest_U = -1;
941 static gint ett_ansi_map_HandoffBack_U = -1;
942 static gint ett_ansi_map_HandoffBackRes_U = -1;
943 static gint ett_ansi_map_HandoffBack2_U = -1;
944 static gint ett_ansi_map_HandoffBack2Res_U = -1;
945 static gint ett_ansi_map_HandoffMeasurementRequest_U = -1;
946 static gint ett_ansi_map_HandoffMeasurementRequestRes_U = -1;
947 static gint ett_ansi_map_HandoffMeasurementRequest2_U = -1;
948 static gint ett_ansi_map_HandoffMeasurementRequest2Res_U = -1;
949 static gint ett_ansi_map_HandoffToThird_U = -1;
950 static gint ett_ansi_map_HandoffToThirdRes_U = -1;
951 static gint ett_ansi_map_HandoffToThird2_U = -1;
952 static gint ett_ansi_map_HandoffToThird2Res_U = -1;
953 static gint ett_ansi_map_InformationDirective_U = -1;
954 static gint ett_ansi_map_InformationDirectiveRes_U = -1;
955 static gint ett_ansi_map_InformationForward_U = -1;
956 static gint ett_ansi_map_InformationForwardRes_U = -1;
957 static gint ett_ansi_map_InterSystemAnswer_U = -1;
958 static gint ett_ansi_map_InterSystemPage_U = -1;
959 static gint ett_ansi_map_InterSystemPageRes_U = -1;
960 static gint ett_ansi_map_InterSystemPage2_U = -1;
961 static gint ett_ansi_map_InterSystemPage2Res_U = -1;
962 static gint ett_ansi_map_InterSystemSetup_U = -1;
963 static gint ett_ansi_map_InterSystemSetupRes_U = -1;
964 static gint ett_ansi_map_LocationRequest_U = -1;
965 static gint ett_ansi_map_LocationRequestRes_U = -1;
966 static gint ett_ansi_map_MSInactive_U = -1;
967 static gint ett_ansi_map_OriginationRequest_U = -1;
968 static gint ett_ansi_map_OriginationRequestRes_U = -1;
969 static gint ett_ansi_map_QualificationDirective_U = -1;
970 static gint ett_ansi_map_QualificationDirectiveRes_U = -1;
971 static gint ett_ansi_map_QualificationRequest_U = -1;
972 static gint ett_ansi_map_QualificationRequestRes_U = -1;
973 static gint ett_ansi_map_RandomVariableRequest_U = -1;
974 static gint ett_ansi_map_RandomVariableRequestRes_U = -1;
975 static gint ett_ansi_map_RedirectionDirective_U = -1;
976 static gint ett_ansi_map_RedirectionRequest_U = -1;
977 static gint ett_ansi_map_RegistrationCancellation_U = -1;
978 static gint ett_ansi_map_RegistrationCancellationRes_U = -1;
979 static gint ett_ansi_map_RegistrationNotification_U = -1;
980 static gint ett_ansi_map_RegistrationNotificationRes_U = -1;
981 static gint ett_ansi_map_RemoteUserInteractionDirective_U = -1;
982 static gint ett_ansi_map_RemoteUserInteractionDirectiveRes_U = -1;
983 static gint ett_ansi_map_ResetCircuit_U = -1;
984 static gint ett_ansi_map_ResetCircuitRes_U = -1;
985 static gint ett_ansi_map_RoutingRequest_U = -1;
986 static gint ett_ansi_map_RoutingRequestRes_U = -1;
987 static gint ett_ansi_map_SMSDeliveryBackward_U = -1;
988 static gint ett_ansi_map_SMSDeliveryBackwardRes_U = -1;
989 static gint ett_ansi_map_SMSDeliveryForward_U = -1;
990 static gint ett_ansi_map_SMSDeliveryForwardRes_U = -1;
991 static gint ett_ansi_map_SMSDeliveryPointToPoint_U = -1;
992 static gint ett_ansi_map_SMSDeliveryPointToPointRes_U = -1;
993 static gint ett_ansi_map_SMSDeliveryPointToPointAck_U = -1;
994 static gint ett_ansi_map_SMSNotification_U = -1;
995 static gint ett_ansi_map_SMSNotificationRes_U = -1;
996 static gint ett_ansi_map_SMSRequest_U = -1;
997 static gint ett_ansi_map_SMSRequestRes_U = -1;
998 static gint ett_ansi_map_TransferToNumberRequest_U = -1;
999 static gint ett_ansi_map_TransferToNumberRequestRes_U = -1;
1000 static gint ett_ansi_map_TrunkTest_U = -1;
1001 static gint ett_ansi_map_TrunkTestDisconnect_U = -1;
1002 static gint ett_ansi_map_Unblocking_U = -1;
1003 static gint ett_ansi_map_UnreliableRoamerDataDirective_U = -1;
1004 static gint ett_ansi_map_UnsolicitedResponse_U = -1;
1005 static gint ett_ansi_map_UnsolicitedResponseRes_U = -1;
1006 static gint ett_ansi_map_ParameterRequest_U = -1;
1007 static gint ett_ansi_map_ParameterRequestRes_U = -1;
1008 static gint ett_ansi_map_TMSIDirective_U = -1;
1009 static gint ett_ansi_map_TMSIDirectiveRes_U = -1;
1010 static gint ett_ansi_map_NumberPortabilityRequest_U = -1;
1011 static gint ett_ansi_map_ServiceRequest_U = -1;
1012 static gint ett_ansi_map_ServiceRequestRes_U = -1;
1013 static gint ett_ansi_map_AnalyzedInformation_U = -1;
1014 static gint ett_ansi_map_AnalyzedInformationRes_U = -1;
1015 static gint ett_ansi_map_ConnectionFailureReport_U = -1;
1016 static gint ett_ansi_map_ConnectResource_U = -1;
1017 static gint ett_ansi_map_FacilitySelectedAndAvailable_U = -1;
1018 static gint ett_ansi_map_FacilitySelectedAndAvailableRes_U = -1;
1019 static gint ett_ansi_map_Modify_U = -1;
1020 static gint ett_ansi_map_ModifyRes_U = -1;
1021 static gint ett_ansi_map_Search_U = -1;
1022 static gint ett_ansi_map_SearchRes_U = -1;
1023 static gint ett_ansi_map_SeizeResource_U = -1;
1024 static gint ett_ansi_map_SeizeResourceRes_U = -1;
1025 static gint ett_ansi_map_SRFDirective_U = -1;
1026 static gint ett_ansi_map_SRFDirectiveRes_U = -1;
1027 static gint ett_ansi_map_TBusy_U = -1;
1028 static gint ett_ansi_map_TBusyRes_U = -1;
1029 static gint ett_ansi_map_TNoAnswer_U = -1;
1030 static gint ett_ansi_map_TNoAnswerRes_U = -1;
1031 static gint ett_ansi_map_ChangeFacilities_U = -1;
1032 static gint ett_ansi_map_ChangeFacilitiesRes_U = -1;
1033 static gint ett_ansi_map_ChangeService_U = -1;
1034 static gint ett_ansi_map_ChangeServiceRes_U = -1;
1035 static gint ett_ansi_map_MessageDirective_U = -1;
1036 static gint ett_ansi_map_BulkDisconnection_U = -1;
1037 static gint ett_ansi_map_CallControlDirective_U = -1;
1038 static gint ett_ansi_map_CallControlDirectiveRes_U = -1;
1039 static gint ett_ansi_map_OAnswer_U = -1;
1040 static gint ett_ansi_map_ODisconnect_U = -1;
1041 static gint ett_ansi_map_ODisconnectRes_U = -1;
1042 static gint ett_ansi_map_CallRecoveryReport_U = -1;
1043 static gint ett_ansi_map_TAnswer_U = -1;
1044 static gint ett_ansi_map_TDisconnect_U = -1;
1045 static gint ett_ansi_map_TDisconnectRes_U = -1;
1046 static gint ett_ansi_map_UnreliableCallData_U = -1;
1047 static gint ett_ansi_map_OCalledPartyBusy_U = -1;
1048 static gint ett_ansi_map_OCalledPartyBusyRes_U = -1;
1049 static gint ett_ansi_map_ONoAnswer_U = -1;
1050 static gint ett_ansi_map_ONoAnswerRes_U = -1;
1051 static gint ett_ansi_map_PositionRequest_U = -1;
1052 static gint ett_ansi_map_PositionRequestRes_U = -1;
1053 static gint ett_ansi_map_PositionRequestForward_U = -1;
1054 static gint ett_ansi_map_PositionRequestForwardRes_U = -1;
1055 static gint ett_ansi_map_CallTerminationReport_U = -1;
1056 static gint ett_ansi_map_GeoPositionRequest_U = -1;
1057 static gint ett_ansi_map_InterSystemPositionRequest_U = -1;
1058 static gint ett_ansi_map_InterSystemPositionRequestRes_U = -1;
1059 static gint ett_ansi_map_InterSystemPositionRequestForward_U = -1;
1060 static gint ett_ansi_map_InterSystemPositionRequestForwardRes_U = -1;
1061 static gint ett_ansi_map_ACGDirective_U = -1;
1062 static gint ett_ansi_map_RoamerDatabaseVerificationRequest_U = -1;
1063 static gint ett_ansi_map_RoamerDatabaseVerificationRequestRes_U = -1;
1064 static gint ett_ansi_map_LCSParameterRequest_U = -1;
1065 static gint ett_ansi_map_LCSParameterRequestRes_U = -1;
1066 static gint ett_ansi_map_CheckMEID_U = -1;
1067 static gint ett_ansi_map_CheckMEIDRes_U = -1;
1068 static gint ett_ansi_map_AddService_U = -1;
1069 static gint ett_ansi_map_AddServiceRes_U = -1;
1070 static gint ett_ansi_map_DropService_U = -1;
1071 static gint ett_ansi_map_DropServiceRes_U = -1;
1072 static gint ett_ansi_map_PositionEventNotification_U = -1;
1073 static gint ett_ansi_map_OTASPRequest_U = -1;
1074 static gint ett_ansi_map_OTASPRequestRes_U = -1;
1075 static gint ett_ansi_map_StatusRequest_U = -1;
1076 static gint ett_ansi_map_StatusRequestRes_U = -1;
1077 static gint ett_ansi_map_InterSystemSMSDeliveryPointToPoint_U = -1;
1078 static gint ett_ansi_map_InterSystemSMSDeliveryPointToPointRes_U = -1;
1079 static gint ett_ansi_map_InterSystemSMSPage_U = -1;
1080 static gint ett_ansi_map_QualificationRequest2_U = -1;
1081 static gint ett_ansi_map_QualificationRequest2Res_U = -1;
1082 static gint ett_ansi_map_AnnouncementList = -1;
1083 static gint ett_ansi_map_CDMACodeChannelInformation = -1;
1084 static gint ett_ansi_map_CDMACodeChannelList = -1;
1085 static gint ett_ansi_map_CDMATargetMAHOInformation = -1;
1086 static gint ett_ansi_map_CDMATargetMAHOList = -1;
1087 static gint ett_ansi_map_CDMATargetMeasurementInformation = -1;
1088 static gint ett_ansi_map_CDMATargetMeasurementList = -1;
1089 static gint ett_ansi_map_IntersystemTermination = -1;
1090 static gint ett_ansi_map_LocalTermination = -1;
1091 static gint ett_ansi_map_PSTNTermination = -1;
1092 static gint ett_ansi_map_TargetMeasurementInformation = -1;
1093 static gint ett_ansi_map_TargetMeasurementList = -1;
1094 static gint ett_ansi_map_TerminationList = -1;
1095 static gint ett_ansi_map_TerminationList_item = -1;
1096 static gint ett_ansi_map_CDMABandClassInformation = -1;
1097 static gint ett_ansi_map_CDMABandClassList = -1;
1098 static gint ett_ansi_map_CDMAServiceOptionList = -1;
1099 static gint ett_ansi_map_PSID_RSIDList = -1;
1100 static gint ett_ansi_map_TargetCellIDList = -1;
1101 static gint ett_ansi_map_CDMAConnectionReferenceInformation = -1;
1102 static gint ett_ansi_map_CDMAConnectionReferenceList = -1;
1103 static gint ett_ansi_map_CDMAConnectionReferenceList_item = -1;
1104 static gint ett_ansi_map_AnalogRedirectRecord = -1;
1105 static gint ett_ansi_map_CDMAChannelNumberList = -1;
1106 static gint ett_ansi_map_CDMAChannelNumberList_item = -1;
1107 static gint ett_ansi_map_CDMARedirectRecord = -1;
1108 static gint ett_ansi_map_MSID = -1;
1109 static gint ett_ansi_map_DataAccessElement = -1;
1110 static gint ett_ansi_map_DataAccessElementList = -1;
1111 static gint ett_ansi_map_DataAccessElementList_item = -1;
1112 static gint ett_ansi_map_DataUpdateResult = -1;
1113 static gint ett_ansi_map_DataUpdateResultList = -1;
1114 static gint ett_ansi_map_DestinationAddress = -1;
1115 static gint ett_ansi_map_ExecuteScript = -1;
1116 static gint ett_ansi_map_ModificationRequest = -1;
1117 static gint ett_ansi_map_ModificationRequestList = -1;
1118 static gint ett_ansi_map_ModificationResult = -1;
1119 static gint ett_ansi_map_ModificationResultList = -1;
1120 static gint ett_ansi_map_ServiceDataAccessElement = -1;
1121 static gint ett_ansi_map_ServiceDataAccessElementList = -1;
1122 static gint ett_ansi_map_ServiceDataResult = -1;
1123 static gint ett_ansi_map_ServiceDataResultList = -1;
1124 static gint ett_ansi_map_TriggerAddressList = -1;
1125 static gint ett_ansi_map_TriggerList = -1;
1126 static gint ett_ansi_map_WINCapability = -1;
1127 static gint ett_ansi_map_CallRecoveryID = -1;
1128 static gint ett_ansi_map_CallRecoveryIDList = -1;
1129 static gint ett_ansi_map_PositionInformation = -1;
1130 static gint ett_ansi_map_GapInterval = -1;
1131 static gint ett_ansi_map_CDMAPSMMList = -1;
1132 static gint ett_ansi_map_CDMAPSMMList_item = -1;
1133 static gint ett_ansi_map_MPCAddressList = -1;
1134 static gint ett_ansi_map_MobileStationMSID = -1;
1135 static gint ett_ansi_map_NewlyAssignedMSID = -1;
1136 static gint ett_ansi_map_InvokeData = -1;
1137 static gint ett_ansi_map_ReturnData = -1;
1138
1139 /*--- End of included file: packet-ansi_map-ett.c ---*/
1140 #line 355 "packet-ansi_map-template.c"
1141
1142 /* Global variables */
1143 static dissector_table_t is637_tele_id_dissector_table; /* IS-637 Teleservice ID */
1144 static dissector_table_t is683_dissector_table; /* IS-683-A (OTA) */
1145 static dissector_table_t is801_dissector_table; /* IS-801 (PLD) */
1146 static packet_info *g_pinfo;
1147 static proto_tree *g_tree;
1148 tvbuff_t *SMS_BearerData_tvb = NULL;
1149 gint32    ansi_map_sms_tele_id = -1;
1150 static gboolean is683_ota;
1151 static gboolean is801_pld;
1152 static gboolean ansi_map_is_invoke;
1153 static guint32 OperationCode;
1154 static guint8 ServiceIndicator;
1155
1156
1157 struct ansi_map_invokedata_t {
1158     guint32 opcode;
1159     guint8 ServiceIndicator;
1160 };
1161
1162 static void dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_);
1163
1164
1165 /* Transaction table */
1166 static GHashTable *TransactionId_table=NULL;
1167
1168 static void
1169 TransactionId_table_cleanup(gpointer key , gpointer value, gpointer user_data _U_){
1170
1171     struct ansi_map_invokedata_t *ansi_map_saved_invokedata = value;
1172     gchar *TransactionId_str = key;
1173
1174     g_free(TransactionId_str);
1175     g_free(ansi_map_saved_invokedata);
1176
1177 }
1178
1179 void
1180 ansi_map_init_transaction_table(void){
1181
1182     /* Destroy any existing memory chunks / hashes. */
1183     if (TransactionId_table){
1184         g_hash_table_foreach(TransactionId_table, TransactionId_table_cleanup, NULL);
1185         g_hash_table_destroy(TransactionId_table);
1186     }
1187
1188     TransactionId_table = g_hash_table_new(g_str_hash, g_str_equal);
1189
1190 }
1191
1192 static void
1193 ansi_map_init_protocol(void)
1194 {
1195     ansi_map_init_transaction_table();
1196
1197
1198 /* Store Invoke information needed for the corresponding reply */
1199 static void
1200 update_saved_invokedata(packet_info *pinfo, proto_tree *tree _U_, tvbuff_t *tvb _U_){
1201     struct ansi_map_invokedata_t *ansi_map_saved_invokedata;
1202     struct ansi_tcap_private_t *p_private_tcap;
1203     address* src = &(pinfo->src);
1204     address* dst = &(pinfo->dst);
1205     guint8 *src_str;
1206     guint8 *dst_str;
1207     char *buf;
1208
1209     buf=ep_alloc(1024);
1210
1211     src_str = address_to_str(src);
1212     dst_str = address_to_str(dst);
1213
1214     /* Data from the TCAP dissector */
1215     if (pinfo->private_data != NULL){
1216         p_private_tcap=pinfo->private_data;
1217         if ((!pinfo->fd->flags.visited)&&(p_private_tcap->TransactionID_str)){
1218             /* Only do this once XXX I hope its the right thing to do */
1219             /* The hash string needs to contain src and dest to distiguish differnt flows */
1220             g_snprintf(buf,1024,"%s%s%s",p_private_tcap->TransactionID_str,src_str,dst_str);
1221             /* If the entry allready exists don't owervrite it */
1222             ansi_map_saved_invokedata = g_hash_table_lookup(TransactionId_table,buf);
1223             if(ansi_map_saved_invokedata)
1224                 return;
1225
1226             ansi_map_saved_invokedata = g_malloc(sizeof(struct ansi_map_invokedata_t));
1227             ansi_map_saved_invokedata->opcode = p_private_tcap->d.OperationCode_private;
1228             ansi_map_saved_invokedata->ServiceIndicator = ServiceIndicator;
1229
1230             g_hash_table_insert(TransactionId_table, 
1231                                 g_strdup(buf),
1232                                 ansi_map_saved_invokedata);
1233             /*
1234               g_warning("Invoke Hash string %s",buf);
1235             */
1236         }
1237     }
1238
1239 }
1240 /* value strings */
1241 const value_string ansi_map_opr_code_strings[] = {
1242     {   1, "Handoff Measurement Request" },
1243     {   2, "Facilities Directive" },
1244     {   3, "Mobile On Channel" },
1245     {   4, "Handoff Back" },
1246     {   5, "Facilities Release" },
1247     {   6, "Qualification Request" },
1248     {   7, "Qualification Directive" },
1249     {   8, "Blocking" },
1250     {   9, "Unblocking" },
1251     {  10,  "Reset Circuit" },
1252     {  11, "Trunk Test" },
1253     {  12, "Trunk Test Disconnect" },
1254     {  13, "Registration Notification" },
1255     {  14, "Registration Cancellation" },
1256     {  15, "Location Request" },
1257     {  16, "Routing Request" },
1258     {  17, "Feature Request" },
1259     {  18, "Reserved 18 (Service Profile Request, IS-41-C)" },
1260     {  19, "Reserved 19 (Service Profile Directive, IS-41-C)" },
1261     {  20, "Unreliable Roamer Data Directive" },
1262     {  21, "Reserved 21 (Call Data Request, IS-41-C)" },
1263     {  22, "MS Inactive" },
1264     {  23, "Transfer To Number Request" },
1265     {  24, "Redirection Request" },
1266     {  25, "Handoff To Third" },
1267     {  26, "Flash Request" },
1268     {  27, "Authentication Directive" },
1269     {  28, "Authentication Request" },
1270     {  29, "Base Station Challenge" },
1271     {  30, "Authentication Failure Report" },
1272     {  31, "Count Request" },
1273     {  32, "Inter System Page" },
1274     {  33, "Unsolicited Response" },
1275     {  34, "Bulk Deregistration" },
1276     {  35, "Handoff Measurement Request 2" },
1277     {  36, "Facilities Directive 2" },
1278     {  37, "Handoff Back 2" },
1279     {  38, "Handoff To Third 2" },
1280     {  39, "Authentication Directive Forward" },
1281     {  40, "Authentication Status Report" },
1282     {  41, "Reserved 41" },
1283     {  42, "Information Directive" },
1284     {  43, "Information Forward" },
1285     {  44, "Inter System Answer" },
1286     {  45, "Inter System Page 2" },
1287     {  46, "Inter System Setup" },
1288     {  47, "Origination Request" },
1289     {  48, "Random Variable Request" },
1290     {  49, "Redirection Directive" },
1291     {  50, "Remote User Interaction Directive" },
1292     {  51, "SMS Delivery Backward" },
1293     {  52, "SMS Delivery Forward" },
1294     {  53, "SMS Delivery Point to Point" },
1295     {  54, "SMS Notification" },
1296     {  55, "SMS Request" },
1297     {  56, "OTASP Request" },
1298     {  57, "Information Backward" },
1299     {  58, "Change Facilities" },
1300     {  59, "Change Service" },
1301     {  60, "Parameter Request" },
1302     {  61, "TMSI Directive" },
1303     {  62, "NumberPortabilityRequest" },
1304     {  63, "Service Request" },
1305     {  64, "Analyzed Information Request" },
1306     {  65, "Connection Failure Report" },
1307     {  66, "Connect Resource" },
1308     {  67, "Disconnect Resource" },
1309     {  68, "Facility Selected and Available" },
1310     {  69, "Instruction Request" },
1311     {  70, "Modify" },
1312     {  71, "Reset Timer" },
1313     {  72, "Search" },
1314     {  73, "Seize Resource" },
1315     {  74, "SRF Directive" },
1316     {  75, "T Busy" },
1317     {  76, "T NoAnswer" },
1318     {  77, "Release" },
1319     {  78, "SMS Delivery Point to Point Ack" },
1320     {  79, "Message Directive" },
1321     {  80, "Bulk Disconnection" },
1322     {  81, "Call Control Directive" },
1323     {  82, "O Answer" },
1324     {  83, "O Disconnect" },
1325     {  84, "Call Recovery Report" },
1326     {  85, "T Answer" },
1327     {  86, "T Disconnect" },
1328     {  87, "Unreliable Call Data" },
1329     {  88, "O CalledPartyBusy" },
1330     {  89, "O NoAnswer" },
1331     {  90, "Position Request" },
1332     {  91, "Position Request Forward" },
1333     {  92, "Call Termination Report" },
1334     {  93, "Geo Position Directive" },
1335     {  94, "Geo Position Request" },
1336     {  95, "Inter System Position Request" },
1337     {  96, "Inter System Position Request Forward" },
1338     {  97, "ACG Directive" },
1339     {  98, "Roamer Database Verification Request" },
1340     {  99, "Add Service" },
1341     { 100, "Drop Service" },
1342     { 101, "InterSystemSMSPage" },
1343     { 102, "LCSParameterRequest" },
1344     { 106, "PositionEventNotification" },
1345     { 111, "InterSystemSMSDelivery-PointToPoint" },
1346     { 112, "QualificationRequest2" },
1347     {   0, NULL },
1348 };
1349
1350 static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
1351 static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset,  asn1_ctx_t *actx);
1352 static int dissect_ansi_map_SystemMyTypeCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_);
1353
1354 typedef struct dgt_set_t
1355 {
1356     unsigned char out[15];
1357 }
1358 dgt_set_t;
1359
1360 static dgt_set_t Dgt_tbcd = {
1361     {
1362   /*  0   1   2   3   4   5   6   7   8   9   a   b   c   d   e */
1363      '0','1','2','3','4','5','6','7','8','9','?','B','C','*','#'
1364     }
1365 };
1366 static dgt_set_t Dgt1_9_bcd = {
1367     {
1368   /*  0   1   2   3   4   5   6   7   8   9   a   b   c   d   e */
1369      '0','1','2','3','4','5','6','7','8','9','?','?','?','?','?'
1370     }
1371 };
1372 /* Assumes the rest of the tvb contains the digits to be turned into a string 
1373  */
1374 static char*
1375 unpack_digits2(tvbuff_t *tvb, int offset,dgt_set_t *dgt){
1376
1377     int length;
1378     guint8 octet;
1379     int i=0;
1380     char *digit_str;
1381
1382     length = tvb_length(tvb);
1383     if (length < offset)
1384         return "";
1385     digit_str = ep_alloc((length - offset)*2+1);
1386
1387     while ( offset < length ){
1388
1389         octet = tvb_get_guint8(tvb,offset);
1390         digit_str[i] = dgt->out[octet & 0x0f]; 
1391         i++;
1392
1393         /*
1394          * unpack second value in byte
1395          */
1396         octet = octet >> 4;
1397
1398         if (octet == 0x0f)      /* odd number bytes - hit filler */
1399             break;
1400
1401         digit_str[i] = dgt->out[octet & 0x0f]; 
1402         i++;
1403         offset++;
1404
1405     }
1406     digit_str[i]= '\0';
1407     return digit_str;
1408 }
1409
1410
1411
1412 /* Type of Digits (octet 1, bits A-H) */
1413 static const value_string ansi_map_type_of_digits_vals[] = {
1414     {   0, "Not Used" },
1415     {   1, "Dialed Number or Called Party Number" },
1416     {   2, "Calling Party Number" },
1417     {   3, "Caller Interaction" },
1418     {   4, "Routing Number" },
1419     {   5, "Billing Number" },
1420     {   6, "Destination Number" },
1421     {   7, "LATA" },
1422     {   8, "Carrier" },
1423     {   0, NULL }
1424 };
1425 /* Nature of Number (octet 2, bits A-H )*/
1426 static const true_false_string ansi_map_na_bool_val  = {
1427     "International",
1428     "National"
1429 };
1430 static const true_false_string ansi_map_pi_bool_val  = {
1431     "Presentation Restricted",
1432     "Presentation Allowed"
1433 };
1434 static const true_false_string ansi_map_navail_bool_val  = {
1435     "Number is not available",
1436     "Number is available"
1437 };
1438 static const true_false_string ansi_map_si_bool_val  = {
1439     "User provided, screening passed",
1440     "User provided, not screened"
1441 };
1442 static const value_string ansi_map_si_vals[]  = {
1443     {   0, "User provided, not screened"},
1444     {   1, "User provided, screening passed"},
1445     {   2, "User provided, screening failed"},
1446     {   3, "Network provided"},
1447     {   0, NULL }
1448 };
1449 /* Encoding (octet 3, bits A-D) */
1450 static const value_string ansi_map_digits_enc_vals[]  = {
1451     {   0, "Not used"},
1452     {   1, "BCD"},
1453     {   2, "IA5"},
1454     {   3, "Octet string"},
1455     {   0, NULL }
1456 };
1457 /* Numbering Plan (octet 3, bits E-H) */
1458 static const value_string ansi_map_np_vals[]  = {
1459     {   0, "Unknown or not applicable"},
1460     {   1, "ISDN Numbering"},
1461     {   2, "Telephony Numbering (ITU-T Rec. E.164,E.163)"},
1462     {   3, "Data Numbering (ITU-T Rec. X.121)"},
1463     {   4, "Telex Numbering (ITU-T Rec. F.69)"},
1464     {   5, "Maritime Mobile Numbering"},
1465     {   6, "Land Mobile Numbering (ITU-T Rec. E.212)"},
1466     {   7, "Private Numbering Plan"},
1467     {  13, "SS7 Point Code (PC) and Subsystem Number (SSN)"},
1468     {  14, "Internet Protocol (IP) Address."},
1469     {  15, "Reserved for extension"},
1470     {   0, NULL }
1471 };
1472
1473 static void 
1474 dissect_ansi_map_min_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1475     char *digit_str;
1476     int   offset = 0;
1477
1478     proto_tree *subtree;
1479
1480
1481     subtree = proto_item_add_subtree(actx->created_item, ett_mintype);
1482
1483     digit_str = unpack_digits2(tvb, offset, &Dgt1_9_bcd);
1484     proto_tree_add_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, digit_str);
1485     proto_item_append_text(actx->created_item, " - %s", digit_str);
1486 }
1487
1488 static void 
1489 dissect_ansi_map_digits_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1490
1491     guint8 octet , octet_len;
1492     guint8 b1,b2,b3,b4;
1493     int    offset = 0;
1494     char  *digit_str;
1495
1496     proto_tree *subtree;
1497
1498
1499     subtree = proto_item_add_subtree(actx->created_item, ett_digitstype);
1500
1501     /* Octet 1 */
1502     proto_tree_add_item(subtree, hf_ansi_map_type_of_digits, tvb, offset, 1, FALSE);
1503     offset++;
1504     /* Octet 2 */
1505     proto_tree_add_item(subtree, hf_ansi_map_reservedBitHG, tvb, offset, 1, FALSE);
1506     proto_tree_add_item(subtree, hf_ansi_map_si, tvb, offset, 1, FALSE);
1507     proto_tree_add_item(subtree, hf_ansi_map_reservedBitD, tvb, offset, 1, FALSE);
1508     proto_tree_add_item(subtree, hf_ansi_map_navail, tvb, offset, 1, FALSE);
1509     proto_tree_add_item(subtree, hf_ansi_map_pi, tvb, offset, 1, FALSE);
1510     proto_tree_add_item(subtree, hf_ansi_map_na, tvb, offset, 1, FALSE);
1511     offset++;
1512     /* Octet 3 */
1513     octet = tvb_get_guint8(tvb,offset);
1514     proto_tree_add_item(subtree, hf_ansi_map_np, tvb, offset, 1, FALSE);
1515     proto_tree_add_item(subtree, hf_ansi_map_digits_enc, tvb, offset, 1, FALSE);
1516     offset++;
1517     /* Octet 4 - */
1518     switch(octet>>4){
1519     case 0:/* Unknown or not applicable */
1520         switch ((octet&0xf)){
1521         case 1:
1522             /* BCD Coding */
1523             octet_len = tvb_get_guint8(tvb,offset);
1524             proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, FALSE);
1525             if(octet_len == 0)
1526                 return;
1527             offset++;
1528             digit_str = unpack_digits2(tvb, offset, &Dgt_tbcd);
1529             proto_tree_add_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, digit_str);
1530             proto_item_append_text(actx->created_item, " - %s", digit_str);
1531             break;
1532         case 2:
1533             /* IA5 Coding */
1534             octet_len = tvb_get_guint8(tvb,offset);
1535             proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, FALSE);
1536             if(octet_len == 0)
1537                 return;
1538             offset++;
1539             proto_tree_add_item(subtree, hf_ansi_map_ia5_digits, tvb, offset, -1, FALSE);
1540             proto_item_append_text(actx->created_item, " - %s", tvb_get_ephemeral_string(tvb,offset,tvb_length_remaining(tvb,offset)));
1541             break;
1542         case 3:
1543             /* Octet string */
1544             break;
1545         default:
1546             break;
1547         }
1548         break;
1549     case 1:/* ISDN Numbering (not used in this Standard). */
1550     case 3:/* Data Numbering (ITU-T Rec. X.121) (not used in this Standard). */
1551     case 4:/* Telex Numbering (ITU-T Rec. F.69) (not used in this Standard). */
1552     case 5:/* Maritime Mobile Numbering (not used in this Standard). */
1553         proto_tree_add_text(subtree, tvb, offset, -1, "This Number plan should not have been used");
1554         break;
1555     case 2:/* Telephony Numbering (ITU-T Rec. E.164,E.163). */
1556     case 6:/* Land Mobile Numbering (ITU-T Rec. E.212) */
1557     case 7:/* Private Numbering Plan */
1558         octet_len = tvb_get_guint8(tvb,offset);
1559         proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, FALSE);
1560         if(octet_len == 0)
1561             return;
1562         offset++;
1563         switch ((octet&0xf)){
1564         case 1:
1565             /* BCD Coding */
1566             digit_str = unpack_digits2(tvb, offset, &Dgt_tbcd);
1567             proto_tree_add_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, digit_str);
1568             proto_item_append_text(actx->created_item, " - %s", digit_str);
1569             break;
1570         case 2:
1571             /* IA5 Coding */
1572             proto_tree_add_item(subtree, hf_ansi_map_ia5_digits, tvb, offset, -1, FALSE);
1573             proto_item_append_text(actx->created_item, " - %s", tvb_get_ephemeral_string(tvb,offset,tvb_length_remaining(tvb,offset)));
1574             break;
1575         case 3:
1576             /* Octet string */
1577             break;
1578         default:
1579             break;
1580         }
1581         break;
1582     case 13:/* ANSI SS7 Point Code (PC) and Subsystem Number (SSN). */
1583         switch ((octet&0xf)){
1584         case 3:
1585             /* Octet string */
1586             /* Point Code Member Number octet 2 */
1587             b1 = tvb_get_guint8(tvb,offset);
1588             offset++;
1589             /* Point Code Cluster Number octet 3 */
1590             b2 = tvb_get_guint8(tvb,offset);
1591             offset++;
1592             /* Point Code Network Number octet 4 */
1593             b3 = tvb_get_guint8(tvb,offset);
1594             offset++;
1595             /* Subsystem Number (SSN) octet 5 */
1596             b4 = tvb_get_guint8(tvb,offset);
1597             proto_tree_add_text(subtree, tvb, offset-3, 4 , "Point Code %u-%u-%u  SSN %u",
1598                                 b3, b2, b1, b4);
1599             proto_item_append_text(actx->created_item, " - Point Code %u-%u-%u  SSN %u", b3, b2, b1, b4);
1600             break;
1601         default:
1602             break;
1603         }
1604         break;
1605     case 14:/* Internet Protocol (IP) Address. */
1606         break;
1607     default:
1608         proto_tree_add_text(subtree, tvb, offset, -1, "This Number plan should not have been used");
1609         break;
1610     }
1611
1612 }
1613 /* 6.5.3.13. Subaddress */
1614
1615 static const true_false_string ansi_map_Odd_Even_Ind_bool_val  = {
1616   "Odd",
1617   "Even"
1618 };
1619 /* Type of Subaddress (octet 1, bits E-G) */
1620 static const value_string ansi_map_sub_addr_type_vals[]  = {
1621     {   0, "NSAP (CCITT Rec. X.213 or ISO 8348 AD2)"},
1622     {   1, "User specified"},
1623     {   2, "Reserved"},
1624     {   3, "Reserved"},
1625     {   4, "Reserved"},
1626     {   5, "Reserved"},
1627     {   6, "Reserved"},
1628     {   7, "Reserved"},
1629     {   0, NULL }
1630 };
1631
1632 static void 
1633 dissect_ansi_map_subaddress(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1634     int offset = 0;
1635
1636     proto_tree *subtree;
1637
1638
1639     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1640     /* Type of Subaddress (octet 1, bits E-G) */
1641     proto_tree_add_item(subtree, hf_ansi_map_subaddr_type, tvb, offset, 1, FALSE);
1642     /* Odd/Even Indicator (O/E) (octet 1, bit D) */
1643     proto_tree_add_item(subtree, hf_ansi_map_subaddr_odd_even, tvb, offset, 1, FALSE);
1644
1645 }
1646 /*
1647  * 6.5.2.2 ActionCode
1648  * Table 114 ActionCode value
1649  *
1650  * 6.5.2.2 ActionCode(TIA/EIA-41.5-D, page 5-129) */
1651
1652 static const value_string ansi_map_ActionCode_vals[]  = {
1653     {   0, "Not used"},
1654     {   1, "Continue processing"},
1655     {   2, "Disconnect call"},
1656     {   3, "Disconnect call leg"},
1657     {   4, "Conference Calling Drop Last Party"},
1658     {   5, "Bridge call leg(s) to conference call"},
1659     {   6, "Drop call leg on busy or routing failure"},
1660     {   7, "Disconnect all call legs"},
1661     {   8, "Attach MSC to OTAF"},
1662     {   9, "Initiate RegistrationNotification"},
1663     {  10, "Generate Public Encryption values"},
1664     {  11, "Generate A-key"},
1665     {  12, "Perform SSD Update procedure"},
1666     {  13, "Perform Re-authentication procedure"},
1667     {  14, "Release TRN"},
1668     {  15, "Commit A-key"},
1669     {  16, "Release Resources (e.g., A-key, Traffic Channel)"},
1670     {  17, "Record NEWMSID"},
1671     {  18, "Allocate Resources (e.g., Multiple message traffic channel delivery)."},
1672     {  19, "Generate Authentication Signature"},
1673     {  20, "Release leg and redirect subscriber"},
1674     {  21, "Do Not Wait For MS User Level Response"},
1675     {  22, "Prepare for CDMA Handset-Based Position Determination"},
1676     {  23, "CDMA Handset-Based Position Determination Complete"},
1677     {   0, NULL }
1678 };
1679 /* 6.5.2.3 AlertCode */
1680
1681 /* Pitch (octet 1, bits G-H) */
1682 static const value_string ansi_map_AlertCode_Pitch_vals[]  = {
1683     {   0, "Medium pitch"},
1684     {   1, "High pitch"},
1685     {   2, "Low pitch"},
1686     {   3, "Reserved"},
1687     {   0, NULL }
1688 };
1689 /* Cadence (octet 1, bits A-F) */
1690 static const value_string ansi_map_AlertCode_Cadence_vals[]  = {
1691     {   0, "NoTone"},
1692     {   1, "Long"},
1693     {   2, "ShortShort"},
1694     {   3, "ShortShortLong"},
1695     {   4, "ShortShort2"},
1696     {   5, "ShortLongShort"},
1697     {   6, "ShortShortShortShort"},
1698     {   7, "PBXLong"},
1699     {   8, "PBXShortShort"},
1700     {   9, "PBXShortShortLong"},
1701
1702     {  10, "PBXShortLongShort"},
1703     {  11, "PBXShortShortShortShort"},
1704     {  12, "PipPipPipPip"},
1705     {  13, "Reserved. Treat the same as value 0, NoTone"},
1706     {  14, "Reserved. Treat the same as value 0, NoTone"},
1707     {  15, "Reserved. Treat the same as value 0, NoTone"},
1708     {  16, "Reserved. Treat the same as value 0, NoTone"},
1709     {  17, "Reserved. Treat the same as value 0, NoTone"},
1710     {  18, "Reserved. Treat the same as value 0, NoTone"},
1711     {  19, "Reserved. Treat the same as value 0, NoTone"},
1712     {   0, NULL }
1713 };
1714
1715 /* Alert Action (octet 2, bits A-C) */
1716 static const value_string ansi_map_AlertCode_Alert_Action_vals[]  = {
1717     {   0, "Alert without waiting to report"},
1718     {   1, "Apply a reminder alert once"},
1719     {   2, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1720     {   3, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1721     {   4, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1722     {   5, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1723     {   6, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1724     {   7, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1725     {   0, NULL }
1726 };
1727 static void
1728 dissect_ansi_map_alertcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1729
1730     int offset = 0;
1731
1732     proto_tree *subtree;
1733
1734
1735     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1736     /* Pitch (octet 1, bits G-H) */
1737     proto_tree_add_item(subtree, hf_ansi_alertcode_pitch, tvb, offset, 1, FALSE);
1738     /* Cadence (octet 1, bits A-F) */
1739     proto_tree_add_item(subtree, hf_ansi_alertcode_cadence, tvb, offset, 1, FALSE);
1740     offset++;
1741
1742     /* Alert Action (octet 2, bits A-C) */
1743     proto_tree_add_item(subtree, hf_ansi_alertcode_alertaction, tvb, offset, 1, FALSE);
1744
1745 }
1746 /* 6.5.2.4 AlertResult */
1747 /* Result (octet 1) */
1748 static const value_string ansi_map_AlertResult_result_vals[]  = {
1749     {   0, "Not specified"},
1750     {   1, "Success"},
1751     {   2, "Failure"},
1752     {   3, "Denied"},
1753     {   4, "NotAttempted"},
1754     {   5, "NoPageResponse"},
1755     {   6, "Busy"},
1756     {   0, NULL }
1757 };
1758
1759 /* 6.5.2.5 AnnouncementCode Updatef from NS0018Re*/
1760 /* Tone (octet 1) */
1761 static const value_string ansi_map_AnnouncementCode_tone_vals[]  = {
1762     {   0, "DialTone"},
1763     {   1, "RingBack or AudibleAlerting"},
1764     {   2, "InterceptTone or MobileReorder"},
1765     {   3, "CongestionTone or ReorderTone"},
1766     {   4, "BusyTone"},
1767     {   5, "ConfirmationTone"},
1768     {   6, "AnswerTone"},
1769     {   7, "CallWaitingTone"},
1770     {   8, "OffHookTone"},
1771     {  17, "RecallDialTone"},
1772     {  18, "BargeInTone"},
1773     {  20, "PPCInsufficientTone"},
1774     {  21, "PPCWarningTone1"},
1775     {  22, "PPCWarningTone2"},
1776     {  23, "PPCWarningTone3"},
1777     {  24, "PPCDisconnectTone"},
1778     {  25, "PPCRedirectTone"},
1779     {  63, "TonesOff"},
1780     { 192, "PipTone"},
1781     { 193, "AbbreviatedIntercept"},
1782     { 194, "AbbreviatedCongestion"},
1783     { 195, "WarningTone"},
1784     { 196, "DenialToneBurst"},
1785     { 197, "DialToneBurst"},
1786     { 250, "IncomingAdditionalCallTone"},
1787     { 251, "PriorityAdditionalCallTone"},
1788     {   0, NULL }
1789 };
1790 /* Class (octet 2, bits A-D) */
1791 static const value_string ansi_map_AnnouncementCode_class_vals[]  = {
1792     {   0, "Concurrent"},
1793     {   1, "Sequential"},
1794     {   0, NULL }
1795 };
1796 /* Standard Announcement (octet 3) Updated with N.S0015 */
1797 static const value_string ansi_map_AnnouncementCode_std_ann_vals[]  = {
1798     {   0, "None"},
1799     {   1, "UnauthorizedUser"},
1800     {   2, "InvalidESN"},
1801     {   3, "UnauthorizedMobile"},
1802     {   4, "SuspendedOrigination"},
1803     {   5, "OriginationDenied"},
1804     {   6, "ServiceAreaDenial"},
1805     {  16, "PartialDial"},
1806     {  17, "Require1Plus"},
1807     {  18, "Require1PlusNPA"},
1808     {  19, "Require0Plus"},
1809     {  20, "Require0PlusNPA"},
1810     {  21, "Deny1Plus"},
1811     {  22, "Unsupported10plus"},
1812     {  23, "Deny10plus"},
1813     {  24, "Unsupported10XXX"},
1814     {  25, "Deny10XXX"},
1815     {  26, "Deny10XXXLocally"},
1816     {  27, "Require10Plus"},
1817     {  28, "RequireNPA"},
1818     {  29, "DenyTollOrigination"},
1819     {  30, "DenyInternationalOrigination"},
1820     {  31, "Deny0Minus"},
1821     {  48, "DenyNumber"},
1822     {  49, "AlternateOperatorServices"},
1823     {  64, "No Circuit or AllCircuitsBusy or FacilityProblem"},
1824     {  65, "Overload"},
1825     {  66, "InternalOfficeFailure"},
1826     {  67, "NoWinkReceived"},
1827     {  68, "InterofficeLinkFailure"},
1828     {  69, "Vacant"},
1829     {  70, "InvalidPrefix or InvalidAccessCode"},
1830     {  71, "OtherDialingIrregularity"},
1831     {  80, "VacantNumber or DisconnectedNumber"},
1832     {  81, "DenyTermination"},
1833     {  82, "SuspendedTermination"},
1834     {  83, "ChangedNumber"},
1835     {  84, "InaccessibleSubscriber"},
1836     {  85, "DenyIncomingTol"},
1837     {  86, "RoamerAccessScreening"},
1838     {  87, "RefuseCall"},
1839     {  88, "RedirectCall"},
1840     {  89, "NoPageResponse"},
1841     {  90, "NoAnswer"},
1842     {  96, "RoamerIntercept"},
1843     {  97, "GeneralInformation"},
1844     { 112, "UnrecognizedFeatureCode"},
1845     { 113, "UnauthorizedFeatureCode"},
1846     { 114, "RestrictedFeatureCode"},
1847     { 115, "InvalidModifierDigits"},
1848     { 116, "SuccessfulFeatureRegistration"},
1849     { 117, "SuccessfulFeatureDeRegistration"},
1850     { 118, "SuccessfulFeatureActivation"},
1851     { 119, "SuccessfulFeatureDeActivation"},
1852     { 120, "InvalidForwardToNumber"},
1853     { 121, "CourtesyCallWarning"},
1854     { 128, "EnterPINSendPrompt"},
1855     { 129, "EnterPINPrompt"},
1856     { 130, "ReEnterPINSendPrompt"},
1857     { 131, "ReEnterPINPrompt"},
1858     { 132, "EnterOldPINSendPrompt"},
1859     { 133, "EnterOldPINPrompt"},
1860     { 134, "EnterNewPINSendPrompt"},
1861     { 135, "EnterNewPINPrompt"},
1862     { 136, "ReEnterNewPINSendPrompt"},
1863     { 137, "ReEnterNewPINPrompt"},
1864     { 138, "EnterPasswordPrompt"},
1865     { 139, "EnterDirectoryNumberPrompt"},
1866     { 140, "ReEnterDirectoryNumberPrompt"},
1867     { 141, "EnterFeatureCodePrompt"},
1868     { 142, "EnterEnterCreditCardNumberPrompt"},
1869     { 143, "EnterDestinationNumberPrompt"},
1870     { 152, "PPCInsufficientAccountBalance"},
1871     { 153, "PPCFiveMinuteWarning"},
1872     { 154, "PPCThreeMinuteWarning"},
1873     { 155, "PPCTwoMinuteWarning"},
1874     { 156, "PPCOneMinuteWarning"},
1875     { 157, "PPCDisconnect"},
1876     { 158, "PPCRedirect"},
1877     {   0, NULL }
1878 };
1879
1880
1881
1882 static void
1883 dissect_ansi_map_announcementcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1884
1885     int offset = 0;
1886
1887     proto_tree *subtree;
1888
1889
1890     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1891
1892     /* Tone (octet 1) */
1893     proto_tree_add_item(subtree, hf_ansi_map_announcementcode_tone, tvb, offset, 1, FALSE);
1894     offset++;
1895     /* Class (octet 2, bits A-D) */
1896     proto_tree_add_item(subtree, hf_ansi_map_announcementcode_class, tvb, offset, 1, FALSE);
1897     offset++;
1898     /* Standard Announcement (octet 3) */
1899     proto_tree_add_item(subtree, hf_ansi_map_announcementcode_std_ann, tvb, offset, 1, FALSE);
1900     offset++;
1901     /* Custom Announcement ( octet 4 )
1902        e.       The assignment of this octet is left to bilateral agreement. When a Custom
1903        Announcement is specified it takes precedence over either the Standard
1904        Announcement or Tone
1905     */
1906     proto_tree_add_item(subtree, hf_ansi_map_announcementcode_cust_ann, tvb, offset, 1, FALSE);
1907
1908 }
1909 /* 6.5.2.8 AuthenticationCapability Updated N.S0003*/
1910 static const value_string ansi_map_AuthenticationCapability_vals[]  = {
1911     {   0, "Not used"},
1912     {   1, "No authentication required"},
1913     {   2, "Authentication required"},
1914     { 128, "Authentication required and UIM capable."},
1915     {   0, NULL }
1916 };
1917
1918 /* 6.5.2.14 AuthorizationPeriod*/
1919
1920 /* Period (octet 1) */
1921 static const value_string ansi_map_authorizationperiod_period_vals[]  = {
1922     {   0, "Not used"},
1923     {   1, "Per Call"},
1924     {   2, "Hours"},
1925     {   3, "Days"},
1926     {   4, "Weeks"},
1927     {   5, "Per Agreement"},
1928     {   6, "Indefinite (i.e., authorized until canceled or deregistered)"},
1929     {   7, "Number of calls. Re-authorization should be attempted after this number of (rejected) call attempts"},
1930     {   0, NULL }
1931 };
1932 /* Value (octet 2)
1933 Number of minutes hours, days, weeks, or
1934 number of calls (as per Period). If Period
1935 indicates anything else the Value is set to zero
1936 on sending and ignored on receipt. 
1937 */
1938 static void
1939 dissect_ansi_map_authorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1940
1941     int offset = 0;
1942
1943     proto_tree *subtree;
1944
1945
1946     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1947     proto_tree_add_item(subtree, hf_ansi_map_authorizationperiod_period, tvb, offset, 1, FALSE);
1948     offset++;
1949     proto_tree_add_item(subtree, hf_ansi_map_value, tvb, offset, 1, FALSE);
1950
1951 }
1952 /* 6.5.2.15 AvailabilityType */
1953 static const value_string ansi_map_AvailabilityType_vals[]  = {
1954     {   0, "Not used"},
1955     {   1, "Unspecified MS inactivity type"},
1956     {   0, NULL }
1957 };
1958
1959 /* 6.5.2.16 BillingID */
1960 static void
1961 dissect_ansi_map_billingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1962
1963     int offset = 0;
1964
1965     proto_tree *subtree;
1966
1967
1968     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1969
1970     proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE);
1971     offset = offset + 2;
1972     proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE);
1973     offset++;
1974     /* ID Number */
1975     proto_tree_add_item(subtree, hf_ansi_map_idno, tvb, offset, 3, FALSE);
1976     offset = offset + 3;
1977     proto_tree_add_item(subtree, hf_ansi_map_segcount, tvb, offset, 1, FALSE);
1978
1979 }
1980
1981
1982 /* 6.5.2.20 CallingFeaturesIndicator */
1983 static const value_string ansi_map_FeatureActivity_vals[]  = {
1984     {   0, "Not used"},
1985     {   1, "Not authorized"},
1986     {   2, "Authorized but de-activated"},
1987     {   3, "Authorized and activated"},
1988     {   0, NULL }
1989 };
1990
1991
1992 static void
1993 dissect_ansi_map_callingfeaturesindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1994     int offset = 0;
1995     int length; 
1996
1997     proto_tree *subtree;
1998
1999     length = tvb_length_remaining(tvb,offset); 
2000
2001     subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2002
2003     /* Call Waiting: FeatureActivity, CW-FA (Octet 1 bits GH )          */
2004     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cwfa, tvb, offset, 1, FALSE);
2005     /* Call Forwarding No Answer FeatureActivity, CFNA-FA (Octet 1 bits EF )    */
2006     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfnafa, tvb, offset, 1, FALSE);
2007     /* Call Forwarding Busy FeatureActivity, CFB-FA (Octet 1 bits CD )  */
2008     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfbfa, tvb, offset, 1, FALSE);
2009     /* Call Forwarding Unconditional FeatureActivity, CFU-FA (Octet 1 bits AB ) */
2010     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfufa, tvb, offset, 1, FALSE);
2011     offset++;
2012     length--;
2013
2014     /* Call Transfer: FeatureActivity, CT-FA (Octet 2 bits GH )         */
2015     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ctfa, tvb, offset, 1, FALSE);
2016     /* Voice Privacy FeatureActivity, VP-FA (Octet 2 bits EF )  */
2017     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_vpfa, tvb, offset, 1, FALSE);
2018     /* Call Delivery: FeatureActivity (not interpreted on reception by IS-41-C or later)
2019        CD-FA (Octet 2 bits CD )         */
2020     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cdfa, tvb, offset, 1, FALSE);
2021     /* Three-Way Calling FeatureActivity, 3WC-FA (Octet 2 bits AB )     */
2022     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_3wcfa, tvb, offset, 1, FALSE);
2023     offset++;
2024     length--;
2025
2026
2027     /* Calling Number Identification Restriction Override FeatureActivity CNIROver-FA (Octet 3 bits GH )        */
2028     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cniroverfa, tvb, offset, 1, FALSE);
2029     /* Calling Number Identification Restriction: FeatureActivity CNIR-FA (Octet 3 bits EF )    */
2030     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnirfa, tvb, offset, 1, FALSE);
2031     /* Calling Number Identification Presentation: FeatureActivity CNIP2-FA (Octet 3 bits CD )  */
2032     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnip2fa, tvb, offset, 1, FALSE);
2033     /* Calling Number Identification Presentation: FeatureActivity CNIP1-FA (Octet 3 bits AB )  */
2034     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnip1fa, tvb, offset, 1, FALSE);
2035     length--;
2036     if ( length == 0)
2037         return;
2038     offset++;
2039
2040     /* USCF divert to voice mail: FeatureActivity USCFvm-FA (Octet 4 bits GH )  */
2041     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfvmfa, tvb, offset, 1, FALSE);
2042     /* Answer Hold: FeatureActivity AH-FA (Octet 4 bits EF ) N.S0029-0 v1.0     */
2043     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ahfa, tvb, offset, 1, FALSE);
2044     /* Data Privacy Feature Activity DP-FA (Octet 4 bits CD ) N.S0008-0 v 1.0   */
2045     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_dpfa, tvb, offset, 1, FALSE);
2046     /* Priority Call Waiting FeatureActivity PCW-FA (Octet 4 bits AB )  */
2047     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_pcwfa, tvb, offset, 1, FALSE);
2048     length--;
2049     if ( length == 0)
2050         return;
2051     offset++;
2052
2053     /* USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA (Octet 5 bits AB ) */
2054     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfmsfa, tvb, offset, 1, FALSE);
2055     /* USCF divert to network registered DN:FeatureActivity. USCFnr-FA (Octet 5 bits CD )*/
2056     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfnrfa, tvb, offset, 1, FALSE);
2057     /* CDMA-Packet Data Service: FeatureActivity. CPDS-FA (Octet 5 bits EF ) N.S0029-0 v1.0*/
2058     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cpdsfa, tvb, offset, 1, FALSE);
2059     /* CDMA-Concurrent Service:FeatureActivity. CCS-FA (Octet 5 bits GH ) N.S0029-0 v1.0*/
2060     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ccsfa, tvb, offset, 1, FALSE);
2061     length--;
2062     if ( length == 0)
2063         return;
2064     offset++;
2065
2066     /* TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA (Octet 6 bits AB ) N.S0029-0 v1.0*/
2067     proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_epefa, tvb, offset, 1, FALSE);
2068 }
2069
2070
2071 /* 6.5.2.27 CancellationType */
2072 static const value_string ansi_map_CancellationType_vals[]  = {
2073     {   0, "Not used"},
2074     {   1, "ServingSystemOption"},
2075     {   2, "ReportInCall."},
2076     {   3, "Discontinue"},
2077     {   0, NULL }
2078 };
2079
2080 /* 6.5.2.29 CDMACallMode Updated with N.S0029-0 v1.0*/
2081 /* Call Mode (octet 1, bit A) */
2082 static const true_false_string ansi_map_CDMACallMode_cdma_bool_val  = {
2083   "CDMA 800 MHz channel (Band Class 0) acceptable.",
2084   "CDMA 800 MHz channel (Band Class 0) not acceptable"
2085 };
2086 /* Call Mode (octet 1, bit B) */
2087 static const true_false_string ansi_map_CallMode_amps_bool_val  = {
2088     "AAMPS 800 MHz channel acceptable",
2089     "AMPS 800 MHz channel not acceptable"
2090 };
2091 /* Call Mode (octet 1, bit C) */
2092 static const true_false_string ansi_map_CallMode_namps_bool_val  = {
2093     "NAMPS 800 MHz channel acceptable",
2094     "NAMPS 800 MHz channel not acceptable"
2095 };
2096 /* Call Mode (octet 1, bit D) */
2097 static const true_false_string ansi_map_CDMACallMode_cls1_bool_val  = {
2098     "CDMA 1900 MHz channel (Band Class 1) acceptable.",
2099     "CDMA 1900 MHz channel (Band Class 1) not acceptable"
2100 };
2101 /* Call Mode (octet 1, bit E) */
2102 static const true_false_string ansi_map_CDMACallMode_cls2_bool_val  = {
2103     "TACS channel (Band Class 2) acceptable",
2104     "TACS channel (Band Class 2) not acceptable"
2105 };
2106 /* Call Mode (octet 1, bit F) */
2107 static const true_false_string ansi_map_CDMACallMode_cls3_bool_val  = {
2108     "JTACS channel (Band Class 3) acceptable",
2109     "JTACS channel (Band Class 3) not acceptable"
2110 };
2111 /* Call Mode (octet 1, bit G) */
2112 static const true_false_string ansi_map_CDMACallMode_cls4_bool_val  = {
2113     "Korean PCS channel (Band Class 4) acceptable",
2114     "Korean PCS channel (Band Class 4) not acceptable"
2115 };
2116 /* Call Mode (octet 1, bit H) */
2117 static const true_false_string ansi_map_CDMACallMode_cls5_bool_val  = {
2118     "450 MHz channel (Band Class 5) not acceptable",
2119     "450 MHz channel (Band Class 5) not acceptable"
2120 };
2121 /* Call Mode (octet 2, bit A) */
2122 static const true_false_string ansi_map_CDMACallMode_cls6_bool_val  = {
2123     "2 GHz channel (Band Class 6) acceptable.",
2124     "2 GHz channel (Band Class 6) not acceptable."
2125 };
2126
2127 /* Call Mode (octet 2, bit B) */
2128 static const true_false_string ansi_map_CDMACallMode_cls7_bool_val  = {
2129     "700 MHz channel (Band Class 7) acceptable",
2130     "700 MHz channel (Band Class 7) not acceptable"
2131 };
2132
2133 /* Call Mode (octet 2, bit C) */
2134 static const true_false_string ansi_map_CDMACallMode_cls8_bool_val  = {
2135     "1800 MHz channel (Band Class 8) acceptable",
2136     "1800 MHz channel (Band Class 8) not acceptable"
2137 };
2138 /* Call Mode (octet 2, bit D) */
2139 static const true_false_string ansi_map_CDMACallMode_cls9_bool_val  = {
2140     "900 MHz channel (Band Class 9) acceptable",
2141     "900 MHz channel (Band Class 9) not acceptable"
2142 };
2143 /* Call Mode (octet 2, bit E) */
2144 static const true_false_string ansi_map_CDMACallMode_cls10_bool_val  = {
2145     "Secondary 800 MHz channel (Band Class 10) acceptable.",
2146     "Secondary 800 MHz channel (Band Class 10) not acceptable."
2147 };
2148
2149 static void
2150 dissect_ansi_map_cdmacallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2151     int offset = 0;
2152     int length; 
2153
2154     proto_tree *subtree;
2155
2156     length = tvb_length_remaining(tvb,offset); 
2157
2158
2159     subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2160     /* Call Mode (octet 1, bit H) */
2161     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls5, tvb, offset, 1, FALSE);
2162     /* Call Mode (octet 1, bit G) */
2163     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls4, tvb, offset, 1, FALSE);
2164     /* Call Mode (octet 1, bit F) */
2165     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls3, tvb, offset, 1, FALSE);
2166     /* Call Mode (octet 1, bit E) */
2167     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls2, tvb, offset, 1, FALSE);
2168     /* Call Mode (octet 1, bit D) */
2169     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls1, tvb, offset, 1, FALSE);
2170     /* Call Mode (octet 1, bit C) */
2171     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_namps, tvb, offset, 1, FALSE);
2172     /* Call Mode (octet 1, bit B) */
2173     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_amps, tvb, offset, 1, FALSE);
2174     /* Call Mode (octet 1, bit A) */
2175     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cdma, tvb, offset, 1, FALSE);
2176
2177     length--; 
2178     if ( length == 0)
2179         return;
2180     offset++;
2181
2182     /* Call Mode (octet 2, bit E) */
2183     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls10, tvb, offset, 1, FALSE);
2184     /* Call Mode (octet 2, bit D) */
2185     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls9, tvb, offset, 1, FALSE);
2186     /* Call Mode (octet 2, bit C) */
2187     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls8, tvb, offset, 1, FALSE);
2188     /* Call Mode (octet 2, bit B) */
2189     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls7, tvb, offset, 1, FALSE);
2190     /* Call Mode (octet 2, bit A) */
2191     proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls6, tvb, offset, 1, FALSE);
2192
2193 }
2194 /* 6.5.2.30 CDMAChannelData */
2195 /* Updated with N.S0010-0 v 1.0 */
2196
2197 static const value_string ansi_map_cdmachanneldata_band_cls_vals[]  = {
2198     {   0, "800 MHz Cellular System"},
2199     {   0, NULL }
2200 };
2201
2202 static void
2203 dissect_ansi_map_cdmachanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2204
2205     int offset = 0;
2206     int length; 
2207
2208     proto_tree *subtree;
2209
2210     length = tvb_length_remaining(tvb,offset);
2211
2212
2213     subtree = proto_item_add_subtree(actx->created_item, ett_cdmachanneldata);
2214
2215     proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE);
2216     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_Frame_Offset, tvb, offset, 1, FALSE);
2217     /* CDMA Channel Number */
2218     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_CDMA_ch_no, tvb, offset, 2, FALSE);
2219     offset = offset + 2;
2220     length = length -2;
2221     /* Band Class */
2222     proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE);
2223     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_band_cls, tvb, offset, 1, FALSE);
2224     /* Long Code Mask */
2225     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b6, tvb, offset, 1, FALSE);
2226     offset++;
2227     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b5, tvb, offset, 1, FALSE);
2228     offset++;
2229     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b4, tvb, offset, 1, FALSE);
2230     offset++;
2231     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b3, tvb, offset, 1, FALSE);
2232     offset++;
2233     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b2, tvb, offset, 1, FALSE);
2234     offset++;
2235     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b1, tvb, offset, 1, FALSE);
2236     length = length - 6;
2237     if (length == 0)
2238         return;
2239     offset++;
2240     /* NP_EXT */
2241     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_np_ext, tvb, offset, 1, FALSE);
2242     /* Nominal Power */
2243     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_nominal_pwr, tvb, offset, 1, FALSE);
2244     /* Number Preamble */
2245     proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_nr_preamble, tvb, offset, 1, FALSE);
2246
2247 }
2248 /* 6.5.2.31 CDMACodeChannel */
2249
2250 /* 6.5.2.41 CDMAStationClassMark */
2251 /* Power Class: (PC) (octet 1, bits A and B) */
2252 static const value_string ansi_map_CDMAStationClassMark_pc_vals[]  = {
2253     {   0, "Class I"},
2254     {   1, "Class II"},
2255     {   2, "Class III"},
2256     {   3, "Reserved"},
2257     {   0, NULL }
2258 };
2259 /* Analog Transmission: (DTX) (octet 1, bit C) */
2260 static const true_false_string ansi_map_CDMAStationClassMark_dtx_bool_val  = {
2261     "Discontinuous",
2262     "Continuous"
2263 };
2264 /* Slotted Mode Indicator: (SMI) (octet 1, bit F) */
2265 static const true_false_string ansi_map_CDMAStationClassMark_smi_bool_val  = {
2266     "Slotted capable",
2267     "Slotted incapable"
2268 };
2269 /* Dual-mode Indicator(DMI) (octet 1, bit G) */
2270 static const true_false_string ansi_map_CDMAStationClassMark_dmi_bool_val  = {
2271     "Dual-mode CDMA",
2272     "CDMA only"
2273 };
2274
2275
2276 static void
2277 dissect_ansi_map_cdmastationclassmark(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2278     int offset = 0;
2279
2280     proto_tree *subtree;
2281
2282
2283     subtree = proto_item_add_subtree(actx->created_item, ett_cdmastationclassmark);
2284
2285     proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE);
2286     /* Dual-mode Indicator(DMI) (octet 1, bit G) */
2287     proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_dmi, tvb, offset, 1, FALSE);
2288     /* Slotted Mode Indicator: (SMI) (octet 1, bit F) */
2289     proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_smi, tvb, offset, 1, FALSE);
2290     proto_tree_add_item(subtree, hf_ansi_map_reservedBitED, tvb, offset, 1, FALSE);
2291     /* Analog Transmission: (DTX) (octet 1, bit C) */
2292     proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_dtx, tvb, offset, 1, FALSE);
2293     /* Power Class: (PC) (octet 1, bits A and B) */
2294     proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_pc, tvb, offset, 1, FALSE);
2295 }
2296 /* 6.5.2.47 ChannelData */
2297 /* Discontinuous Transmission Mode (DTX) (octet 1, bits E and D) */
2298 static const value_string ansi_map_ChannelData_dtx_vals[]  = {
2299     {   0, "DTX disabled"},
2300     {   1, "Reserved. Treat the same as value 00, DTX disabled."},
2301     {   2, "DTX-low mode"},
2302     {   3, "DTX mode active or acceptable"},
2303     {   0, NULL }
2304 };
2305
2306
2307 static void
2308 dissect_ansi_map_channeldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2309     int offset = 0;
2310
2311     proto_tree *subtree;
2312
2313
2314     subtree = proto_item_add_subtree(actx->created_item, ett_channeldata);
2315
2316     /* SAT Color Code (SCC) (octet 1, bits H and G) */
2317     proto_tree_add_item(subtree, hf_ansi_map_channeldata_scc, tvb, offset, 1, FALSE);
2318     /* Discontinuous Transmission Mode (DTX) (octet 1, bits E and D) */
2319     proto_tree_add_item(subtree, hf_ansi_map_channeldata_dtx, tvb, offset, 1, FALSE);
2320     /* Voice Mobile Attenuation Code (VMAC) (octet 1, bits A - C)*/
2321     proto_tree_add_item(subtree, hf_ansi_map_channeldata_vmac, tvb, offset, 1, FALSE);
2322
2323     offset++;
2324     /* Channel Number (CHNO) ( octet 2 and 3 ) */
2325     proto_tree_add_item(subtree, hf_ansi_map_channeldata_chno, tvb, offset, 2, FALSE);
2326
2327 }
2328
2329 /* 6.5.2.50 ConfidentialityModes */
2330 /* Updated with N.S0008-0 v 1.0*/
2331 /* Voice Privacy (VP) Confidentiality Status (octet 1, bit A) */
2332
2333 static const true_false_string ansi_map_ConfidentialityModes_bool_val  = {
2334     "On",
2335     "Off"
2336 };
2337 static void
2338 dissect_ansi_map_confidentialitymodes(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2339     int offset = 0;
2340
2341     proto_tree *subtree;
2342
2343
2344     subtree = proto_item_add_subtree(actx->created_item, ett_confidentialitymodes);
2345
2346     /* DataPrivacy (DP) Confidentiality Status (octet 1, bit C) */
2347     proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_dp, tvb, offset, 1, FALSE);
2348     /* Signaling Message Encryption (SE) Confidentiality Status (octet 1, bit B) */
2349     proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_se, tvb, offset, 1, FALSE);
2350     /* Voice Privacy (VP) Confidentiality Status (octet 1, bit A) */
2351     proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_vp, tvb, offset, 1, FALSE);
2352
2353 }
2354
2355 /* 6.5.2.51 ControlChannelData */
2356
2357 /* Digital Color Code (DCC) (octet 1, bit H and G) */
2358 /* Control Mobile Attenuation Code (CMAC) (octet 1, bit A - C) */
2359 /* Channel Number (CHNO) ( octet 2 and 3 ) */
2360 /* Supplementary Digital Color Codes (SDCC1 and SDCC2) */
2361 /* SDCC1 ( octet 4, bit D and C )*/
2362 /* SDCC2 ( octet 4, bit A and B )*/
2363
2364 static void
2365 dissect_ansi_map_controlchanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2366     int offset = 0;
2367
2368     proto_tree *subtree;
2369
2370
2371     subtree = proto_item_add_subtree(actx->created_item, ett_controlchanneldata);
2372
2373     /* Digital Color Code (DCC) (octet 1, bit H and G) */
2374     proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_dcc, tvb, offset, 1, FALSE);
2375     proto_tree_add_item(subtree, hf_ansi_map_reservedBitFED, tvb, offset, 1, FALSE);
2376     /* Control Mobile Attenuation Code (CMAC) (octet 1, bit A - C) */
2377     proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_cmac, tvb, offset, 1, FALSE);
2378     offset++;
2379     /* Channel Number (CHNO) ( octet 2 and 3 ) */
2380     proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_chno, tvb, offset, 2, FALSE);
2381     /* Supplementary Digital Color Codes (SDCC1 and SDCC2) */
2382     offset = offset +2;
2383     /* SDCC1 ( octet 4, bit D and C )*/
2384     proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc1, tvb, offset, 1, FALSE);
2385     proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, FALSE);
2386     /* SDCC2 ( octet 4, bit A and B )*/
2387     proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc2, tvb, offset, 1, FALSE);
2388
2389 }
2390
2391 /* 6.5.2.52 CountUpdateReport */
2392 static const value_string ansi_map_CountUpdateReport_vals[]  = {
2393     {   0, "Class I"},
2394     {   1, "Class II"},
2395     {   2, "Class III"},
2396     {   3, "Reserved"},
2397     {   0, NULL }
2398 };
2399
2400 /* 6.5.2.53 DeniedAuthorizationPeriod */
2401 /* Period (octet 1) */ 
2402 static const value_string ansi_map_deniedauthorizationperiod_period_vals[]  = {
2403     {   0, "Not used"},
2404     {   1, "Per Call. Re-authorization should be attempted on the next call attempt"},
2405     {   2, "Hours"},
2406     {   3, "Days"},
2407     {   4, "Weeks"},
2408     {   5, "Per Agreement"},
2409     {   6, "Reserved"},
2410     {   7, "Number of calls. Re-authorization should be attempted after this number of (rejected) call attempts"},
2411     {   8, "Minutes"},
2412     {   0, NULL }
2413 };
2414 /* Value (octet 2)
2415 Number of minutes hours, days, weeks, or
2416 number of calls (as per Period). If Period
2417 indicates anything else the Value is set to zero
2418 on sending and ignored on receipt. 
2419 */
2420
2421 static void
2422 dissect_ansi_map_deniedauthorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2423
2424     int offset = 0;
2425
2426     proto_tree *subtree;
2427
2428
2429     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2430     proto_tree_add_item(subtree, hf_ansi_map_deniedauthorizationperiod_period, tvb, offset, 1, FALSE);
2431     offset++;
2432     proto_tree_add_item(subtree, hf_ansi_map_value, tvb, offset, 1, FALSE);
2433
2434 }
2435
2436
2437 /* 6.5.2.57 DigitCollectionControl */
2438 /* TODO Add decoding here */
2439
2440 /* 6.5.2.64 ExtendedMSCID */
2441 static const value_string ansi_map_msc_type_vals[]  = {
2442     {   0, "Not specified"},
2443     {   1, "Serving MSC"},
2444     {   2, "Home MSC"},
2445     {   3, "Gateway MSC"},
2446     {   4, "HLR"},
2447     {   5, "VLR"},
2448     {   6, "EIR (reserved)"},
2449     {   7, "AC"},
2450     {   8, "Border MSC"},
2451     {   9, "Originating MSC"},
2452     {   0, NULL }
2453 };
2454
2455 static void
2456 dissect_ansi_map_extendedmscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2457
2458     int offset = 0;
2459
2460     proto_tree *subtree;
2461
2462
2463     subtree = proto_item_add_subtree(actx->created_item, ett_extendedmscid);
2464     /* Type (octet 1) */
2465     proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, FALSE);
2466     offset++;
2467     proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE);
2468     offset = offset + 2;
2469     proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE);
2470
2471 }
2472 /* 6.5.2.65 ExtendedSystemMyTypeCode */
2473 static void
2474 dissect_ansi_map_extendedsystemmytypecode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx){
2475
2476     int offset = 0;
2477
2478     proto_tree *subtree;
2479
2480
2481     subtree = proto_item_add_subtree(actx->created_item, ett_extendedsystemmytypecode);
2482     /* Type (octet 1) */
2483     proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, FALSE);
2484     offset++;
2485     offset = dissect_ansi_map_SystemMyTypeCode(TRUE, tvb, offset, actx, subtree, hf_ansi_map_systemMyTypeCode);
2486 }
2487
2488
2489 /* 6.5.2.68 GeographicAuthorization */
2490 /* Geographic Authorization (octet 1) */
2491 static const value_string ansi_map_GeographicAuthorization_vals[]  = {
2492     {   0, "Not used"},
2493     {   1, "Authorized for all MarketIDs served by the VLR"},
2494     {   2, "Authorized for this MarketID only"},
2495     {   3, "Authorized for this MarketID and Switch Number only"},
2496     {   4, "Authorized for this LocationAreaID within a MarketID only"},
2497     {   5, "VLR"},
2498     {   6, "EIR (reserved)"},
2499     {   7, "AC"},
2500     {   8, "Border MSC"},
2501     {   9, "Originating MSC"},
2502     {   0, NULL }
2503 };
2504
2505 /* 6.5.2.71 HandoffState */
2506 /* Party Involved (PI) (octet 1, bit A) */
2507 static const true_false_string ansi_map_HandoffState_pi_bool_val  = {
2508     "Terminator is handing off",
2509     "Originator is handing off"
2510 };
2511 static void
2512 dissect_ansi_map_handoffstate(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2513
2514     int offset = 0;
2515
2516     proto_tree *subtree;
2517
2518
2519     subtree = proto_item_add_subtree(actx->created_item, ett_handoffstate);
2520     /* Party Involved (PI) (octet 1, bit A) */
2521     proto_tree_add_item(subtree, hf_ansi_map_handoffstate_pi, tvb, offset, 1, FALSE);
2522 }
2523
2524 /* 6.5.2.72 InterMSCCircuitID */
2525 /* Trunk Member Number (M) Octet2 */
2526 static void
2527 dissect_ansi_map_intermsccircuitid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2528
2529     int offset = 0;
2530
2531     proto_tree *subtree;
2532     guint8 octet, octet2;
2533
2534
2535     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2536     /* Trunk Group Number (G) Octet 1 */
2537     octet = tvb_get_guint8(tvb,offset);
2538     proto_tree_add_item(subtree, hf_ansi_map_tgn, tvb, offset, 1, FALSE);
2539     offset++;
2540     /* Trunk Member Number (M) Octet2 */
2541     octet2 = tvb_get_guint8(tvb,offset);
2542     proto_tree_add_item(subtree, hf_ansi_map_tmn, tvb, offset, 1, FALSE);
2543     proto_item_append_text(actx->created_item, " (G %u/M %u)", octet, octet2);
2544 }
2545
2546 /* 6.5.2.78 MessageWaitingNotificationCount */
2547 /* Type of messages (octet 1) */
2548 static const value_string ansi_map_MessageWaitingNotificationCount_type_vals[]  = {
2549     {   0, "Voice messages"},
2550     {   1, "Short Message Services (SMS) messages"},
2551     {   2, "Group 3 (G3) Fax messages"},
2552     {   0, NULL }
2553 };
2554
2555 static void
2556 dissect_ansi_map_messagewaitingnotificationcount(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2557
2558     int offset = 0;
2559
2560     proto_tree *subtree;
2561
2562
2563     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2564     /* Type of messages (octet 1) */
2565     proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationcount_tom, tvb, offset, 1, FALSE);
2566     offset++;
2567     /* Number of Messages Waiting (octet 2) */
2568     proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationcount_no_mw, tvb, offset, 1, FALSE);
2569
2570 }
2571
2572 /* 6.5.2.79 MessageWaitingNotificationType */
2573 /* Pip Tone (PT) (octet 1, bit A) */
2574 static const true_false_string ansi_map_MessageWaitingNotificationType_pt_bool_val  = {
2575     "Pip Tone (PT) notification is required",
2576     "Pip Tone (PT) notification is not authorized or no notification is required"
2577 };
2578 /* Alert Pip Tone (APT) (octet 1, bit B) */
2579 static const true_false_string ansi_map_MessageWaitingNotificationType_apt_bool_val  = {
2580     "Alert Pip Tone (APT) notification is required",
2581     "Alert Pip Tone (APT) notification is not authorized or notification is not required"
2582 };
2583 /* Message Waiting Indication (MWI) (octet 1, bits C and D) */
2584 static const value_string ansi_map_MessageWaitingNotificationType_mwi_vals[]  = {
2585     {   0, "No MWI. Message Waiting Indication (MWI) notification is not authorized or notification is not required"},
2586     {   1, "Reserved"},
2587     {   2, "MWI On. Message Waiting Indication (MWI) notification is required. Messages waiting"},
2588     {   3, "MWI Off. Message Waiting Indication (MWI) notification is required. No messages waiting"},
2589     {   0, NULL }
2590 };
2591
2592 static void
2593 dissect_ansi_map_messagewaitingnotificationtype(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2594
2595     int offset = 0;
2596
2597     proto_tree *subtree;
2598
2599
2600     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2601
2602     /* Message Waiting Indication (MWI) (octet 1, bits C and D) */
2603     proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_mwi, tvb, offset, 1, FALSE);
2604     /* Alert Pip Tone (APT) (octet 1, bit B) */
2605     proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_apt, tvb, offset, 1, FALSE);
2606     /* Pip Tone (PT) (octet 1, bit A) */
2607     proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_pt, tvb, offset, 1, FALSE);
2608 }
2609
2610 /* 6.5.2.81 MobileIdentificationNumber */
2611
2612 /* 6.5.2.82 MSCID */
2613
2614 static void
2615 dissect_ansi_map_mscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2616     int offset = 0;
2617
2618     proto_tree *subtree;
2619
2620
2621     subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2622
2623     proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE);
2624     offset = offset + 2;
2625     proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE);
2626 }
2627
2628
2629 /* 6.5.2.84 MSLocation */
2630 static void
2631 dissect_ansi_map_mslocation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2632     int offset = 0;
2633
2634     proto_tree *subtree;
2635
2636
2637     subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2638
2639     /* Latitude in tenths of a second octet 1 - 3 */
2640     proto_tree_add_item(subtree, hf_ansi_map_mslocation_lat, tvb, offset, 3, FALSE);
2641     offset = offset + 3;
2642     /* Longitude in tenths of a second octet 4 - 6 */
2643     proto_tree_add_item(subtree, hf_ansi_map_mslocation_long, tvb, offset, 3, FALSE);
2644     offset = offset + 3;
2645     /* Resolution in units of 1 foot octet 7, octet 8 optional */
2646     proto_tree_add_item(subtree, hf_ansi_map_mslocation_res, tvb, offset, -1, FALSE);
2647
2648 }
2649 /* 6.5.2.85 NAMPSCallMode */
2650 static void
2651 dissect_ansi_map_nampscallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2652     int offset = 0;
2653     proto_tree *subtree;
2654
2655
2656     subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2657
2658     /* Call Mode (octet 1, bits A and B) */
2659     proto_tree_add_item(subtree, hf_ansi_map_nampscallmode_amps, tvb, offset, 1, FALSE);
2660     proto_tree_add_item(subtree, hf_ansi_map_nampscallmode_namps, tvb, offset, 1, FALSE);
2661 }
2662
2663 /* 6.5.2.86 NAMPSChannelData */
2664 /* Narrow Analog Voice Channel Assignment (NAVCA) (octet 1, bits A and B) */
2665 static const value_string ansi_map_NAMPSChannelData_navca_vals[]  = {
2666     {   0, "Wide. 30 kHz AMPS voice channel"},
2667     {   1, "Upper. 10 kHz NAMPS voice channel"},
2668     {   2, "Middle. 10 kHz NAMPS voice channel"},
2669     {   3, "Lower. 10 kHz NAMPS voice channel"},
2670     {   0, NULL }
2671 };
2672 /* Color Code Indicator (CCIndicator) (octet 1, bits C, D, and E) */
2673 static const value_string ansi_map_NAMPSChannelData_ccinidicator_vals[]  = {
2674     {   0, "ChannelData parameter SCC field applies"},
2675     {   1, "Digital SAT Color Code 1 (ignore SCC field)"},
2676     {   2, "Digital SAT Color Code 2 (ignore SCC field)"},
2677     {   3, "Digital SAT Color Code 3 (ignore SCC field)"},
2678     {   4, "Digital SAT Color Code 4 (ignore SCC field)"},
2679     {   5, "Digital SAT Color Code 5 (ignore SCC field)"},
2680     {   6, "Digital SAT Color Code 6 (ignore SCC field)"},
2681     {   7, "Digital SAT Color Code 7 (ignore SCC field)"},
2682     {   0, NULL }
2683 };
2684
2685
2686
2687 static void
2688 dissect_ansi_map_nampschanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2689     int offset = 0;
2690     proto_tree *subtree;
2691
2692
2693     subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2694
2695     /* Color Code Indicator (CCIndicator) (octet 1, bits C, D, and E) */
2696     proto_tree_add_item(subtree, hf_ansi_map_nampschanneldata_CCIndicator, tvb, offset, 1, FALSE);
2697     /* Narrow Analog Voice Channel Assignment (NAVCA) (octet 1, bits A and B) */
2698     proto_tree_add_item(subtree, hf_ansi_map_nampschanneldata_navca, tvb, offset, 1, FALSE);
2699
2700 }
2701
2702 /* 6.5.2.88 OneTimeFeatureIndicator */
2703 /* updated with N.S0012 */
2704 /* Call Waiting for Future Incoming Call (CWFI) (octet 1, bits A and B) */
2705 /* Call Waiting for Incoming Call (CWIC) (octet 1, bits C and D) */
2706
2707 static const value_string ansi_map_onetimefeatureindicator_cw_vals[]  = {
2708     {   0, "Ignore"},
2709     {   1, "No CW"},
2710     {   2, "Normal CW"},
2711     {   3, "Priority CW"},
2712     {   0, NULL }
2713 };
2714 /* MessageWaitingNotification (MWN) (octet 1, bits E and F) */
2715 static const value_string ansi_map_onetimefeatureindicator_mwn_vals[]  = {
2716     {   0, "Ignore"},
2717     {   1, "Pip Tone Inactive"},
2718     {   2, "Pip Tone Active"},
2719     {   3, "Reserved"},
2720     {   0, NULL }
2721 };
2722 /* Calling Number Identification Restriction (CNIR) (octet 1, bits G and H)*/
2723 static const value_string ansi_map_onetimefeatureindicator_cnir_vals[]  = {
2724     {   0, "Ignore"},
2725     {   1, "CNIR Inactive"},
2726     {   2, "CNIR Active"},
2727     {   3, "Reserved"},
2728     {   0, NULL }
2729 };
2730
2731 /* Priority Access and Channel Assignment (PACA) (octet 2, bits A and B)*/
2732 static const value_string ansi_map_onetimefeatureindicator_paca_vals[]  = {
2733     {   0, "Ignore"},
2734     {   1, "PACA Demand Inactive"},
2735     {   2, "PACA Demand Activated"},
2736     {   3, "Reserved"},
2737     {   0, NULL }
2738 };
2739
2740 /* Flash Privileges (Flash) (octet 2, bits C and D) */
2741 static const value_string ansi_map_onetimefeatureindicator_flash_vals[]  = {
2742     {   0, "Ignore"},
2743     {   1, "Flash Inactive"},
2744     {   2, "Flash Active"},
2745     {   3, "Reserved"},
2746     {   0, NULL }
2747 };
2748 /* Calling Name Restriction (CNAR) (octet 2, bits E and F) */
2749 static const value_string ansi_map_onetimefeatureindicator_cnar_vals[]  = {
2750     {   0, "Ignore"},
2751     {   1, "Presentation Allowed"},
2752     {   2, "Presentation Restricted."},
2753     {   3, "Blocking Toggle"},
2754     {   0, NULL }
2755 };
2756 static void
2757 dissect_ansi_map_onetimefeatureindicator(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2758     int offset = 0;
2759     proto_tree *subtree;
2760
2761
2762     subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2763
2764     /* Calling Number Identification Restriction (CNIR) (octet 1, bits G and H)*/
2765     /* MessageWaitingNotification (MWN) (octet 1, bits E and F) */
2766     /* Call Waiting for Incoming Call (CWIC) (octet 1, bits C and D) */
2767     /* Call Waiting for Future Incoming Call (CWFI) (octet 1, bits A and B) */
2768     offset++;
2769     /* Calling Name Restriction (CNAR) (octet 2, bits E and F) */
2770     /* Flash Privileges (Flash) (octet 2, bits C and D) */
2771     /* Priority Access and Channel Assignment (PACA) (octet 2, bits A and B)*/
2772
2773
2774 }
2775
2776 /* 6.5.2.90 OriginationTriggers */
2777 /* All Origination (All) (octet 1, bit A) */
2778 static const true_false_string ansi_map_originationtriggers_all_bool_val  = {
2779     "Launch an OriginationRequest for any call attempt. This overrides all other values",
2780     "Trigger is not active"
2781 };
2782
2783 /* Local (octet 1, bit B) */
2784 static const true_false_string ansi_map_originationtriggers_local_bool_val  = {
2785     "Launch an OriginationRequest for any local call attempt",
2786     "Trigger is not active"
2787 };
2788
2789 /* Intra-LATA Toll (ILATA) (octet 1, bit C) */
2790 static const true_false_string ansi_map_originationtriggers_ilata_bool_val  = {
2791     "Launch an OriginationRequest for any intra-LATA call attempt",
2792     "Trigger is not active"
2793 };
2794 /* Inter-LATA Toll (OLATA) (octet 1, bit D) */
2795 static const true_false_string ansi_map_originationtriggers_olata_bool_val  = {
2796     "Launch an OriginationRequest for any inter-LATA toll call attempt",
2797     "Trigger is not active"
2798 };
2799 /* International (Int'l ) (octet 1, bit E) */
2800 static const true_false_string ansi_map_originationtriggers_int_bool_val  = {
2801     "Launch an OriginationRequest for any international call attempt",
2802     "Trigger is not active"
2803 };
2804 /* World Zone (WZ) (octet 1, bit F) */
2805 static const true_false_string ansi_map_originationtriggers_wz_bool_val  = {
2806     "Launch an OriginationRequest for any call attempt outside of the current World Zone (as defined in ITU-T Rec. E.164)",
2807     "Trigger is not active"
2808 };
2809
2810 /* Unrecognized Number (Unrec) (octet 1, bit G) */
2811 static const true_false_string ansi_map_originationtriggers_unrec_bool_val  = {
2812     "Launch an OriginationRequest for any call attempt to an unrecognized number",
2813     "Trigger is not active"
2814 };
2815 /* Revertive Call (RvtC) (octet 1, bit H)*/
2816 static const true_false_string ansi_map_originationtriggers_rvtc_bool_val  = {
2817     "Launch an OriginationRequest for any Revertive Call attempt",
2818     "Trigger is not active"
2819 };
2820
2821 /* Star (octet 2, bit A) */
2822 static const true_false_string ansi_map_originationtriggers_star_bool_val  = {
2823     "Launch an OriginationRequest for any number beginning with a Star '*' digit",
2824     "Trigger is not active"
2825 };
2826
2827 /* Double Star (DS) (octet 2, bit B) */
2828 static const true_false_string ansi_map_originationtriggers_ds_bool_val  = {
2829     "Launch an OriginationRequest for any number beginning with two Star '**' digits",
2830     "Trigger is not active"
2831 };
2832 /* Pound (octet 2, bit C) */
2833 static const true_false_string ansi_map_originationtriggers_pound_bool_val  = {
2834     "Launch an OriginationRequest for any number beginning with a Pound '#' digit",
2835     "Trigger is not active"
2836 };
2837 /* Double Pound (DP) (octet 2, bit D) */
2838 static const true_false_string ansi_map_originationtriggers_dp_bool_val  = {
2839     "Launch an OriginationRequest for any number beginning with two Pound '##' digits",
2840     "Trigger is not active"
2841 };
2842 /* Prior Agreement (PA) (octet 2, bit E) */
2843 static const true_false_string ansi_map_originationtriggers_pa_bool_val  = {
2844     "Launch an OriginationRequest for any number matching a criteria of a prior agreement",
2845     "Trigger is not active"
2846 };
2847
2848 /* No digits (octet 3, bit A) */
2849 static const true_false_string ansi_map_originationtriggers_nodig_bool_val  = {
2850     "Launch an OriginationRequest for any call attempt with no digits",
2851     "Trigger is not active"
2852 };
2853
2854 /* 1 digit (octet 3, bit B) */
2855 static const true_false_string ansi_map_originationtriggers_onedig_bool_val  = {
2856     "Launch an OriginationRequest for any call attempt with 1 digit",
2857     "Trigger is not active"
2858 };
2859 /* 1 digit (octet 3, bit C) */
2860 static const true_false_string ansi_map_originationtriggers_twodig_bool_val  = {
2861     "Launch an OriginationRequest for any call attempt with 2 digits",
2862     "Trigger is not active"
2863 };
2864 /* 1 digit (octet 3, bit D) */
2865 static const true_false_string ansi_map_originationtriggers_threedig_bool_val  = {
2866     "Launch an OriginationRequest for any call attempt with 3 digits",
2867     "Trigger is not active"
2868 };
2869 /* 1 digit (octet 3, bit E) */
2870 static const true_false_string ansi_map_originationtriggers_fourdig_bool_val  = {
2871     "Launch an OriginationRequest for any call attempt with 4 digits",
2872     "Trigger is not active"
2873 };
2874 /* 1 digit (octet 3, bit F) */
2875 static const true_false_string ansi_map_originationtriggers_fivedig_bool_val  = {
2876     "Launch an OriginationRequest for any call attempt with 5 digits",
2877     "Trigger is not active"
2878 };
2879 /* 1 digit (octet 3, bit G) */
2880 static const true_false_string ansi_map_originationtriggers_sixdig_bool_val  = {
2881     "Launch an OriginationRequest for any call attempt with 6 digits",
2882     "Trigger is not active"
2883 };
2884 /* 1 digit (octet 3, bit H) */
2885 static const true_false_string ansi_map_originationtriggers_sevendig_bool_val  = {
2886     "Launch an OriginationRequest for any call attempt with 7 digits",
2887     "Trigger is not active"
2888 };
2889 /* 1 digit (octet 4, bit A) */
2890 static const true_false_string ansi_map_originationtriggers_eightdig_bool_val  = {
2891     "Launch an OriginationRequest for any call attempt with 8 digits",
2892     "Trigger is not active"
2893 };
2894 /* 1 digit (octet 4, bit B) */
2895 static const true_false_string ansi_map_originationtriggers_ninedig_bool_val  = {
2896     "Launch an OriginationRequest for any call attempt with 9 digits",
2897     "Trigger is not active"
2898 };
2899 /* 1 digit (octet 4, bit C) */
2900 static const true_false_string ansi_map_originationtriggers_tendig_bool_val  = {
2901     "Launch an OriginationRequest for any call attempt with 10 digits",
2902     "Trigger is not active"
2903 };
2904 /* 1 digit (octet 4, bit D) */
2905 static const true_false_string ansi_map_originationtriggers_elevendig_bool_val  = {
2906     "Launch an OriginationRequest for any call attempt with 11 digits",
2907     "Trigger is not active"
2908 };
2909 /* 1 digit (octet 4, bit E) */
2910 static const true_false_string ansi_map_originationtriggers_twelvedig_bool_val  = {
2911     "Launch an OriginationRequest for any call attempt with 12 digits",
2912     "Trigger is not active"
2913 };
2914 /* 1 digit (octet 4, bit F) */
2915 static const true_false_string ansi_map_originationtriggers_thirteendig_bool_val  = {
2916     "Launch an OriginationRequest for any call attempt with 13 digits",
2917     "Trigger is not active"
2918 };
2919 /* 1 digit (octet 4, bit G) */
2920 static const true_false_string ansi_map_originationtriggers_fourteendig_bool_val  = {
2921     "Launch an OriginationRequest for any call attempt with 14 digits",
2922     "Trigger is not active"
2923 };
2924 /* 1 digit (octet 4, bit H) */
2925 static const true_false_string ansi_map_originationtriggers_fifteendig_bool_val  = {
2926     "Launch an OriginationRequest for any call attempt with 15 digits",
2927     "Trigger is not active"
2928 };
2929
2930 static void
2931 dissect_ansi_map_originationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2932
2933     int offset = 0;
2934     proto_tree *subtree;
2935
2936
2937     subtree = proto_item_add_subtree(actx->created_item, ett_originationtriggers);
2938
2939     /* Revertive Call (RvtC) (octet 1, bit H)*/
2940     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_rvtc, tvb, offset,     1, FALSE);
2941     /* Unrecognized Number (Unrec) (octet 1, bit G) */
2942     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_unrec, tvb, offset,    1, FALSE);
2943     /* World Zone (WZ) (octet 1, bit F) */
2944     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_wz, tvb, offset,       1, FALSE);
2945     /* International (Int'l ) (octet 1, bit E) */
2946     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_int, tvb, offset,      1, FALSE);
2947     /* Inter-LATA Toll (OLATA) (octet 1, bit D) */
2948     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_olata, tvb, offset,    1, FALSE);
2949     /* Intra-LATA Toll (ILATA) (octet 1, bit C) */
2950     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ilata, tvb, offset,    1, FALSE);
2951     /* Local (octet 1, bit B) */
2952     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_local, tvb, offset,    1, FALSE);
2953     /* All Origination (All) (octet 1, bit A) */
2954     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_all, tvb, offset,      1, FALSE);
2955     offset++;
2956
2957     /*Prior Agreement (PA) (octet 2, bit E) */
2958     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_pa, tvb, offset,       1, FALSE);
2959     /* Double Pound (DP) (octet 2, bit D) */
2960     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_dp, tvb, offset,       1, FALSE);
2961     /* Pound (octet 2, bit C) */
2962     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_pound, tvb, offset,    1, FALSE);
2963     /* Double Star (DS) (octet 2, bit B) */
2964     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ds, tvb, offset,       1, FALSE);
2965     /* Star (octet 2, bit A) */
2966     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_star, tvb, offset,     1, FALSE);
2967     offset++;
2968
2969     /* 7 digit (octet 3, bit H) */
2970     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_sevendig, tvb, offset, 1, FALSE);
2971     /* 6 digit (octet 3, bit G) */
2972     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_sixdig, tvb, offset,   1, FALSE);
2973     /* 5 digit (octet 3, bit F) */
2974     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fivedig, tvb, offset,  1, FALSE);
2975     /* 4 digit (octet 3, bit E) */
2976     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fourdig, tvb, offset,  1, FALSE);
2977     /* 3 digit (octet 3, bit D) */
2978     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_threedig, tvb, offset, 1, FALSE);
2979     /* 2 digit (octet 3, bit C) */
2980     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_twodig, tvb, offset,   1, FALSE);
2981     /* 1 digit (octet 3, bit B) */
2982     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_onedig, tvb, offset,   1, FALSE);
2983     /* No digits (octet 3, bit A) */
2984     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_nodig, tvb, offset,    1, FALSE);
2985     offset++;
2986
2987     /* 15 digit (octet 4, bit H) */
2988     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fifteendig, tvb, offset,       1, FALSE);
2989     /* 14 digit (octet 4, bit G) */
2990     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fourteendig, tvb, offset,      1, FALSE);
2991     /* 13 digit (octet 4, bit F) */
2992     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_thirteendig, tvb, offset,      1, FALSE);
2993     /* 12 digit (octet 4, bit E) */
2994     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_twelvedig, tvb, offset,        1, FALSE);
2995     /* 11 digit (octet 4, bit D) */
2996     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_elevendig, tvb, offset,        1, FALSE);
2997     /* 10 digit (octet 4, bit C) */
2998     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_tendig, tvb, offset,   1, FALSE);
2999     /* 9 digit (octet 4, bit B) */
3000     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ninedig, tvb, offset,  1, FALSE);
3001     /* 8 digits (octet 4, bit A) */
3002     proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_eightdig, tvb, offset, 1, FALSE);
3003
3004 }
3005
3006 /* 6.5.2.91 PACAIndicator */
3007
3008 /* Permanent Activation (PA) (octet 1, bit A) */
3009 static const true_false_string ansi_map_pacaindicator_pa_bool_val  = {
3010     "PACA is permanently activated",
3011     "PACA is not permanently activated"
3012 };
3013
3014 static const value_string ansi_map_PACA_Level_vals[]  = {
3015     {   0, "Not used"},
3016     {   1, "Priority Level. 1 This is the highest level"},
3017     {   2, "Priority Level 2"},
3018     {   3, "Priority Level 3"},
3019     {   4, "Priority Level 4"},
3020     {   5, "Priority Level 5"},
3021     {   6, "Priority Level 6"},
3022     {   7, "Priority Level 7"},
3023     {   8, "Priority Level 8"},
3024     {   8, "Priority Level 9"},
3025     {   10, "Priority Level 10"},
3026     {   11, "Priority Level 11"},
3027     {   12, "Priority Level 12"},
3028     {   13, "Priority Level 13"},
3029     {   14, "Priority Level 14"},
3030     {   15, "Priority Level 15"},
3031     {   0, NULL }
3032 };
3033
3034 static void
3035 dissect_ansi_map_pacaindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3036
3037     int offset = 0;
3038     proto_tree *subtree;
3039
3040
3041     subtree = proto_item_add_subtree(actx->created_item, ett_pacaindicator);
3042     /* PACA Level (octet 1, bits B-E) */
3043     proto_tree_add_item(subtree, hf_ansi_map_PACA_Level, tvb, offset,   1, FALSE);
3044     /* Permanent Activation (PA) (octet 1, bit A) */
3045     proto_tree_add_item(subtree, hf_ansi_map_pacaindicator_pa, tvb, offset,     1, FALSE);
3046 }
3047
3048 /* 6.5.2.92 PageIndicator */
3049 static const value_string ansi_map_PageIndicator_vals[]  = {
3050     {   0, "Not used"},
3051     {   1, "Page"},
3052     {   2, "Listen only"},
3053     {   0, NULL }
3054 };
3055
3056 /* 6.5.2.93 PC_SSN */
3057 static void
3058 dissect_ansi_map_pc_ssn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3059
3060     int offset = 0;
3061     proto_tree *subtree;
3062     guint8 b1,b2,b3,b4;
3063
3064
3065     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
3066     /* Type (octet 1) */
3067     proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, FALSE);
3068     offset++;
3069     /* Point Code Member Number octet 2 */
3070     b1 = tvb_get_guint8(tvb,offset);
3071     offset++;
3072     /* Point Code Cluster Number octet 3 */
3073     b2 = tvb_get_guint8(tvb,offset);
3074     offset++;
3075     /* Point Code Network Number octet 4 */
3076     b3 = tvb_get_guint8(tvb,offset);
3077     offset++;
3078     /* Subsystem Number (SSN) octet 5 */
3079     b4 = tvb_get_guint8(tvb,offset);
3080     proto_tree_add_text(subtree, tvb, offset-3, 4 , "Point Code %u-%u-%u  SSN %u",
3081                         b3, b2, b1, b4);
3082
3083 }
3084 /* 6.5.2.94 PilotBillingID */
3085 static void
3086 dissect_ansi_map_pilotbillingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3087
3088     int offset = 0;
3089     proto_tree *subtree;
3090
3091
3092     subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
3093     /* First Originating MarketID octet 1 and 2 */
3094     proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE);
3095     offset = offset + 2;
3096     /* First Originating Switch Number octet 3*/
3097     proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE);
3098     offset++;
3099     /* ID Number */
3100     proto_tree_add_item(subtree, hf_ansi_map_idno, tvb, offset, 3, FALSE);
3101     offset = offset + 3;
3102     proto_tree_add_item(subtree, hf_ansi_map_segcount, tvb, offset, 1, FALSE);
3103
3104 }
3105 /* 6.5.2.96 PreferredLanguageIndicator */
3106 static const value_string ansi_map_PreferredLanguageIndicator_vals[]  = {
3107     {   0, "Unspecified"},
3108     {   1, "English"},
3109     {   2, "French"},
3110     {   3, "Spanish"},
3111     {   4, "German"},
3112     {   5, "Portuguese"},
3113     {   0, NULL }
3114 };
3115
3116 /* 6.5.2.106 ReceivedSignalQuality */
3117 /* a. This octet is encoded the same as octet 1 in the SignalQuality parameter (see
3118    6.5.2.121).
3119 */
3120 /* 6.5.2.118 SetupResult */
3121 static const value_string ansi_map_SetupResult_vals[]  = {
3122     {   0, "Not used"},
3123     {   1, "Unsuccessful"},
3124     {   2, "Successful"},
3125     {   0, NULL }
3126 };
3127 /* 6.5.2.121 SignalQuality */
3128 /* TODO */
3129
3130 /*      6.5.2.122 SMS_AccessDeniedReason (TIA/EIA-41.5-D, page 5-256)
3131         N.S0011-0 v 1.0
3132 */
3133 static const value_string ansi_map_SMS_AccessDeniedReason_vals[]  = {
3134     {   0, "Not used"},
3135     {   1, "Denied"},
3136     {   2, "Postponed"},
3137     {   3, "Unavailable"},
3138     {   4, "Invalid"},
3139     {   0, NULL }
3140 };
3141
3142
3143 /* 6.5.2.125 SMS_CauseCode (TIA/EIA-41.5-D, page 5-262)
3144    N.S0011-0 v 1.0
3145 */
3146 static const value_string ansi_map_SMS_CauseCode_vals[]  = {
3147     {   0, "Address vacant"},
3148     {   1, "Address translation failure"},
3149     {   2, "Network resource shortage"},
3150     {   3, "Network failure"},
3151     {   4, "Invalid Teleservice ID"},
3152     {   5, "Other network problem"},
3153     {   6, "Unsupported network interface"},
3154     {   8, "CDMA handset-based position determination failure"},
3155     {   9, "CDMA handset-based position determination resources released - voice service request"},
3156     {   10, "CDMA handset-based position determination resources released - voice service request - message acknowledged"},
3157     {   11, "Reserved"},
3158     {   12, "Reserved"},
3159     {   13, "Reserved"},
3160     {   14, "Emergency Services Call Precedence"},
3161     {   32, "No page response"},
3162     {   33, "Destination busy"},
3163     {   34, "No acknowledgment"},
3164     {   35, "Destination resource shortage"},
3165     {   36, "SMS delivery postponed"},
3166     {   37, "Destination out of service"},
3167     {   38, "Destination no longer at this address"},
3168     {   39, "Other terminal problem"},
3169     {   64, "Radio interface resource shortage"},
3170     {   65, "Radio interface incompatibility"},
3171     {   66, "Other radio interface problem"},
3172     {   67, "Unsupported Base Station Capability"},
3173     {   96, "Encoding problem"},
3174     {   97, "Service origination denied"},
3175     {   98, "Service termination denied"},
3176     {   99, "Supplementary service not supported"},
3177     {   100, "Service not supported"},
3178     {   101, "Reserved"},
3179     {   102, "Missing expected parameter"},
3180     {   103, "Missing mandatory parameter"},
3181     {   104, "Unrecognized parameter value"},
3182     {   105, "Unexpected parameter value"},
3183     {   106, "User Data size error"},
3184     {   107, "Other general problems"},
3185     {   108, "Session not active"},
3186     {   109, "Reserved"},
3187     {   110, "MS Disconnect"},
3188     {   0, NULL }
3189 };
3190
3191 /* 6.5.2.126 SMS_ChargeIndicator */
3192 /* SMS Charge Indicator (octet 1) */
3193 static const value_string ansi_map_SMS_ChargeIndicator_vals[]  = {
3194     {   0, "Not used"},
3195     {   1, "No charge"},
3196     {   2, "Charge original originator"},
3197     {   3, "Charge original destination"},
3198     {   0, NULL }
3199 };
3200 /*      4 through 63 Reserved. Treat the same as value 1, No charge.
3201         64 through 127 Reserved. Treat the same as value 2, Charge original originator.
3202         128 through 223 Reserved. Treat the same as value 3, Charge original destination.
3203         224 through 255 Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 2, Charge
3204         original originator.
3205 */
3206
3207 /* 6.5.2.130 SMS_NotificationIndicator N.S0005-0 v 1.0*/
3208 static const value_string ansi_map_SMS_NotificationIndicator_vals[]  = {
3209     {   0, "Not used"},
3210     {   1, "Notify when available"},
3211     {   2, "Do not notify when available"},
3212     {   0, NULL }
3213 };
3214
3215 /* 6.5.2.136 SMS_OriginationRestrictions */
3216 /* DEFAULT (octet 1, bits A and B) */
3217
3218 static const value_string ansi_map_SMS_OriginationRestrictions_default_vals[]  = {
3219     {   0, "Block all"},
3220     {   1, "Reserved"},
3221     {   1, "Allow specific"},
3222     {   1, "Allow all"},
3223     {   0, NULL }
3224 };
3225 /* DIRECT (octet 1, bit C) */
3226 static const true_false_string ansi_map_SMS_OriginationRestrictions_direct_bool_val  = {
3227     "Allow Direct",
3228     "Block Direct"
3229 };
3230
3231 /* Force Message Center (FMC) (octet 1, bit D) */
3232 static const true_false_string ansi_map_SMS_OriginationRestrictions_fmc_bool_val  = {
3233     "Force Indirect",
3234     "No effect"
3235 };
3236
3237 static void
3238 dissect_ansi_map_sms_originationrestrictions(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3239
3240     int offset = 0;
3241     proto_tree *subtree;
3242
3243
3244     subtree = proto_item_add_subtree(actx->created_item, ett_sms_originationrestrictions);
3245     proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, FALSE);
3246     proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_fmc, tvb, offset, 1, FALSE);
3247     proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_direct, tvb, offset, 1, FALSE);
3248     proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_default, tvb, offset, 1, FALSE);
3249
3250 }
3251
3252 /* 6.5.2.137 SMS_TeleserviceIdentifier */
3253 /* Updated with N.S0011-0 v 1.0 */
3254
3255 /* SMS Teleservice Identifier (octets 1 and 2) */
3256 static const value_string ansi_map_SMS_TeleserviceIdentifier_vals[]  = {
3257     {     0, "Not used"},
3258     {     1, "Reserved for maintenance"},
3259     {     2, "SSD Update no response"},
3260     {     3, "SSD Update successful"},
3261     {     4, "SSD Update failed"},
3262     {  4096, "AMPS Extended Protocol Enhanced Services" },
3263     {  4097, "CDMA Cellular Paging Teleservice" },
3264     {  4098, "CDMA Cellular Messaging Teleservice" },
3265     {  4099, "CDMA Voice Mail Notification" },
3266     { 32513, "TDMA Cellular Messaging Teleservice" },
3267     { 32520, "TDMA System Assisted Mobile Positioning through Satellite (SAMPS)" },
3268     { 32584, "TDMA Segmented System Assisted Mobile Positioning Service" },
3269     {     0, NULL }
3270 };
3271 /* 6.5.2.140 SPINITriggers */
3272 /* All Origination (All) (octet 1, bit A) */
3273
3274 /* 6.5.2.142 SSDUpdateReport */
3275 static const value_string ansi_map_SSDUpdateReport_vals[]  = {
3276     {       0, "Not used"},
3277     {    4096, "AMPS Extended Protocol Enhanced Services"},
3278     {    4097, "CDMA Cellular Paging Teleservice"},
3279     {    4098, "CDMA Cellular Messaging Teleservice"},
3280     {   32513, "TDMA Cellular Messaging Teleservice"},
3281     {   32514, "TDMA Cellular Paging Teleservice (CPT-136)"},
3282     {   32515, "TDMA Over-the-Air Activation Teleservice (OATS)"},
3283     {   32516, "TDMA Over-the-Air Programming Teleservice (OPTS)"},
3284     {   32517, "TDMA General UDP Transport Service (GUTS)"},
3285     {   32576, "Reserved"},
3286     {   32577, "TDMA Segmented Cellular MessagingTeleservice"},
3287     {   32578, "TDMA Segmented Cellular Paging Teleservice"},
3288     {   32579, "TDMA Segmented Over-the-Air Activation Teleservice (OATS)"},
3289     {   32580, "TDMA Segmented Over-the-Air Programming Teleservice (OPTS)."},
3290     {   32581, "TDMA Segmented General UDP Transport Service (GUTS)"},
3291     {   32576, "Reserved"},
3292     {       0, NULL }
3293 };
3294
3295 /* 6.5.2.143 StationClassMark */
3296
3297 /* 6.5.2.144 SystemAccessData */
3298
3299 /* 6.5.2.146 SystemCapabilities */
3300 /* Updated in N.S0008-0 v 1.0 */
3301 static const true_false_string ansi_map_systemcapabilities_auth_bool_val  = {
3302     "Authentication parameters were requested on this system access (AUTH=1 in the OMT)",
3303     "Authentication parameters were not requested on this system access (AUTH=0 in the OMT)."
3304 };
3305
3306 static const true_false_string ansi_map_systemcapabilities_se_bool_val  = {
3307     "Signaling Message Encryption supported by the system",
3308     "Signaling Message Encryption not supported by the system"
3309 };
3310
3311 static const true_false_string ansi_map_systemcapabilities_vp_bool_val  = {
3312     "Voice Privacy supported by the system",
3313     "Voice Privacy not supported by the system"
3314 };
3315
3316 static const true_false_string ansi_map_systemcapabilities_cave_bool_val  = {
3317     "System can execute the CAVE algorithm and share SSD for the indicated MS",
3318     "System cannot execute the CAVE algorithm and cannot share SSD for the indicated MS"
3319 };
3320
3321 static const true_false_string ansi_map_systemcapabilities_ssd_bool_val  = {
3322     "SSD is shared with the system for the indicated MS",
3323     "SSD is not shared with the system for the indicated MS"
3324 };
3325
3326 static const true_false_string ansi_map_systemcapabilities_dp_bool_val  = {
3327     "DP is supported by the system",
3328     "DP is not supported by the system"
3329 };
3330
3331 static void
3332 dissect_ansi_map_systemcapabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3333
3334     int offset = 0;
3335     proto_tree *subtree;
3336
3337
3338     subtree = proto_item_add_subtree(actx->created_item, ett_systemcapabilities);
3339     proto_tree_add_item(subtree, hf_ansi_map_reservedBitHG, tvb, offset, 1, FALSE);
3340     proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_dp, tvb, offset, 1, FALSE);
3341     proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_ssd, tvb, offset, 1, FALSE);
3342     proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_cave, tvb, offset, 1, FALSE);
3343     proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_vp, tvb, offset, 1, FALSE);
3344     proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_se, tvb, offset, 1, FALSE);
3345     proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_auth, tvb, offset, 1, FALSE);
3346 }
3347
3348 /* 6.5.2.151 TDMABurstIndicator */
3349 /* 6.5.2.152 TDMACallMode */
3350 /* 6.5.2.153 TDMAChannelData Updated in N.S0007-0 v 1.0*/
3351
3352 /* 6.5.2.155 TerminationAccessType */
3353 /* XXX Fix Me, Fill up the values or do special decoding? */
3354 static const value_string ansi_map_TerminationAccessType_vals[]  = {
3355     {   0, "Not used"},
3356     {   1, "Reserved for controlling system assignment (may be a trunk group identifier)."},
3357     /* 1 through  127 */
3358     { 127, "Reserved for controlling system assignment (may be a trunk group identifier)."},
3359     { 128, "Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 253, Land-to-Mobile Directory Number access"},
3360     /* 128 through  160 */
3361     { 160, "Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 253, Land-to-Mobile Directory Number access"},
3362     { 161, "Reserved for this Standard"},
3363     /* 161 through  251 */
3364     { 151, "Reserved for this Standard"},
3365     { 252, "Mobile-to-Mobile Directory Number access"},
3366     { 253, "Land-to-Mobile Directory Number access"},
3367     { 254, "Remote Feature Control port access"},
3368     { 255, "Roamer port access"},
3369     {   0, NULL }
3370 };
3371
3372 /* 6.5.2.158 TerminationTreatment */
3373 static const value_string ansi_map_TerminationTreatment_vals[]  = {
3374     {   0, "Not used"},
3375     {   1, "MS Termination"},
3376     {   2, "Voice Mail Storage"},
3377     {   3, "Voice Mail Retrieval"},
3378     {   4, "Dialogue Termination"},
3379     {   0, NULL }
3380 };
3381
3382 /* 6.5.2.159 TerminationTriggers */
3383 /* Busy (octet 1, bits A and B) */
3384 static const value_string ansi_map_terminationtriggers_busy_vals[]  = {
3385     {   0, "Busy Call"},
3386     {   1, "Busy Trigger"},
3387     {   2, "Busy Leg"},
3388     {   3, "Reserved. Treat as an unrecognized parameter value"},
3389     {   0, NULL }
3390 };
3391 /* Routing Failure (RF) (octet 1, bits C and D) */
3392 static const value_string ansi_map_terminationtriggers_rf_vals[]  = {
3393     {   0, "Failed Call"},
3394     {   1, "Routing Failure Trigger"},
3395     {   2, "Failed Leg"},
3396     {   3, "Reserved. Treat as an unrecognized parameter value"},
3397     {   0, NULL }
3398 };
3399 /* No Page Response (NPR) (octet 1, bits E and F) */
3400 static const value_string ansi_map_terminationtriggers_npr_vals[]  = {
3401     {   0, "No Page Response Call"},
3402     {   1, "No Page Response Trigger"},
3403     {   2, "No Page Response Leg"},
3404     {   3, "Reserved. Treat as an unrecognized parameter value"},
3405     {   0, NULL }
3406 };
3407 /* No Answer (NA) (octet 1, bits G and H) */
3408 static const value_string ansi_map_terminationtriggers_na_vals[]  = {
3409     {   0, "No Answer Call"},
3410     {   1, "No Answer Trigger"},
3411     {   2, "No Answer Leg"},
3412     {   3, "Reserved"},
3413     {   0, NULL }
3414 };
3415 /* None Reachable (NR) (octet 2, bit A) */
3416 static const value_string ansi_map_terminationtriggers_nr_vals[]  = {
3417     {   0, "Member Not Reachable"},
3418     {   1, "Group Not Reachable"},
3419     {   0, NULL }
3420 };
3421
3422 /* 6.5.2.159 TerminationTriggers N.S0005-0 v 1.0*/
3423 static void
3424 dissect_ansi_map_terminationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3425
3426     int offset = 0;
3427     proto_tree *subtree;
3428
3429
3430     subtree = proto_item_add_subtree(actx->created_item, ett_transactioncapability);
3431
3432     proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE);
3433     /* No Page Response (NPR) (octet 1, bits E and F) */
3434     proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_npr, tvb, offset, 1, FALSE);
3435     /* No Answer (NA) (octet 1, bits G and H) */
3436     proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_na, tvb, offset, 1, FALSE);
3437     /* Routing Failure (RF) (octet 1, bits C and D) */
3438     proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_rf, tvb, offset, 1, FALSE);
3439     /* Busy (octet 1, bits A and B) */
3440     proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_busy, tvb, offset, 1, FALSE);
3441     offset++;
3442
3443     /* None Reachable (NR) (octet 2, bit A) */
3444     proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_nr, tvb, offset, 1, FALSE);
3445 }
3446
3447 /* 6.5.2.160 TransactionCapability (TIA/EIA-41.5-D, page 5-315) */
3448 /* Updated with N.S0010-0 v 1.0, N.S0012-0 v 1.0 N.S0013-0 v 1.0 */
3449 static const true_false_string ansi_map_trans_cap_prof_bool_val  = {
3450     "The system is capable of supporting the IS-41-C profile parameters",
3451     "The system is not capable of supporting the IS-41-C profile parameters"
3452 };
3453
3454 static const true_false_string ansi_map_trans_cap_busy_bool_val  = {
3455     "The system is capable of detecting a busy condition at the current time",
3456     "The system is not capable of detecting a busy condition at the current time"
3457 };
3458
3459 static const true_false_string ansi_map_trans_cap_ann_bool_val  = {
3460     "The system is capable of honoring the AnnouncementList parameter at the current time",
3461     "The system is not capable of honoring the AnnouncementList parameter at the current time"
3462 };
3463
3464 static const true_false_string ansi_map_trans_cap_rui_bool_val  = {
3465     "The system is capable of interacting with the user",
3466     "The system is not capable of interacting with the user"
3467 };
3468
3469 static const true_false_string ansi_map_trans_cap_spini_bool_val  = {
3470     "The system is capable of supporting local SPINI operation",
3471     "The system is not capable of supporting local SPINI operation at the current time"
3472 };
3473
3474 static const true_false_string ansi_map_trans_cap_uzci_bool_val  = {
3475     "The system is User Zone capable at the current time",
3476     "The system is not User Zone capable at the current time"
3477 };
3478 static const true_false_string ansi_map_trans_cap_ndss_bool_val  = {
3479     "Serving system is NDSS capable",
3480     "Serving system is not NDSS capable"
3481 };
3482 static const true_false_string ansi_map_trans_cap_nami_bool_val  = {
3483     "The system is CNAP/CNAR capable",
3484     "The system is not CNAP/CNAR capable"
3485 };
3486
3487 static const value_string ansi_map_trans_cap_multerm_vals[]  = {
3488     {   0, "The system cannot accept a termination at this time (i.e., cannot accept routing information)"},
3489     {   1, "The system supports the number of call legs indicated"},
3490     {   2, "The system supports the number of call legs indicated"},
3491     {   3, "The system supports the number of call legs indicated"},
3492     {   4, "The system supports the number of call legs indicated"},
3493     {   5, "The system supports the number of call legs indicated"},
3494     {   6, "The system supports the number of call legs indicated"},
3495     {   7, "The system supports the number of call legs indicated"},
3496     {   8, "The system supports the number of call legs indicated"},
3497     {   9, "The system supports the number of call legs indicated"},
3498     {   10, "The system supports the number of call legs indicated"},
3499     {   11, "The system supports the number of call legs indicated"},
3500     {   12, "The system supports the number of call legs indicated"},
3501     {   13, "The system supports the number of call legs indicated"},
3502     {   14, "The system supports the number of call legs indicated"},
3503     {   15, "The system supports the number of call legs indicated"},
3504     {   0, NULL }
3505 };
3506
3507 static const true_false_string ansi_map_trans_cap_tl_bool_val  = {
3508     "The system is capable of supporting the TerminationList parameter at the current time",
3509     "The system is not capable of supporting the TerminationList parameter at the current time"
3510 };
3511
3512 static const true_false_string ansi_map_trans_cap_waddr_bool_val  = {
3513     "The system is capable of supporting the TriggerAddressList parameter",
3514     "The system is not capable of supporting the TriggerAddressList parameter"
3515 };
3516
3517
3518 static void
3519 dissect_ansi_map_transactioncapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3520
3521     int offset = 0;
3522     proto_tree *subtree;
3523
3524
3525     subtree = proto_item_add_subtree(actx->created_item, ett_transactioncapability);
3526
3527     /*NAME Capability Indicator (NAMI) (octet 1, bit H) */
3528     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_nami, tvb, offset, 1, FALSE);
3529     /* NDSS Capability (NDSS) (octet 1, bit G) */
3530     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_ndss, tvb, offset, 1, FALSE);
3531     /* UZ Capability Indicator (UZCI) (octet 1, bit F) */
3532     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_uzci, tvb, offset, 1, FALSE);
3533     /* Subscriber PIN Intercept (SPINI) (octet 1, bit E) */
3534     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_spini, tvb, offset, 1, FALSE);
3535     /* Remote User Interaction (RUI) (octet 1, bit D) */
3536     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_rui, tvb, offset, 1, FALSE);
3537     /* Announcements (ANN) (octet 1, bit C) */
3538     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_ann, tvb, offset, 1, FALSE);
3539     /* Busy Detection (BUSY) (octet 1, bit B) */
3540     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_busy, tvb, offset, 1, FALSE);
3541     /* Profile (PROF) (octet 1, bit A) */
3542     proto_tree_add_item(subtree, hf_ansi_map_trans_cap_prof, tvb, offset, 1, FALSE);
3543     offset++;
3544
3545     /* WIN Addressing (WADDR) (octet 2, bit F) */
3546     proto_tree_add_item(subtree, hf_ansi_trans_cap_waddr, tvb, offset, 1, FALSE);
3547     /* TerminationList (TL) (octet 2, bit E) */
3548     proto_tree_add_item(subtree, hf_ansi_trans_cap_tl, tvb, offset, 1, FALSE);
3549     /* Multiple Terminations (octet 2, bits A-D) */
3550     proto_tree_add_item(subtree, hf_ansi_trans_cap_multerm, tvb, offset, 1, FALSE);
3551 }
3552
3553 /* 6.5.2.162 UniqueChallengeReport */
3554 /* Unique Challenge Report (octet 1) */
3555 static const value_string ansi_map_UniqueChallengeReport_vals[]  = {
3556     {   0, "Not used"},
3557     {   1, "Unique Challenge not attempted"},
3558     {   2, "Unique Challenge no response"},
3559     {   3, "Unique Challenge successful"},
3560     {   4, "Unique Challenge failed"},
3561     {   0, NULL }
3562 };
3563
3564 /* 6.5.2.166 VoicePrivacyMask */
3565
3566
3567 /* 6.5.2.e (TSB76) CDMAServiceConfigurationRecord N.S0008-0 v 1.0 */
3568 /* a. This field carries the CDMA Service Configuration Record. The bit-layout is the
3569    same as that of Service Configuration Record in TSB74, and J-STD-008.
3570 */
3571
3572 /* 6.5.2.f CDMAServiceOption N.S0010-0 v 1.0 */
3573
3574 /* values copied from old ANSI map dissector */
3575 static const range_string cdmaserviceoption_vals[] = {
3576     { 1, 1, "Basic Variable Rate Voice Service (8 kbps)" }, 
3577     { 2, 2, "Mobile Station Loopback (8 kbps)" }, 
3578     { 3, 3, "Enhanced Variable Rate Voice Service (8 kbps)" }, 
3579     { 4, 4, "Asynchronous Data Service (9.6 kbps)" }, 
3580     { 5, 5, "Group 3 Facsimile (9.6 kbps)" },
3581     { 6, 6, "Short Message Services (Rate Set 1)" }, 
3582     { 7, 7, "Packet Data Service: Internet or ISO Protocol Stack (9.6 kbps)" }, 
3583     { 8, 8, "Packet Data Service: CDPD Protocol Stack (9.6 kbps)" }, 
3584     { 9, 9, "Mobile Station Loopback (13 kbps)" }, 
3585     { 10, 10, "STU-III Transparent Service" }, 
3586     { 11, 11, "STU-III Non-Transparent Service" }, 
3587     { 12, 12, "Asynchronous Data Service (14.4 or 9.6 kbps)" }, 
3588     { 13, 13, "Group 3 Facsimile (14.4 or 9.6 kbps)" }, 
3589     { 14, 14, "Short Message Services (Rate Set 2)" }, 
3590     { 15, 15, "Packet Data Service: Internet or ISO Protocol Stack (14.4 kbps)" }, 
3591     { 16, 16, "Packet Data Service: CDPD Protocol Stack (14.4 kbps)" }, 
3592     { 17, 17, "High Rate Voice Service (13 kbps)" }, 
3593     { 18, 18, "Over-the-Air Parameter Administration (Rate Set 1)" }, 
3594     { 19, 19, "Over-the-Air Parameter Administration (Rate Set 2)" }, 
3595     { 20, 20, "Group 3 Analog Facsimile (Rate Set 1)" }, 
3596     { 21, 21, "Group 3 Analog Facsimile (Rate Set 2)" }, 
3597     { 22, 22, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS1 reverse)" }, 
3598     { 23, 23, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS2 reverse)" }, 
3599     { 24, 24, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS1 reverse)" }, 
3600     { 25, 25, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS2 reverse)" },
3601     { 26, 26, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS1 reverse)" }, 
3602     { 27, 27, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS2 reverse)" }, 
3603     { 28, 28, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS1 reverse)" }, 
3604     { 29, 29, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS2 reverse)" }, 
3605     { 30, 30, "Supplemental Channel Loopback Test for Rate Set 1" }, 
3606     { 31, 31, "Supplemental Channel Loopback Test for Rate Set 2" }, 
3607     { 32, 32, "Test Data Service Option (TDSO)" }, 
3608     { 33, 33, "cdma2000 High Speed Packet Data Service, Internet or ISO Protocol Stack" }, 
3609     { 34, 34, "cdma2000 High Speed Packet Data Service, CDPD Protocol Stack" }, 
3610     { 35, 35, "Location Services, Rate Set 1 (9.6 kbps)" },
3611     { 36, 36, "Location Services, Rate Set 2 (14.4 kbps)" }, 
3612     { 37, 37, "ISDN Interworking Service (64 kbps)" }, 
3613     { 38, 38, "GSM Voice" }, 
3614     { 39, 39, "GSM Circuit Data" }, 
3615     { 40, 40, "GSM Packet Data" }, 
3616     { 41, 41, "GSM Short Message Service" }, 
3617     { 42, 42, "None Reserved for MC-MAP standard service options" }, 
3618     { 54, 54, "Markov Service Option (MSO)" }, 
3619     { 55, 55, "Loopback Service Option (LSO)" },
3620     { 56, 56, "Selectable Mode Vocoder" }, 
3621     { 57, 57, "32 kbps Circuit Video Conferencing" }, 
3622     { 58, 58, "64 kbps Circuit Video Conferencing" }, 
3623     { 59, 59, "HRPD Accounting Records Identifier" }, 
3624     { 60, 60, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Removal" }, 
3625     { 61, 61, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Compression" }, 
3626     { 62, 62, "Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB) Rate Set 2" },
3627     { 63, 63, "Source-Controlled Variable-Rate Multimode Wideband Speech Codec (VMR-WB) Rate Set 1" },
3628     { 64, 64, "HRPD auxiliary Packet Data Service instance" },
3629     { 65, 65, "cdma2000/GPRS Inter-working" },
3630     { 66, 66, "cdma2000 High Speed Packet Data Service, Internet or ISO Protocol Stack" },
3631     { 67, 67, "HRPD Packet Data IP Service where Higher Layer Protocol is IP or ROHC" },
3632     { 68, 68, "Enhanced Variable Rate Voice Service (EVRC-B)" }, 
3633     { 69, 69, "HRPD Packet Data Service, which when used in paging over the 1x air interface, a page response is required" },
3634     { 70, 70, "Enhanced Variable Rate Voice Service (EVRC-WB)" }, 
3635     { 71, 4099, "None Reserved for standard service options" }, 
3636     { 4100, 4100, "Asynchronous Data Service, Revision 1 (9.6 or 14.4 kbps)" }, 
3637     { 4101, 4101, "Group 3 Facsimile, Revision 1 (9.6 or 14.4 kbps)" }, 
3638     { 4102, 4102, "Reserved for standard service option" },
3639     { 4103, 4103, "Packet Data Service: Internet or ISO Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" }, 
3640     { 4104, 4104, "Packet Data Service: CDPD Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" }, 
3641     { 4105, 32767, "Reserved for standard service options" }, 
3642     { 32768, 32768, "QCELP (13 kbps)" }, 
3643     { 32769, 32771, "Proprietary QUALCOMM Incorporated" }, 
3644     { 32772, 32775, "Proprietary OKI Telecom" }, 
3645     { 32776, 32779, "Proprietary Lucent Technologies" }, 
3646     { 32780, 32783, "Nokia" }, 
3647     { 32784, 32787, "NORTEL NETWORKS" }, 
3648     { 32788, 32791, "Sony Electronics Inc" }, 
3649     { 32792, 32795, "Motorola" }, 
3650     { 32796, 32799, "QUALCOMM Incorporated" }, 
3651     { 32800, 32803, "QUALCOMM Incorporated" }, 
3652     { 32804, 32807, "QUALCOMM Incorporated" }, 
3653     { 32808, 32811, "QUALCOMM Incorporated" }, 
3654     { 32812, 32815, "Lucent Technologies" }, 
3655     { 32816, 32819, "Denso International" }, 
3656     { 32820, 32823, "Motorola" }, 
3657     { 32824, 32827, "Denso International" }, 
3658     { 32828, 32831, "Denso International" }, 
3659     { 32832, 32835, "Denso International" }, 
3660     { 32836, 32839, "NEC America" },
3661     { 32840, 32843, "Samsung Electronics" },
3662     { 32844, 32847, "Texas Instruments Incorporated" },
3663     { 32848, 32851, "Toshiba Corporation" },
3664     { 32852, 32855, "LG Electronics Inc." },
3665     { 32856, 32859, "VIA Telecom Inc." },
3666     { 0,           0,          NULL                   }
3667 };
3668
3669 static void
3670 dissect_ansi_map_cdmaserviceoption(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3671     int offset = 0;
3672     proto_tree *subtree;
3673
3674
3675     subtree = proto_item_add_subtree(actx->created_item, ett_cdmaserviceoption);
3676
3677     proto_tree_add_item(subtree, hf_ansi_map_cdmaserviceoption, tvb, offset, 2, FALSE);
3678
3679
3680 }
3681 /* 6.5.2.f (TSB76) CDMAServiceOption N.S0008-0 v 1.0*/
3682 /* This field carries the CDMA Service Option. The bit-layout is the same as that of
3683    Service Option in TSB74 and J-STD-008.*/
3684
3685 /* 6.5.2.i (IS-730) TDMAServiceCode N.S0008-0 v 1.0 */
3686 static const value_string ansi_map_TDMAServiceCode_vals[]  = {
3687     {   0, "Analog Speech Only"},
3688     {   1, "Digital Speech Only"},
3689     {   2, "Analog or Digital Speech, Analog Preferred"},
3690     {   3, "Analog or Digital Speech, Digital Preferred"},
3691     {   4, "Asynchronous Data"},
3692     {   5, "G3 Fax"},
3693     {   6, "Not Used (Service Rejected)"},
3694     {   7, "STU-III"},
3695     {   0, NULL }
3696 };
3697 /* 6.5.2.j (IS-730) TDMATerminalCapability N.S0008-0 v 1.0 Updted with N.S0015-0 */
3698 /* Supported Frequency Band (octet 1) */
3699 /* Voice Coder (octet 2) */
3700 /* Protocol Version (octet 3) N.S0015-0 */
3701 static const value_string ansi_map_TDMATerminalCapability_prot_ver_vals[]  = {
3702     {   0, "EIA-553 or IS-54-A"},
3703     {   1, "TIA/EIA-627.(IS-54-B)"},
3704     {   2, "IS-136"},
3705     {   3, "Permanently Reserved (ANSI J-STD-011).Treat the same as value 4, IS-136-A."},
3706     {   4, "PV 0 as published in TIA/EIA-136-0 and IS-136-A."},
3707     {   5, "PV 1 as published in TIA/EIA-136-A."},
3708     {   6, "PV 2 as published in TIA/EIA-136-A."},
3709     {   7, "PV 3 as published in TIA/EIA-136-A."},
3710     {   0, NULL }
3711 };
3712 /* Asynchronous Data (ADS) (octet 4, bit A) N.S0007-0*/
3713 /* Group 3 Fax (G3FAX) (octet 4, bit B) */
3714 /* Secure Telephone Unit III (STU3) (octet 4, bit C) */
3715 /* Analog Voice (AVOX) (octet 4, bit D) */
3716 /* Half Rate (HRATE) (octet 4, bit E) */
3717 /* Full Rate (FRATE) (octet 4, bit F) */
3718 /* Double Rate (2RATE) (octet 4, bit G) */
3719 /* Triple Rate (3RATE) (octet 4, bit H) */
3720
3721
3722 /* 6.5.2.k (IS-730)) TDMAVoiceCoder N.S0008-0 v 1.0, N.S0007-0 */
3723 /* VoiceCoder (octet 1) */
3724
3725 /* 6.5.2.p UserZoneData N.S0015-0 */
3726
3727 /* 6.5.2.aa BaseStationManufacturerCode N.S0007-0 v 1.0 */
3728 /* The BaseStationManufacturerCode (BSMC) parameter specifies the manufacturer of the
3729    base station that is currently serving the MS (see IS-136 for enumeration of values).*/
3730
3731 /* 6.5.2.ab BSMCStatus */
3732
3733 /* BSMC Status (octet 1) */
3734 static const value_string ansi_map_BSMCStatus_vals[]  = {
3735     {   0, "Same BSMC Value shall not be supported"},
3736     {   1, "Same BSMC Value shall be supported"},
3737     {   0, NULL }
3738 };
3739
3740 /*- 6.5.2.ac ControlChannelMode (N.S0007-0 v 1.0)*/
3741 static const value_string ansi_map_ControlChannelMode_vals[]  = {
3742     {   0, "Unknown"},
3743     {   1, "MS is in Analog CC Mode"},
3744     {   2, "MS is in Digital CC Mode"},
3745     {   3, "MS is in NAMPS CC Mode"},
3746     {   0, NULL }
3747 };
3748
3749 /* 6.5.2.ad NonPublicData N.S0007-0 v 1.0*/
3750 /* NP Only Service (NPOS) (octet 1, bits A and B) */
3751 /* Charging Area Tone Service (CATS) (octet 1, bits C - F) */
3752 /* PSID/RSID Download Order (PRDO) (octet 1, bits G and H) */
3753
3754 /* 6.5.2.ae PagingFrameClass N.S0007-0 v 1.0*/
3755 /* Paging Frame Class (octet 1) */
3756
3757 static const value_string ansi_map_PagingFrameClass_vals[]  = {
3758     {   0, "PagingFrameClass 1 (1.28 seconds)"},
3759     {   1, "PagingFrameClass 2 (2.56 seconds)"},
3760     {   2, "PagingFrameClass 3 (3.84 seconds)"},
3761     {   3, "PagingFrameClass 4 (7.68 seconds)"},
3762     {   4, "PagingFrameClass 5 (15.36 seconds)"},
3763     {   5, "PagingFrameClass 6 (30.72 seconds)"},
3764     {   6, "PagingFrameClass 7 (61.44 seconds)"},
3765     {   7, "PagingFrameClass 8 (122.88 seconds)"},
3766     {   8, "Reserved. Treat the same as value 0, PagingFrameClass 1"},
3767     {   0, NULL }
3768 };
3769
3770 /* 6.5.2.af PSID_RSIDInformation N.S0007-0 v 1.0*/
3771 /* PSID/RSID Indicator (octet 1, bit A) */
3772 /* PSID/RSID Type (octet 1, bits B-D) */
3773
3774 /* 6.5.2.ah ServicesResult N.S0007-0 v 1.0*/
3775 /* PSID/RSID Download Result (PRDR) (octet 1, bits A and B) */
3776 static const value_string ansi_map_ServicesResult_ppr_vals[]  = {
3777     {   0, "No Indication"},
3778     {   1, "Unsuccessful PSID/RSID download"},
3779     {   2, "Successful PSID/RSID download"},
3780     {   3, "Reserved. Treat the same as value 0, No Indication"},
3781     {   0, NULL }
3782 };
3783
3784 /* 6.5.2.ai SOCStatus N.S0007-0 v 1.0*/
3785
3786 /* SOC Status (octet 1) */
3787 static const value_string ansi_map_SOCStatus_vals[]  = {
3788     {   0, "Same SOC Value shall not be supported"},
3789     {   1, "Same SOC Value shall be supported"},
3790     {   0, NULL }
3791 };
3792
3793 /* 6.5.2.aj SystemOperatorCode N.S0007-0 v 1.0*/
3794 /* The SystemOperatorCode (SOC) parameter specifies the system operator that is currently
3795    providing service to a MS (see IS-136 for enumeration of values) */
3796
3797 /* 6.5.2.al UserGroup N.S0007-0 v 1.0*/
3798
3799 /* 6.5.2.am UserZoneData N.S0007-0 v 1.0*/
3800
3801
3802 /*Table 6.5.2.ay TDMABandwidth value N.S0008-0 v 1.0 */
3803 static const value_string ansi_map_TDMABandwidth_vals[]  = {
3804     {   0, "Half-Rate Digital Traffic Channel Only"},
3805     {   1, "Full-Rate Digital Traffic Channel Only"},
3806     {   2, "Half-Rate or Full-rate Digital Traffic Channel - Full-Rate Preferred"},
3807     {   3, "Half-rate or Full-rate Digital Traffic Channel - Half-rate Preferred"},
3808     {   4, "Double Full-Rate Digital Traffic Channel Only"},
3809     {   5, "Triple Full-Rate Digital Traffic Channel Only"},
3810     {   6, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3811     {   7, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3812     {   8, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3813     {   9, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3814     {   10, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3815     {   11, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3816     {   12, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3817     {   13, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3818     {   14, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3819     {   15, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3820     {   0, NULL }
3821
3822 };
3823
3824 /* 6.5.2.az TDMADataFeaturesIndicator N.S0008-0 v 1.0 */
3825 /* TDMADataFeaturesIndicator 
3826    ansi_map_FeatureActivity_vals
3827
3828    ADS FeatureActivity ADS-FA ( octet 1 bit A and B )
3829    G3 Fax FeatureActivity G3FAX-FA ( octet 1 bit C and D )
3830    STU-III FeatureActivity STUIII-FA ( octet 1 bit E and F )
3831    Half Rate data FeatureActivity HRATE-FA ( octet 2 bit A and B )
3832    Full Rate data FeatureActivity FRATE-FA ( octet 2 bit C and D )
3833    Double Rate data FeatureActivity 2RATE-FA ( octet 2 bit E and F )
3834    Triple Rate data FeatureActivity 3RATE-FA ( octet g bit G and H )
3835
3836    Table 6.5.2.azt TDMADataFeaturesIndicator value
3837    static const value_string ansi_map_TDMADataFeaturesIndicator_vals[]  = {
3838    {   0, "Not Used"},
3839    {   1, "Not Authorized"},
3840    {   2, "Authorized, but de-activated"},
3841    {   3, "Authorized and activated"},
3842    {   0, NULL }
3843
3844    };
3845 */
3846
3847 /* 6.5.2.ba TDMADataMode N.S0008-0 v 1.0*/
3848
3849 /* 6.5.2.bb TDMAVoiceMode */
3850
3851 /* 6.5.2.bb CDMAConnectionReference N.S0008-0 v 1.0 */
3852 /* Service Option Connection Reference Octet 1 */
3853 /*      a. This field carries the CDMA Service Option Connection Reference. The bitlayout
3854         is the same as that of Service Option Connection Reference in TSB74 and
3855         J-STD-008.
3856 */
3857
3858 /* 6.5.2.ad CDMAState N.S0008-0 v 1.0 */
3859 /* Service Option State Octet 1 */
3860 /* a. This field carries the CDMA Service Option State information. The CDMA
3861    Service Option State is defined in the current CDMA Service Options standard.
3862    If CDMA Service Option State is not explicitly defined within a section of the
3863    relevant CDMA Service Option standard, the CDMA Service Option State shall
3864    carry the value of the ORD_Q octet of all current Service Option Control Orders
3865    (see IS-95), or the contents of all current CDMA Service Option Control
3866    Messages (see TSB74) type specific field for this connection reference. */
3867
3868 /* 6.5.2.aj SecondInterMSCCircuitID */
3869 /* -- XXX Same code as ISLPinformation???
3870    dissect_ansi_map_secondintermsccircuitid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree){
3871
3872    int offset = 0;
3873
3874    proto_tree *subtree;
3875
3876
3877    subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
3878    / Trunk Group Number (G) Octet 1 /
3879    proto_tree_add_item(subtree, hf_ansi_map_tgn, tvb, offset, 1, FALSE);
3880    offset++;
3881    / Trunk Member Number (M) Octet2 /
3882    proto_tree_add_item(subtree, hf_ansi_map_tmn, tvb, offset, 1, FALSE);
3883    }
3884 */
3885 /* 6.5.2.as ChangeServiceAttributes N.S0008-0 v 1.0 */
3886 /* Change Facilities Flag (CHGFAC)(octet 1, bits A - B) */
3887 static const value_string ansi_map_ChangeServiceAttributes_chgfac_vals[]  = {
3888     {   0, "Change Facilities Operation Requested"},
3889     {   1, "Change Facilities Operation Not Requested"},
3890     {   2, "Change Facilities Operation Used"},
3891     {   3, "Change Facilities Operation Not Used"},
3892     {   0, NULL }
3893 };
3894 /* Service Negotiate Flag (SRVNEG)(octet 1, bits C - D) */
3895 static const value_string ansi_map_ChangeServiceAttributes_srvneg_vals[]  = {
3896     {   0, "Service Negotiation Used"},
3897     {   1, "Service Negotiation Not Used"},
3898     {   2, "Service Negotiation Required"},
3899     {   3, "Service Negotiation Not Required"},
3900     {   0, NULL }
3901 };
3902 /* 6.5.2.au DataPrivacyParameters N.S0008-0 v 1.0*/
3903 /* Privacy Mode (PM) (octet 1, Bits A and B) */
3904 static const value_string ansi_map_DataPrivacyParameters_pm_vals[]  = {
3905     {   0, "Privacy inactive or not supported"},
3906     {   1, "Privacy Requested or Acknowledged"},
3907     {   2, "Reserved. Treat reserved values the same as value 0, Privacy inactive or not supported."},
3908     {   3, "Reserved. Treat reserved values the same as value 0, Privacy inactive or not supported."},
3909     {   0, NULL }
3910 };
3911 /* Data Privacy Version (PM) (octet 2) */
3912 static const value_string ansi_map_DataPrivacyParameters_data_priv_ver_vals[]  = {
3913     {   0, "Not used"},
3914     {   1, "Data Privacy Version 1"},
3915     {   0, NULL }
3916 };
3917
3918 /* 6.5.2.av ISLPInformation N.S0008-0 v 1.0*/
3919 /* ISLP Type (octet 1) */
3920 static const value_string ansi_map_islp_type_vals[]  = {
3921     {   0, "No ISLP supported"},
3922     {   1, "ISLP supported"},
3923     {   0, NULL }
3924 };
3925 /* 6.5.2.bc AnalogRedirectInfo */
3926 /* Sys Ordering (octet 1, bits A-E) */
3927 /* Ignore CDMA (IC) (octet 1, bit F) */
3928
3929 /* 6.5.2.be CDMAChannelNumber N.S0010-0 v 1.0*/
3930
3931 /* 6.5.2.bg CDMAPowerCombinedIndicator N.S0010-0 v 1.0*/
3932
3933 /* 6.5.2.bi CDMASearchParameters N.S0010-0 v 1.0*/
3934
3935 /* 6.5.2.bk CDMANetworkIdentification N.S0010-0 v 1.0*/
3936 /* See CDMA [J-STD-008] for encoding of this field. */
3937
3938 /* 6.5.2.bo RequiredParametersMask N.S0010-0 v 1.0 */
3939
3940 /* 6.5.2.bp ServiceRedirectionCause */
3941 static const value_string ansi_map_ServiceRedirectionCause_type_vals[]  = {
3942     {   0, "Not used"},
3943     {   1, "NormalRegistration"},
3944     {   2, "SystemNotFound."},
3945     {   3, "ProtocolMismatch."},
3946     {   4, "RegistrationRejection."},
3947     {   5, "WrongSID."},
3948     {   6, "WrongNID.."},
3949     {   0, NULL }
3950 };
3951
3952 /* 6.5.2.bq ServiceRedirectionInfo  N.S0010-0 v 1.0 */
3953
3954 /* 6.5.2.br RoamingIndication N.S0010-0 v 1.0*/
3955 /* See CDMA [TSB58] for the definition of this field. */
3956
3957 /* 6.5.2.bw CallingPartyName N.S0012-0 v 1.0*/
3958
3959 /* Presentation Status (octet 1, bits A and B) */
3960 static const value_string ansi_map_Presentation_Status_vals[]  = {
3961     {   0, "Presentation allowed"},
3962     {   1, "Presentation restricted"},
3963     {   2, "Blocking toggle"},
3964     {   3, "No indication"},
3965     {   0, NULL }
3966 };
3967 /* Availability (octet 1, bit E) N.S0012-0 v 1.0*/
3968 static const true_false_string ansi_map_Availability_bool_val  = {
3969     "Name not available",
3970     "Name available/unknown"
3971 };
3972 static void
3973 dissect_ansi_map_callingpartyname(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3974
3975     proto_tree *subtree;
3976
3977     subtree = proto_item_add_subtree(actx->created_item, ett_callingpartyname);
3978     /* Availability (octet 1, bit E) N.S0012-0 v 1.0*/
3979
3980     /* Presentation Status (octet 1, bits A and B) */
3981
3982
3983
3984 }
3985
3986
3987 /* 6.5.2.bx DisplayText N.S0012-0 v 1.0*/
3988 /* a. Refer to ANSI T1.610 for field encoding. */
3989
3990 /* 6.5.2.bz ServiceID
3991    Service Identifier (octets 1 to n)
3992    0 Not used.
3993    1 Calling Name Presentation - No RND.
3994    2 Calling Name Presentation with RND.
3995 */
3996
3997 /* 6.5.2.co GlobalTitle N.S0013-0 v 1.0
3998  * Refer to Section 3 of ANSI T1.112 for the encoding of this field.
3999  */
4000 /* Address Indicator octet 1 */
4001 /* Global Title Octet 2 - n */
4002
4003
4004 /* 6.5.2.dc SpecializedResource N.S0013-0 v 1.0*/
4005 /* Resource Type (octet 1) */
4006 static const value_string ansi_map_resource_type_vals[]  = {
4007     {   0, "Not used"},
4008     {   1, "DTMF tone detector"},
4009     {   2, "Automatic Speech Recognition - Speaker Independent - Digits"},
4010     {   3, "Automatic Speech Recognition - Speaker Independent - Speech User Interface Version 1"},
4011     {   0, NULL }
4012 };
4013 /* 6.5.2.df TriggerCapability */
4014 /* Updated with N.S0004 N.S0013-0 v 1.0*/
4015
4016 static const true_false_string ansi_map_triggercapability_bool_val  = {
4017     "triggers can be armed by the TriggerAddressList parameter",
4018     "triggers cannot be armed by the TriggerAddressList parameter"
4019 };
4020
4021 static void
4022 dissect_ansi_map_triggercapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
4023
4024     int offset = 0;
4025     proto_tree *subtree;
4026
4027
4028     subtree = proto_item_add_subtree(actx->created_item, ett_triggercapability);
4029
4030
4031     /* O_No_Answer (ONA) (octet 1, bit H)*/
4032     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_ona, tvb, offset,        1, FALSE);
4033     /* O_Disconnect (ODISC) (octet 1, bit G)*/
4034     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_odisc, tvb, offset,      1, FALSE);
4035     /* O_Answer (OANS) (octet 1, bit F)*/
4036     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_oans, tvb, offset,       1, FALSE);
4037     /* Origination_Attempt_Authorized (OAA) (octet 1, bit E)*/
4038     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_oaa, tvb, offset,        1, FALSE);
4039     /* Revertive_Call (RvtC) (octet 1, bit D)*/
4040     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_rvtc, tvb, offset,       1, FALSE);
4041     /* All_Calls (All) (octet 1, bit C)*/
4042     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_all, tvb, offset,        1, FALSE);
4043     /* K-digit (K-digit) (octet 1, bit B)*/
4044     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_kdigit, tvb, offset,     1, FALSE);
4045     /* Introducing Star/Pound (INIT) (octet 1, bit A) */
4046     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_init, tvb, offset,       1, FALSE);
4047     offset++;
4048
4049
4050     /* O_Called_Party_Busy (OBSY) (octet 2, bit H)*/
4051     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_obsy, tvb, offset,       1, FALSE);
4052     /* Called_Routing_Address_Available (CdRAA) (octet 2, bit G)*/
4053     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_cdraa, tvb, offset,      1, FALSE);
4054     /* Initial_Termination (IT) (octet 2, bit F)*/
4055     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_it, tvb, offset,         1, FALSE);
4056     /* Calling_Routing_Address_Available (CgRAA)*/
4057     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_cgraa, tvb, offset,      1, FALSE);
4058     /* Advanced_Termination (AT) (octet 2, bit D)*/
4059     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_at, tvb, offset,         1, FALSE);
4060     /* Prior_Agreement (PA) (octet 2, bit C)*/
4061     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_pa, tvb, offset,         1, FALSE);
4062     /* Unrecognized_Number (Unrec) (octet 2, bit B)*/
4063     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_unrec, tvb, offset,      1, FALSE);
4064     /* Call Types (CT) (octet 2, bit A)*/
4065     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_ct, tvb, offset,         1, FALSE);
4066     offset++;
4067     /* */
4068     /* */
4069     /* */
4070     /* T_Disconnect (TDISC) (octet 3, bit E)*/
4071     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tdisc, tvb, offset,      1, FALSE);
4072     /* T_Answer (TANS) (octet 3, bit D)*/
4073     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tans, tvb, offset,       1, FALSE);
4074     /* T_No_Answer (TNA) (octet 3, bit C)*/
4075     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tna, tvb, offset,        1, FALSE);
4076     /* T_Busy (TBusy) (octet 3, bit B)*/
4077     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tbusy, tvb, offset,      1, FALSE);
4078     /* Terminating_Resource_Available (TRA) (octet 3, bit A) */
4079     proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tra, tvb, offset,        1, FALSE);
4080
4081 }
4082 /* 6.5.2.ei DMH_ServiceID N.S0018 */
4083
4084 /* 6.5.2.dj WINOperationsCapability */
4085 /* Updated with N.S0004 */
4086 /* ConnectResource (CONN) (octet 1, bit A) */
4087 static const true_false_string ansi_map_winoperationscapability_conn_bool_val  = {
4088     "Sender is capable of supporting the ConnectResource, DisconnectResource, ConnectionFailureReport and ResetTimer (SSFT timer) operations",
4089     "Sender is not capable of supporting the ConnectResource, DisconnectResource,ConnectionFailureReport and ResetTimer (SSFT timer) operations"
4090 };
4091
4092 /* CallControlDirective (CCDIR) (octet 1, bit B) */
4093 static const true_false_string ansi_map_winoperationscapability_ccdir_bool_val  = {
4094     "Sender is capable of supporting the CallControlDirective operation",
4095     "Sender is not capable of supporting the CallControlDirective operation"
4096 };
4097
4098 /* PositionRequest (POS) (octet 1, bit C) */
4099 static const true_false_string ansi_map_winoperationscapability_pos_bool_val  = {
4100     "Sender is capable of supporting the PositionRequest operation",
4101     "Sender is not capable of supporting the PositionRequest operation"
4102 };
4103 static void
4104 dissect_ansi_map_winoperationscapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
4105
4106     int offset = 0;
4107     proto_tree *subtree;
4108
4109     subtree = proto_item_add_subtree(actx->created_item, ett_winoperationscapability);
4110
4111     /* PositionRequest (POS) (octet 1, bit C) */
4112     proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_pos, tvb, offset,  1, FALSE);
4113     /* CallControlDirective (CCDIR) (octet 1, bit B) */
4114     proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_ccdir, tvb, offset,        1, FALSE);
4115     /* ConnectResource (CONN) (octet 1, bit A) */
4116     proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_conn, tvb, offset, 1, FALSE);
4117
4118 }
4119 /*
4120  * 6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301
4121  * Code to be found after include functions.
4122  */
4123
4124 /* 6.5.2.ei TIA/EIA-41.5-D Modifications N.S0018Re */
4125 /* Octet 1,2 1st MarketID */
4126 /* Octet 3 1st MarketSegmentID */
4127 /* Octet 4,5 1st DMH_ServiceID value */
4128 /* Second marcet ID etc */
4129 /* 6.5.2.ek ControlNetworkID N.S0018*/
4130 static void
4131 dissect_ansi_map_controlnetworkid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
4132
4133     int offset = 0;
4134     proto_tree *subtree;
4135
4136
4137     subtree = proto_item_add_subtree(actx->created_item, ett_controlnetworkid);
4138     /* MarketID octet 1 and 2 */
4139     proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE);
4140     offset = offset + 2;
4141     /* Switch Number octet 3*/
4142     proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE);
4143     offset++;
4144 }
4145
4146
4147 /* 6.5.2.dk WIN_TriggerList N.S0013-0 v 1.0 */
4148
4149 /* 6.5.2.ec DisplayText2 Updated in N.S0015-0*/
4150
4151 /* 6.5.2.eq MSStatus N.S0004 */
4152
4153 /* 6.5.2.er PositionInformationCode N.S0004 */
4154
4155 /* 6.5.2.fd InterMessageTime N.S0015-0*/
4156 /* Timer value (in 10s of seconds) octet 1 */
4157
4158 /* 6.5.2.fe MSIDUsage N.S0015-0 */
4159 /* M and I Report (octet 1, bits A and B) */
4160 static const value_string ansi_MSIDUsage_m_or_i_vals[]  = {
4161     {   0, "Not used"},
4162     {   1, "MIN last used"},
4163     {   2, "IMSI last used"},
4164     {   3, "Reserved"},
4165     {   0, NULL }
4166 };
4167
4168 /* 6.5.2.ff NewMINExtension N.S0015-0 */
4169
4170 /* 6.5.2.fv ACGEncountered N.S0023-0 v 1.0 */
4171 /* ACG Encountered (octet 1, bits A-F) */
4172 static const value_string ansi_ACGEncountered_vals[]  = {
4173     {   0, "PC_SSN"},
4174     {   1, "1-digit control"},
4175     {   2, "2-digit control"},
4176     {   3, "3-digit control"},
4177     {   4, "4-digit control"},
4178     {   5, "5-digit control"},
4179     {   6, "6-digit control"},
4180     {   7, "7-digit control"},
4181     {   8, "8-digit control"},
4182     {   9, "9-digit control"},
4183     {   10, "10-digit control"},
4184     {   11, "11-digit control"},
4185     {   12, "12-digit control"},
4186     {   13, "13-digit control"},
4187     {   14, "14-digit control"},
4188     {   15, "15-digit control"},
4189     {   0, NULL }
4190 };
4191 /* Control Type (octet 1, bits G-H) */
4192 static const value_string ansi_ACGEncountered_cntrl_type_vals[]  = {
4193     {   0, "Not used."},
4194     {   1, "Service Management System Initiated control encountered"},
4195     {   2, "SCF Overload control encountered"},
4196     {   3, "Reserved. Treat the same as value 0, Not used."},
4197     {   0, NULL }
4198 };
4199
4200 /* 6.5.2.fw ControlType N.S0023-0 v 1.0 */
4201
4202
4203
4204 /* 6.5.2.ge QoSPriority N.S0029-0 v1.0*/
4205 /* 6.5.2.xx QOSPriority */
4206 /* Non-Assured Priority (octet 1, bits A-D) */
4207 static const value_string ansi_map_Priority_vals[]  = {
4208     {   0, "Priority Level 0. This is the lowest level"},
4209     {   1, "Priority Level 1"},
4210     {   2, "Priority Level 2"},
4211     {   3, "Priority Level 3"},
4212     {   4, "Priority Level 4"},
4213     {   5, "Priority Level 5"},
4214     {   6, "Priority Level 6"},
4215     {   7, "Priority Level 7"},
4216     {   8, "Priority Level 8"},
4217     {   8, "Priority Level 9"},
4218     {   10, "Priority Level 10"},
4219     {   11, "Priority Level 11"},
4220     {   12, "Priority Level 12"},
4221     {   13, "Priority Level 13"},
4222     {   14, "Reserved"},
4223     {   15, "Reserved"},
4224     {   0, NULL }
4225 };
4226 /* Assured Priority (octet 1, bits E-H)*/
4227
4228
4229 /* 6.5.2.gf PDSNAddress N.S0029-0 v1.0*/
4230 /* a. See IOS Handoff Request message for the definition of this field. */
4231
4232 /* 6.5.2.gg PDSNProtocolType N.S0029-0 v1.0*/
4233 /* See IOS Handoff Request message for the definition of this field. */
4234
4235 /* 6.5.2.gh CDMAMSMeasuredChannelIdentity N.S0029-0 v1.0*/
4236
4237 /* 6.5.2.gl CallingPartyCategory N.S0027*/
4238 /* a. Refer to ITU-T Q.763 (Signalling System No. 7  ISDN user part formats and
4239    codes) for encoding of this parameter.
4240    b. Refer to national ISDN user part specifications for definitions and encoding of the
4241    reserved for national use values.
4242 */
4243 /* 6.5.2.gm CDMA2000HandoffInvokeIOSData N.S0029-0 v1.0*/
4244 /* IOS A1 Element Handoff Invoke Information */
4245
4246
4247 /* 6.5.2.gn CDMA2000HandoffResponseIOSData */
4248 /* IOS A1 Element Handoff Response Information N.S0029-0 v1.0*/
4249
4250 /* 6.5.2.gr CDMAServiceOptionConnectionIdentifier N.S0029-0 v1.0*/
4251
4252 /* 6.5.2.fk GeographicPosition */
4253 /* Calling Geodetic Location (CGL)
4254  * a. See T1.628 for encoding.
4255  * b. Ignore extra octets, if received. Send only defined (or significant) octets.
4256  */
4257 /* 6.5.2.fs PositionRequestType (See J-STD-036, page 8-47) X.S0002-0 v2.0
4258  */
4259
4260 /* Position Request Type (octet 1, bits A-H) */
4261 /*
4262   static const value_string ansi_map_Position_Request_Type_vals[]  = {
4263   {   0, "Not used"},
4264   {   1, "Initial Position"},
4265   {   2, "Return the updated position"},
4266   {   3, "Return the updated or last known position"},
4267   {   4, "Reserved for LSP interface"},
4268   {   5, "Initial Position Only"},
4269   {   6, "Return the last known position"},
4270   {   7, "Return the updated position based on the serving cell identity"},
4271 */
4272 /*
4273   values through 95 Reserved. Treat the same as value 1, Initial position.
4274   96 through 255 Reserved for TIA/EIA-41 protocol extension. If unknown, treat the
4275   same as value 1, Initial position.
4276   *
4277   {     0, NULL }
4278   };
4279
4280 */
4281
4282 /* LCS Client Type (CTYP) (octet 2, bit A) *
4283    0 Emergency services LCS Client.
4284    1 Non-emergency services LCS Client.
4285    Call-Related Indicator (CALL) (octet 2, bit B)
4286    Decimal Value Meaning
4287    0 Call-related LCS Client request.
4288    1 Non call-related LCS Client request.
4289
4290    Current Serving Cell Information for Coarse Position Determination (CELL) (octet 2, bit C)
4291    Decimal Value Meaning
4292    0 No specific request.
4293    1 Current serving cell information. Current serving cell information for
4294    Target MS requested. Radio contact with Target MS is required.
4295 */
4296 /* 6.5.2.ft PositionResult *
4297    static const value_string ansi_map_PositionResult_vals[]  = {
4298    {   0, "Not used"},
4299    {   1, "Initial position returned"},
4300    {   2, "Updated position returned"},
4301    {   3, "Last known position returned"},
4302    {   4, "Requested position is not available"},
4303    {   5, "Target MS disconnect"},
4304    {   6, "Target MS has handed-off"},
4305    {   7, "Identified MS is inactive or has roamed to another system"},
4306    {   8, "Unresponsive"},
4307    {   9, "Identified MS is responsive, but refused position request"},
4308    {   10, "System Failure"},
4309    {   11, "MSID is not known"},
4310    {   12, "Callback number is not known"},
4311    {   13, "Improper request"},
4312    {   14, "Mobile information returned"},
4313    {   15, "Signal not detected"},
4314    {   16, "PDE Timeout"},
4315    {   17, "Position pending"},
4316    {   18, "TDMA MAHO Information Returned"},
4317    {   19, "TDMA MAHO Information is not available"},
4318    {   20, "Access Denied"},
4319    {   21, "Requested PQOS not met"},
4320    {   22, "Resource required for CDMA handset-based position determination is currently unavailable"},
4321    {   23, "CDMA handset-based position determination failure"},
4322    {   24, "CDMA handset-based position determination failure detected by the PDE"},
4323    {   25, "CDMA handset-based position determination incomplete traffic channel requested for voice services"},
4324    {   26, "Emergency services call notification"},
4325    {   27, "Emergency services call precedence"},
4326    {   28, "Request acknowledged"},
4327    {    0, NULL }
4328    };
4329 */
4330 /* 6.5.2.bp-1 ServiceRedirectionCause value */
4331 static const value_string ansi_map_ServiceRedirectionCause_vals[]  = {
4332     {   0, "Not used"},
4333     {   1, "NormalRegistration"},
4334     {   2, "SystemNotFound"},
4335     {   3, "ProtocolMismatch"},
4336     {   4, "RegistrationRejection"},
4337     {   5, "WrongSID"},
4338     {   6, "WrongNID"},
4339     {   0, NULL }
4340 };
4341 /* 6.5.2.mT AuthenticationResponseReauthentication N.S0011-0 v 1.0*/
4342
4343 /* 6.5.2.vT ReauthenticationReport N.S0011-0 v 1.0*/
4344 static const value_string ansi_map_ReauthenticationReport_vals[]  = {
4345     {   0, "Not used"},
4346     {   1, "Reauthentication not attempted"},
4347     {   2, "Reauthentication no response"},
4348     {   3, "Reauthentication successful"},
4349     {   4, "Reauthentication failed"},
4350     {   0, NULL }
4351 };
4352
4353
4354
4355 /* 6.5.2.lB AKeyProtocolVersion
4356    N.S0011-0 v 1.0
4357 */
4358 static const value_string ansi_map_AKeyProtocolVersion_vals[]  = {
4359     {   0, "Not used"},
4360     {   1, "A-key Generation not supported"},
4361     {   2, "Diffie Hellman with 768-bit modulus, 160-bit primitive, and 160-bit exponents"},
4362     {   3, "Diffie Hellman with 512-bit modulus, 160-bit primitive, and 160-bit exponents"},
4363     {   4, "Diffie Hellman with 768-bit modulus, 32-bit primitive, and 160-bit exponents"},
4364     {   0, NULL }
4365 };
4366 /* 6.5.2.sB OTASP_ResultCode
4367    N.S0011-0 v 1.0
4368 */
4369 static const value_string ansi_map_OTASP_ResultCode_vals[]  = {
4370     {   0, "Accepted - Successful"},
4371     {   1, "Rejected - Unknown cause."},
4372     {   2, "Computation Failure - E.g., unable to compute A-key"},
4373     {   3, "CSC Rejected - CSC challenge failure"},
4374     {   4, "Unrecognized OTASPCallEntry"},
4375     {   5, "Unsupported AKeyProtocolVersion(s)"},
4376     {   6, "Unable to Commit"},
4377     {   0, NULL }
4378 };
4379
4380 /*6.5.2.wB ServiceIndicator
4381   N.S0011-0 v 1.0
4382 */
4383 static const value_string ansi_map_ServiceIndicator_vals[]  = {
4384     {   0, "Undefined Service"},
4385     {   1, "CDMA OTASP Service"},
4386     {   2, "TDMA OTASP Service"},
4387     {   3, "CDMA OTAPA Service"},
4388     {   4, "CDMA Position Determination Service (Emergency Services)"},
4389     {   5, "AMPS Position Determination Service (Emergency Services)"},
4390     {   6, "CDMA Position Determination Service (Value Added Services)"},
4391     {   0, NULL }
4392 };
4393
4394 /* 6.5.2.xB SignalingMessageEncryptionReport
4395    N.S0011-0 v 1.0
4396 */
4397 static const value_string ansi_map_SMEReport_vals[]  = {
4398     {   0, "Not used"},
4399     {   1, "Signaling Message Encryption enabling not attempted"},
4400     {   2, "Signaling Message Encryption enabling no response"},
4401     {   3, "Signaling Message Encryption is enabled"},
4402     {   4, "Signaling Message Encryption enabling failed"},
4403     {   0, NULL }
4404 };
4405
4406 /* 6.5.2.zB VoicePrivacyReport
4407    N.S0011-0 v 1.0
4408 */
4409 static const value_string ansi_map_VoicePrivacyReport_vals[]  = {
4410     {   0, "Not used"},
4411     {   1, "Voice Privacy not attempted"},
4412     {   2, "Voice Privacy no response"},
4413     {   3, "Voice Privacy is active"},
4414     {   4, "Voice Privacy failed"},
4415     {   0, NULL }
4416 };
4417
4418
4419
4420 /*--- Included file: packet-ansi_map-fn.c ---*/
4421 #line 1 "packet-ansi_map-fn.c"
4422
4423
4424 static int
4425 dissect_ansi_map_ElectronicSerialNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4426   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4427                                        NULL);
4428
4429   return offset;
4430 }
4431
4432
4433
4434 static int
4435 dissect_ansi_map_MINType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4436 #line 26 "ansi_map.cnf"
4437         tvbuff_t *parameter_tvb = NULL;
4438   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4439                                        &parameter_tvb);
4440
4441         if (parameter_tvb){
4442                 dissect_ansi_map_min_type(parameter_tvb,actx->pinfo,tree, actx);
4443         }
4444
4445
4446
4447   return offset;
4448 }
4449
4450
4451
4452 static int
4453 dissect_ansi_map_MobileIdentificationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4454   offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
4455
4456   return offset;
4457 }
4458
4459
4460 static const value_string ansi_map_MSID_vals[] = {
4461   {   8, "mobileIdentificationNumber" },
4462   { 242, "imsi" },
4463   { 0, NULL }
4464 };
4465
4466 static const ber_choice_t MSID_choice[] = {
4467   {   8, &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
4468   { 242, &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
4469   { 0, NULL, 0, 0, 0, NULL }
4470 };
4471
4472 static int
4473 dissect_ansi_map_MSID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4474   offset = dissect_ber_choice(actx, tree, tvb, offset,
4475                                  MSID_choice, hf_index, ett_ansi_map_MSID,
4476                                  NULL);
4477
4478   return offset;
4479 }
4480
4481
4482
4483 static int
4484 dissect_ansi_map_AuthenticationAlgorithmVersion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4485   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4486                                        NULL);
4487
4488   return offset;
4489 }
4490
4491
4492
4493 static int
4494 dissect_ansi_map_AuthenticationResponseReauthentication(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4495   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4496                                        NULL);
4497
4498   return offset;
4499 }
4500
4501
4502
4503 static int
4504 dissect_ansi_map_AuthenticationResponseUniqueChallenge(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4505   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4506                                        NULL);
4507
4508   return offset;
4509 }
4510
4511
4512
4513 static int
4514 dissect_ansi_map_CallHistoryCount(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4515   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4516                                                 NULL);
4517
4518   return offset;
4519 }
4520
4521
4522
4523 static int
4524 dissect_ansi_map_CDMAPrivateLongCodeMask(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4525   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4526                                        NULL);
4527
4528   return offset;
4529 }
4530
4531
4532
4533 static int
4534 dissect_ansi_map_DigitsType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4535 #line 33 "ansi_map.cnf"
4536         tvbuff_t *parameter_tvb = NULL;
4537   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4538                                        &parameter_tvb);
4539
4540         if (parameter_tvb){
4541                 dissect_ansi_map_digits_type(parameter_tvb,actx->pinfo,tree, actx);
4542         }
4543
4544
4545
4546   return offset;
4547 }
4548
4549
4550
4551 static int
4552 dissect_ansi_map_CarrierDigits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4553   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4554
4555   return offset;
4556 }
4557
4558
4559
4560 static int
4561 dissect_ansi_map_CaveKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4562   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4563                                        NULL);
4564
4565   return offset;
4566 }
4567
4568
4569 static const value_string ansi_map_DenyAccess_vals[] = {
4570   {   0, "not-used" },
4571   {   1, "unspecified" },
4572   {   2, "ssd-Update-failure" },
4573   {   3, "cOUNT-Update-failure" },
4574   {   4, "unique-Challenge-failure" },
4575   {   5, "aUTHR-mismatch" },
4576   {   6, "cOUNT-mismatch" },
4577   {   7, "process-collision" },
4578   {   8, "missing-authentication-parameters" },
4579   {   9, "terminalType-mismatch" },
4580   {  10, "mIN-IMSI-or-ESN-authorization-failure" },
4581   { 0, NULL }
4582 };
4583
4584
4585 static int
4586 dissect_ansi_map_DenyAccess(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4587   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4588                                   NULL);
4589
4590   return offset;
4591 }
4592
4593
4594
4595 static int
4596 dissect_ansi_map_DestinationDigits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4597   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4598
4599   return offset;
4600 }
4601
4602
4603
4604 static int
4605 dissect_ansi_map_LocationAreaID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4606   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4607                                        NULL);
4608
4609   return offset;
4610 }
4611
4612
4613
4614 static int
4615 dissect_ansi_map_RandomVariableReauthentication(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4616   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4617                                        NULL);
4618
4619   return offset;
4620 }
4621
4622
4623
4624 static int
4625 dissect_ansi_map_MEID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4626   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4627                                        NULL);
4628
4629   return offset;
4630 }
4631
4632
4633
4634 static int
4635 dissect_ansi_map_MobileStationMIN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4636   offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
4637
4638   return offset;
4639 }
4640
4641
4642
4643 static int
4644 dissect_ansi_map_MSCID(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 190 "ansi_map.cnf"
4646         tvbuff_t *parameter_tvb = NULL;
4647   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4648                                        &parameter_tvb);
4649
4650         if (parameter_tvb){
4651                 dissect_ansi_map_mscid(parameter_tvb,actx->pinfo,tree, actx);
4652         }
4653
4654
4655
4656   return offset;
4657 }
4658
4659
4660
4661 static int
4662 dissect_ansi_map_RandomVariableSSD(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4663   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4664                                        NULL);
4665
4666   return offset;
4667 }
4668
4669
4670
4671 static int
4672 dissect_ansi_map_RandomVariableUniqueChallenge(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4673   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4674                                        NULL);
4675
4676   return offset;
4677 }
4678
4679
4680
4681 static int
4682 dissect_ansi_map_RoutingDigits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4683   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4684
4685   return offset;
4686 }
4687
4688
4689
4690 static int
4691 dissect_ansi_map_SenderIdentificationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4692   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4693
4694   return offset;
4695 }
4696
4697
4698
4699 static int
4700 dissect_ansi_map_SharedSecretData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4701   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4702                                        NULL);
4703
4704   return offset;
4705 }
4706
4707
4708
4709 static int
4710 dissect_ansi_map_SignalingMessageEncryptionKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4711   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4712                                        NULL);
4713
4714   return offset;
4715 }
4716
4717
4718 static const value_string ansi_map_SSDNotShared_vals[] = {
4719   {   0, "not-used" },
4720   {   1, "discard-SSD" },
4721   { 0, NULL }
4722 };
4723
4724
4725 static int
4726 dissect_ansi_map_SSDNotShared(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4727   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4728                                   NULL);
4729
4730   return offset;
4731 }
4732
4733
4734 static const value_string ansi_map_UpdateCount_vals[] = {
4735   {   0, "not-used" },
4736   {   1, "update-COUNT" },
4737   { 0, NULL }
4738 };
4739
4740
4741 static int
4742 dissect_ansi_map_UpdateCount(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4743   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4744                                   NULL);
4745
4746   return offset;
4747 }
4748
4749
4750 static const ber_sequence_t AuthenticationDirective_U_set[] = {
4751   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
4752   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
4753   { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
4754   { &hf_ansi_map_authenticationResponseReauthentication, BER_CLASS_CON, 182, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseReauthentication },
4755   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
4756   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
4757   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
4758   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
4759   { &hf_ansi_map_caveKey    , BER_CLASS_CON, 316, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CaveKey },
4760   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
4761   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
4762   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
4763   { &hf_ansi_map_randomVariableReauthentication, BER_CLASS_CON, 191, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableReauthentication },
4764   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
4765   { &hf_ansi_map_mobileStationMIN, BER_CLASS_CON, 184, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationMIN },
4766   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
4767   { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
4768   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
4769   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
4770   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
4771   { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
4772   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
4773   { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
4774   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
4775   { NULL, 0, 0, 0, NULL }
4776 };
4777
4778 static int
4779 dissect_ansi_map_AuthenticationDirective_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_) {
4780   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4781                               AuthenticationDirective_U_set, hf_index, ett_ansi_map_AuthenticationDirective_U);
4782
4783   return offset;
4784 }
4785
4786
4787
4788 static int
4789 dissect_ansi_map_AuthenticationDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4790   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4791                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirective_U);
4792
4793   return offset;
4794 }
4795
4796
4797 static const ber_sequence_t AuthenticationDirectiveRes_U_set[] = {
4798   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
4799   { NULL, 0, 0, 0, NULL }
4800 };
4801
4802 static int
4803 dissect_ansi_map_AuthenticationDirectiveRes_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_) {
4804   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4805                               AuthenticationDirectiveRes_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveRes_U);
4806
4807   return offset;
4808 }
4809
4810
4811
4812 static int
4813 dissect_ansi_map_AuthenticationDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4814   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4815                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirectiveRes_U);
4816
4817   return offset;
4818 }
4819
4820
4821
4822 static int
4823 dissect_ansi_map_InterMSCCircuitID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4824 #line 165 "ansi_map.cnf"
4825         tvbuff_t *parameter_tvb = NULL;
4826   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4827                                        &parameter_tvb);
4828
4829         if (parameter_tvb){
4830                 dissect_ansi_map_intermsccircuitid(parameter_tvb,actx->pinfo,tree, actx);
4831         }
4832
4833
4834
4835   return offset;
4836 }
4837
4838
4839 static const ber_sequence_t AuthenticationDirectiveForward_U_set[] = {
4840   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
4841   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
4842   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
4843   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
4844   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
4845   { NULL, 0, 0, 0, NULL }
4846 };
4847
4848 static int
4849 dissect_ansi_map_AuthenticationDirectiveForward_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_) {
4850   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4851                               AuthenticationDirectiveForward_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveForward_U);
4852
4853   return offset;
4854 }
4855
4856
4857
4858 static int
4859 dissect_ansi_map_AuthenticationDirectiveForward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4860   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4861                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirectiveForward_U);
4862
4863   return offset;
4864 }
4865
4866
4867
4868 static int
4869 dissect_ansi_map_CountUpdateReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4870   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4871                                        NULL);
4872
4873   return offset;
4874 }
4875
4876
4877
4878 static int
4879 dissect_ansi_map_UniqueChallengeReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4880   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4881                                        NULL);
4882
4883   return offset;
4884 }
4885
4886
4887 static const ber_sequence_t AuthenticationDirectiveForwardRes_U_set[] = {
4888   { &hf_ansi_map_countUpdateReport, BER_CLASS_CON, 138, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CountUpdateReport },
4889   { &hf_ansi_map_uniqueChallengeReport, BER_CLASS_CON, 124, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UniqueChallengeReport },
4890   { NULL, 0, 0, 0, NULL }
4891 };
4892
4893 static int
4894 dissect_ansi_map_AuthenticationDirectiveForwardRes_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_) {
4895   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4896                               AuthenticationDirectiveForwardRes_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveForwardRes_U);
4897
4898   return offset;
4899 }
4900
4901
4902
4903 static int
4904 dissect_ansi_map_AuthenticationDirectiveForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4905   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4906                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirectiveForwardRes_U);
4907
4908   return offset;
4909 }
4910
4911
4912 static const value_string ansi_map_ReportType_vals[] = {
4913   {   0, "not-used" },
4914   {   1, "unspecified-security-violation" },
4915   {   2, "mSID-ESN-mismatch" },
4916   {   3, "rANDC-mismatch" },
4917   {   4, "reserved" },
4918   {   5, "sSD-update-failed" },
4919   {   6, "reserved" },
4920   {   7, "cOUNT-mismatch" },
4921   {   8, "reserved" },
4922   {   9, "unique-Challenge-failed" },
4923   {  10, "unsolicited-Base-Station-Challenge" },
4924   {  11, "sSD-Update-no-response" },
4925   {  12, "cOUNT-Update-no-response" },
4926   {  13, "unique-Challenge-no-response" },
4927   {  14, "aUTHR-mismatch" },
4928   {  15, "tERMTYP-mismatch" },
4929   {  16, "missing-authentication-parameters" },
4930   { 0, NULL }
4931 };
4932
4933
4934 static int
4935 dissect_ansi_map_ReportType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4936   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4937                                   NULL);
4938
4939   return offset;
4940 }
4941
4942
4943 static const value_string ansi_map_SystemAccessType_vals[] = {
4944   {   0, "not-used" },
4945   {   1, "unspecified" },
4946   {   2, "flash-request" },
4947   {   3, "autonomous-registration" },
4948   {   4, "call-origination" },
4949   {   5, "page-response" },
4950   {   6, "no-access" },
4951   {   7, "power-down-registration" },
4952   {   8, "sms-page-response" },
4953   {   9, "otasp" },
4954   { 0, NULL }
4955 };
4956
4957
4958 static int
4959 dissect_ansi_map_SystemAccessType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4960   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4961                                   NULL);
4962
4963   return offset;
4964 }
4965
4966
4967
4968 static int
4969 dissect_ansi_map_SystemCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4970 #line 333 "ansi_map.cnf"
4971         tvbuff_t *parameter_tvb = NULL;
4972   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4973                                        &parameter_tvb);
4974
4975         if (parameter_tvb){
4976                 dissect_ansi_map_systemcapabilities(parameter_tvb,actx->pinfo,tree, actx);
4977         }
4978
4979
4980
4981
4982   return offset;
4983 }
4984
4985
4986
4987 static int
4988 dissect_ansi_map_CallHistoryCountExpected(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4989   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4990                                                 NULL);
4991
4992   return offset;
4993 }
4994
4995
4996 static const value_string ansi_map_TerminalType_vals[] = {
4997   {   0, "not-used" },
4998   {   1, "not-distinguished" },
4999   {   2, "iS-54-B" },
5000   {   3, "iS-136" },
5001   {   4, "j-STD-011" },
5002   {   5, "iS-136-A-or-TIA-EIA-136-Revision-0" },
5003   {   6, "tIA-EIA-136-A" },
5004   {   7, "iA-EIA-136-B" },
5005   {  32, "iS-95" },
5006   {  33, "iS-95B" },
5007   {  34, "j-STD-008" },
5008   {  35, "tIA-EIA-95-B" },
5009   {  36, "iS-2000" },
5010   {  64, "iS-88" },
5011   {  65, "iS-94" },
5012   {  66, "iS-91" },
5013   {  67, "j-STD-014" },
5014   {  68, "tIA-EIA-553-A" },
5015   {  69, "iS-91-A" },
5016   { 0, NULL }
5017 };
5018
5019
5020 static int
5021 dissect_ansi_map_TerminalType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5022   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5023                                   NULL);
5024
5025   return offset;
5026 }
5027
5028
5029 static const ber_sequence_t AuthenticationFailureReport_U_set[] = {
5030   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5031   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
5032   { &hf_ansi_map_reportType , BER_CLASS_CON, 44, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReportType },
5033   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
5034   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
5035   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5036   { &hf_ansi_map_callHistoryCountExpected, BER_CLASS_CON, 79, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCountExpected },
5037   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5038   { &hf_ansi_map_reportType2, BER_CLASS_CON, 44, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReportType },
5039   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5040   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
5041   { NULL, 0, 0, 0, NULL }
5042 };
5043
5044 static int
5045 dissect_ansi_map_AuthenticationFailureReport_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_) {
5046   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5047                               AuthenticationFailureReport_U_set, hf_index, ett_ansi_map_AuthenticationFailureReport_U);
5048
5049   return offset;
5050 }
5051
5052
5053
5054 static int
5055 dissect_ansi_map_AuthenticationFailureReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5056   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5057                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationFailureReport_U);
5058
5059   return offset;
5060 }
5061
5062
5063 static const ber_sequence_t AuthenticationFailureReportRes_U_set[] = {
5064   { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
5065   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
5066   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5067   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
5068   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
5069   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
5070   { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
5071   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
5072   { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
5073   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
5074   { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
5075   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
5076   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
5077   { NULL, 0, 0, 0, NULL }
5078 };
5079
5080 static int
5081 dissect_ansi_map_AuthenticationFailureReportRes_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_) {
5082   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5083                               AuthenticationFailureReportRes_U_set, hf_index, ett_ansi_map_AuthenticationFailureReportRes_U);
5084
5085   return offset;
5086 }
5087
5088
5089
5090 static int
5091 dissect_ansi_map_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_) {
5092   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5093                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationFailureReportRes_U);
5094
5095   return offset;
5096 }
5097
5098
5099
5100 static int
5101 dissect_ansi_map_AuthenticationData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5102   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5103                                        NULL);
5104
5105   return offset;
5106 }
5107
5108
5109
5110 static int
5111 dissect_ansi_map_AuthenticationResponse(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5112   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5113                                        NULL);
5114
5115   return offset;
5116 }
5117
5118
5119
5120 static int
5121 dissect_ansi_map_CDMANetworkIdentification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5122   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5123                                        NULL);
5124
5125   return offset;
5126 }
5127
5128
5129
5130 static int
5131 dissect_ansi_map_ConfidentialityModes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5132 #line 119 "ansi_map.cnf"
5133         tvbuff_t *parameter_tvb = NULL;
5134   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5135                                        &parameter_tvb);
5136
5137         if (parameter_tvb){
5138                 dissect_ansi_map_confidentialitymodes(parameter_tvb,actx->pinfo,tree, actx);
5139         }
5140
5141
5142   return offset;
5143 }
5144
5145
5146
5147 static int
5148 dissect_ansi_map_ControlChannelMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5149   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5150                                        NULL);
5151
5152   return offset;
5153 }
5154
5155
5156
5157 static int
5158 dissect_ansi_map_Digits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5159   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
5160
5161   return offset;
5162 }
5163
5164
5165
5166 static int
5167 dissect_ansi_map_PC_SSN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5168 #line 246 "ansi_map.cnf"
5169         tvbuff_t *parameter_tvb = NULL;
5170   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5171                                        &parameter_tvb);
5172
5173         if (parameter_tvb){
5174                 dissect_ansi_map_pc_ssn(parameter_tvb,actx->pinfo,tree, actx);
5175         }
5176
5177
5178
5179   return offset;
5180 }
5181
5182
5183
5184 static int
5185 dissect_ansi_map_RandomVariable(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5186   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5187                                        NULL);
5188
5189   return offset;
5190 }
5191
5192
5193
5194 static int
5195 dissect_ansi_map_ServiceRedirectionCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5196   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5197                                        NULL);
5198
5199   return offset;
5200 }
5201
5202
5203 static const value_string ansi_map_SuspiciousAccess_vals[] = {
5204   {   0, "not-used" },
5205   {   1, "anomalous-Digits" },
5206   {   2, "unspecified" },
5207   { 0, NULL }
5208 };
5209
5210
5211 static int
5212 dissect_ansi_map_SuspiciousAccess(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5213   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5214                                   NULL);
5215
5216   return offset;
5217 }
5218
5219
5220
5221 static int
5222 dissect_ansi_map_TransactionCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5223 #line 350 "ansi_map.cnf"
5224         tvbuff_t *parameter_tvb = NULL;
5225   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5226                                        &parameter_tvb);
5227
5228         if (parameter_tvb){
5229                 dissect_ansi_map_transactioncapability(parameter_tvb,actx->pinfo,tree, actx);
5230         }
5231
5232
5233
5234   return offset;
5235 }
5236
5237
5238 static const ber_sequence_t AuthenticationRequest_U_set[] = {
5239   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5240   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
5241   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5242   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
5243   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
5244   { &hf_ansi_map_authenticationData, BER_CLASS_CON, 161, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationData },
5245   { &hf_ansi_map_authenticationResponse, BER_CLASS_CON, 35, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponse },
5246   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5247   { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
5248   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
5249   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
5250   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
5251   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
5252   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
5253   { &hf_ansi_map_serviceRedirectionCause, BER_CLASS_CON, 237, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionCause },
5254   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5255   { &hf_ansi_map_suspiciousAccess, BER_CLASS_CON, 285, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SuspiciousAccess },
5256   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
5257   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
5258   { NULL, 0, 0, 0, NULL }
5259 };
5260
5261 static int
5262 dissect_ansi_map_AuthenticationRequest_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_) {
5263   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5264                               AuthenticationRequest_U_set, hf_index, ett_ansi_map_AuthenticationRequest_U);
5265
5266   return offset;
5267 }
5268
5269
5270
5271 static int
5272 dissect_ansi_map_AuthenticationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5273   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5274                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationRequest_U);
5275
5276   return offset;
5277 }
5278
5279
5280
5281 static int
5282 dissect_ansi_map_AnalogRedirectInfo(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5283   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5284                                        NULL);
5285
5286   return offset;
5287 }
5288
5289
5290 static const ber_sequence_t AnalogRedirectRecord_sequence[] = {
5291   { &hf_ansi_map_analogRedirectInfo, BER_CLASS_CON, 224, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectInfo },
5292   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5293   { NULL, 0, 0, 0, NULL }
5294 };
5295
5296 static int
5297 dissect_ansi_map_AnalogRedirectRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5298   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5299                                    AnalogRedirectRecord_sequence, hf_index, ett_ansi_map_AnalogRedirectRecord);
5300
5301   return offset;
5302 }
5303
5304
5305
5306 static int
5307 dissect_ansi_map_CDMABandClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5308   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5309                                        NULL);
5310
5311   return offset;
5312 }
5313
5314
5315
5316 static int
5317 dissect_ansi_map_CDMAChannelNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5318   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5319                                        NULL);
5320
5321   return offset;
5322 }
5323
5324
5325 static const ber_sequence_t CDMAChannelNumberList_item_sequence[] = {
5326   { &hf_ansi_map_cdmaChannelNumber, BER_CLASS_CON, 226, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelNumber },
5327   { &hf_ansi_map_cdmaChannelNumber2, BER_CLASS_CON, 226, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelNumber },
5328   { NULL, 0, 0, 0, NULL }
5329 };
5330
5331 static int
5332 dissect_ansi_map_CDMAChannelNumberList_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_) {
5333   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5334                                    CDMAChannelNumberList_item_sequence, hf_index, ett_ansi_map_CDMAChannelNumberList_item);
5335
5336   return offset;
5337 }
5338
5339
5340 static const ber_sequence_t CDMAChannelNumberList_sequence_of[1] = {
5341   { &hf_ansi_map_CDMAChannelNumberList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CDMAChannelNumberList_item },
5342 };
5343
5344 static int
5345 dissect_ansi_map_CDMAChannelNumberList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5346   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5347                                       CDMAChannelNumberList_sequence_of, hf_index, ett_ansi_map_CDMAChannelNumberList);
5348
5349   return offset;
5350 }
5351
5352
5353 static const ber_sequence_t CDMARedirectRecord_sequence[] = {
5354   { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
5355   { &hf_ansi_map_cdmaChannelNumberList, BER_CLASS_CON, 227, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelNumberList },
5356   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5357   { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
5358   { NULL, 0, 0, 0, NULL }
5359 };
5360
5361 static int
5362 dissect_ansi_map_CDMARedirectRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5363   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5364                                    CDMARedirectRecord_sequence, hf_index, ett_ansi_map_CDMARedirectRecord);
5365
5366   return offset;
5367 }
5368
5369
5370
5371 static int
5372 dissect_ansi_map_DataKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5373   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5374                                        NULL);
5375
5376   return offset;
5377 }
5378
5379
5380
5381 static int
5382 dissect_ansi_map_RoamingIndication(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5383   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5384                                        NULL);
5385
5386   return offset;
5387 }
5388
5389
5390
5391 static int
5392 dissect_ansi_map_ServiceRedirectionInfo(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   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5394                                        NULL);
5395
5396   return offset;
5397 }
5398
5399
5400
5401 static int
5402 dissect_ansi_map_VoicePrivacyMask(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5403   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5404                                        NULL);
5405
5406   return offset;
5407 }
5408
5409
5410 static const ber_sequence_t AuthenticationRequestRes_U_set[] = {
5411   { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
5412   { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
5413   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
5414   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5415   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
5416   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
5417   { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
5418   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
5419   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
5420   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
5421   { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
5422   { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
5423   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
5424   { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
5425   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
5426   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
5427   { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
5428   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
5429   { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
5430   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
5431   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
5432   { NULL, 0, 0, 0, NULL }
5433 };
5434
5435 static int
5436 dissect_ansi_map_AuthenticationRequestRes_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_) {
5437   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5438                               AuthenticationRequestRes_U_set, hf_index, ett_ansi_map_AuthenticationRequestRes_U);
5439
5440   return offset;
5441 }
5442
5443
5444
5445 static int
5446 dissect_ansi_map_AuthenticationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5447   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5448                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationRequestRes_U);
5449
5450   return offset;
5451 }
5452
5453
5454
5455 static int
5456 dissect_ansi_map_ReauthenticationReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5457   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5458                                        NULL);
5459
5460   return offset;
5461 }
5462
5463
5464
5465 static int
5466 dissect_ansi_map_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_) {
5467 #line 430 "ansi_map.cnf"
5468         tvbuff_t *parameter_tvb = NULL;
5469   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5470                                        &parameter_tvb);
5471
5472         if (parameter_tvb){
5473                 ServiceIndicator = tvb_get_guint8(parameter_tvb,0);
5474                 if (SMS_BearerData_tvb !=NULL)
5475                 {
5476                         switch(ServiceIndicator){
5477                                 case 1: /* CDMA OTASP Service */
5478                                 case 3: /* CDMA OTAPA Service */
5479                                         dissector_try_port(is683_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
5480                                         break;
5481                                 case 4: /* CDMA Position Determination Service */
5482                                         dissector_try_port(is801_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
5483                                         break;
5484                                 default:
5485                                         break;
5486                         }
5487                 }
5488         }
5489          
5490
5491
5492   return offset;
5493 }
5494
5495
5496
5497 static int
5498 dissect_ansi_map_SignalingMessageEncryptionReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5499   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5500                                        NULL);
5501
5502   return offset;
5503 }
5504
5505
5506
5507 static int
5508 dissect_ansi_map_SSDUpdateReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5509   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5510                                        NULL);
5511
5512   return offset;
5513 }
5514
5515
5516
5517 static int
5518 dissect_ansi_map_VoicePrivacyReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5519   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5520                                        NULL);
5521
5522   return offset;
5523 }
5524
5525
5526 static const ber_sequence_t AuthenticationStatusReport_U_set[] = {
5527   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5528   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
5529   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
5530   { &hf_ansi_map_countUpdateReport, BER_CLASS_CON, 138, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CountUpdateReport },
5531   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
5532   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5533   { &hf_ansi_map_reauthenticationReport, BER_CLASS_CON, 192, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReauthenticationReport },
5534   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5535   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
5536   { &hf_ansi_map_signalingMessageEncryptionReport, BER_CLASS_CON, 194, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionReport },
5537   { &hf_ansi_map_ssdUpdateReport, BER_CLASS_CON, 156, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDUpdateReport },
5538   { &hf_ansi_map_uniqueChallengeReport, BER_CLASS_CON, 124, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UniqueChallengeReport },
5539   { &hf_ansi_map_voicePrivacyReport, BER_CLASS_CON, 196, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyReport },
5540   { NULL, 0, 0, 0, NULL }
5541 };
5542
5543 static int
5544 dissect_ansi_map_AuthenticationStatusReport_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_) {
5545   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5546                               AuthenticationStatusReport_U_set, hf_index, ett_ansi_map_AuthenticationStatusReport_U);
5547
5548   return offset;
5549 }
5550
5551
5552
5553 static int
5554 dissect_ansi_map_AuthenticationStatusReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5555   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5556                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationStatusReport_U);
5557
5558   return offset;
5559 }
5560
5561
5562 static const ber_sequence_t AuthenticationStatusReportRes_U_set[] = {
5563   { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
5564   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
5565   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5566   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
5567   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
5568   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
5569   { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
5570   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
5571   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
5572   { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
5573   { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
5574   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
5575   { NULL, 0, 0, 0, NULL }
5576 };
5577
5578 static int
5579 dissect_ansi_map_AuthenticationStatusReportRes_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_) {
5580   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5581                               AuthenticationStatusReportRes_U_set, hf_index, ett_ansi_map_AuthenticationStatusReportRes_U);
5582
5583   return offset;
5584 }
5585
5586
5587
5588 static int
5589 dissect_ansi_map_AuthenticationStatusReportRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5590   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5591                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationStatusReportRes_U);
5592
5593   return offset;
5594 }
5595
5596
5597
5598 static int
5599 dissect_ansi_map_RandomVariableBaseStation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5600   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5601                                        NULL);
5602
5603   return offset;
5604 }
5605
5606
5607 static const ber_sequence_t BaseStationChallenge_U_set[] = {
5608   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5609   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
5610   { &hf_ansi_map_randomVariableBaseStation, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableBaseStation },
5611   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5612   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
5613   { NULL, 0, 0, 0, NULL }
5614 };
5615
5616 static int
5617 dissect_ansi_map_BaseStationChallenge_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_) {
5618   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5619                               BaseStationChallenge_U_set, hf_index, ett_ansi_map_BaseStationChallenge_U);
5620
5621   return offset;
5622 }
5623
5624
5625
5626 static int
5627 dissect_ansi_map_BaseStationChallenge(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5628   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5629                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BaseStationChallenge_U);
5630
5631   return offset;
5632 }
5633
5634
5635
5636 static int
5637 dissect_ansi_map_AuthenticationResponseBaseStation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5638   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5639                                        NULL);
5640
5641   return offset;
5642 }
5643
5644
5645 static const ber_sequence_t BaseStationChallengeRes_U_set[] = {
5646   { &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
5647   { NULL, 0, 0, 0, NULL }
5648 };
5649
5650 static int
5651 dissect_ansi_map_BaseStationChallengeRes_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_) {
5652   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5653                               BaseStationChallengeRes_U_set, hf_index, ett_ansi_map_BaseStationChallengeRes_U);
5654
5655   return offset;
5656 }
5657
5658
5659
5660 static int
5661 dissect_ansi_map_BaseStationChallengeRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5662   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5663                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BaseStationChallengeRes_U);
5664
5665   return offset;
5666 }
5667
5668
5669 static const ber_sequence_t Blocking_U_set[] = {
5670   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
5671   { NULL, 0, 0, 0, NULL }
5672 };
5673
5674 static int
5675 dissect_ansi_map_Blocking_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_) {
5676   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5677                               Blocking_U_set, hf_index, ett_ansi_map_Blocking_U);
5678
5679   return offset;
5680 }
5681
5682
5683
5684 static int
5685 dissect_ansi_map_Blocking(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5686   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5687                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Blocking_U);
5688
5689   return offset;
5690 }
5691
5692
5693 static const ber_sequence_t BulkDeregistration_U_set[] = {
5694   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5695   { NULL, 0, 0, 0, NULL }
5696 };
5697
5698 static int
5699 dissect_ansi_map_BulkDeregistration_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_) {
5700   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5701                               BulkDeregistration_U_set, hf_index, ett_ansi_map_BulkDeregistration_U);
5702
5703   return offset;
5704 }
5705
5706
5707
5708 static int
5709 dissect_ansi_map_BulkDeregistration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5710   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5711                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BulkDeregistration_U);
5712
5713   return offset;
5714 }
5715
5716
5717 static const ber_sequence_t CountRequest_U_set[] = {
5718   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5719   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
5720   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5721   { NULL, 0, 0, 0, NULL }
5722 };
5723
5724 static int
5725 dissect_ansi_map_CountRequest_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_) {
5726   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5727                               CountRequest_U_set, hf_index, ett_ansi_map_CountRequest_U);
5728
5729   return offset;
5730 }
5731
5732
5733
5734 static int
5735 dissect_ansi_map_CountRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5736   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5737                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CountRequest_U);
5738
5739   return offset;
5740 }
5741
5742
5743 static const ber_sequence_t CountRequestRes_U_set[] = {
5744   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5745   { NULL, 0, 0, 0, NULL }
5746 };
5747
5748 static int
5749 dissect_ansi_map_CountRequestRes_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_) {
5750   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5751                               CountRequestRes_U_set, hf_index, ett_ansi_map_CountRequestRes_U);
5752
5753   return offset;
5754 }
5755
5756
5757
5758 static int
5759 dissect_ansi_map_CountRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5760   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5761                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CountRequestRes_U);
5762
5763   return offset;
5764 }
5765
5766
5767
5768 static int
5769 dissect_ansi_map_BillingID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5770 #line 73 "ansi_map.cnf"
5771         tvbuff_t *parameter_tvb = NULL;
5772   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5773                                        &parameter_tvb);
5774
5775         if (parameter_tvb){
5776                 dissect_ansi_map_billingid(parameter_tvb,actx->pinfo,tree, actx);
5777         }
5778
5779
5780
5781   return offset;
5782 }
5783
5784
5785
5786 static int
5787 dissect_ansi_map_ChannelData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5788 #line 111 "ansi_map.cnf"
5789         tvbuff_t *parameter_tvb = NULL;
5790   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5791                                        &parameter_tvb);
5792
5793         if (parameter_tvb){
5794                 dissect_ansi_map_channeldata(parameter_tvb,actx->pinfo,tree, actx);
5795         }
5796
5797
5798
5799   return offset;
5800 }
5801
5802
5803
5804 static int
5805 dissect_ansi_map_InterSwitchCount(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5806   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5807                                                 NULL);
5808
5809   return offset;
5810 }
5811
5812
5813
5814 static int
5815 dissect_ansi_map_ServingCellID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5816   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5817                                        NULL);
5818
5819   return offset;
5820 }
5821
5822
5823
5824 static int
5825 dissect_ansi_map_StationClassMark(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5826   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5827                                        NULL);
5828
5829   return offset;
5830 }
5831
5832
5833
5834 static int
5835 dissect_ansi_map_TargetCellID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5836   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5837                                        NULL);
5838
5839   return offset;
5840 }
5841
5842
5843 static const value_string ansi_map_HandoffReason_vals[] = {
5844   {   0, "not-used" },
5845   {   1, "unspecified" },
5846   {   2, "weak-Signal" },
5847   {   3, "off-loading" },
5848   {   4, "anticipatory" },
5849   { 0, NULL }
5850 };
5851
5852
5853 static int
5854 dissect_ansi_map_HandoffReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5855   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5856                                   NULL);
5857
5858   return offset;
5859 }
5860
5861
5862
5863 static int
5864 dissect_ansi_map_HandoffState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5865 #line 157 "ansi_map.cnf"
5866         tvbuff_t *parameter_tvb = NULL;
5867   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5868                                        &parameter_tvb);
5869
5870         if (parameter_tvb){
5871                 dissect_ansi_map_handoffstate(parameter_tvb,actx->pinfo,tree, actx);
5872         }
5873
5874
5875
5876   return offset;
5877 }
5878
5879
5880
5881 static int
5882 dissect_ansi_map_TDMABurstIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5883   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5884                                        NULL);
5885
5886   return offset;
5887 }
5888
5889
5890
5891 static int
5892 dissect_ansi_map_TDMACallMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5893   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5894                                        NULL);
5895
5896   return offset;
5897 }
5898
5899
5900
5901 static int
5902 dissect_ansi_map_TDMAChannelData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5903   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5904                                        NULL);
5905
5906   return offset;
5907 }
5908
5909
5910 static const ber_sequence_t FacilitiesDirective_U_set[] = {
5911   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
5912   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
5913   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5914   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
5915   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
5916   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
5917   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
5918   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
5919   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
5920   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
5921   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
5922   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
5923   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
5924   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
5925   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
5926   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
5927   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
5928   { NULL, 0, 0, 0, NULL }
5929 };
5930
5931 static int
5932 dissect_ansi_map_FacilitiesDirective_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_) {
5933   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5934                               FacilitiesDirective_U_set, hf_index, ett_ansi_map_FacilitiesDirective_U);
5935
5936   return offset;
5937 }
5938
5939
5940
5941 static int
5942 dissect_ansi_map_FacilitiesDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5943   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5944                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirective_U);
5945
5946   return offset;
5947 }
5948
5949
5950 static const ber_sequence_t FacilitiesDirectiveRes_U_set[] = {
5951   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
5952   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
5953   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
5954   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
5955   { NULL, 0, 0, 0, NULL }
5956 };
5957
5958 static int
5959 dissect_ansi_map_FacilitiesDirectiveRes_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_) {
5960   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5961                               FacilitiesDirectiveRes_U_set, hf_index, ett_ansi_map_FacilitiesDirectiveRes_U);
5962
5963   return offset;
5964 }
5965
5966
5967
5968 static int
5969 dissect_ansi_map_FacilitiesDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5970   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5971                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirectiveRes_U);
5972
5973   return offset;
5974 }
5975
5976
5977
5978 static int
5979 dissect_ansi_map_BaseStationManufacturerCode(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_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5981                                        NULL);
5982
5983   return offset;
5984 }
5985
5986
5987
5988 static int
5989 dissect_ansi_map_AlertCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5990 #line 48 "ansi_map.cnf"
5991         tvbuff_t *parameter_tvb = NULL;
5992   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5993                                        &parameter_tvb);
5994
5995         if (parameter_tvb){
5996                 dissect_ansi_map_alertcode(parameter_tvb,actx->pinfo,tree, actx);
5997         }
5998
5999
6000
6001   return offset;
6002 }
6003
6004
6005
6006 static int
6007 dissect_ansi_map_CDMA2000HandoffInvokeIOSData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6008 #line 408 "ansi_map.cnf"
6009         tvbuff_t *parameter_tvb = NULL;
6010     proto_tree *subtree;
6011
6012   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6013                                        &parameter_tvb);
6014
6015         if (parameter_tvb){
6016                 subtree = proto_item_add_subtree(actx->created_item, ett_CDMA2000HandoffInvokeIOSData);
6017                 dissect_cdma2000_a1_elements(parameter_tvb, actx->pinfo, subtree, 
6018                         0, tvb_length_remaining(parameter_tvb,0));
6019         }
6020
6021
6022   return offset;
6023 }
6024
6025
6026
6027 static int
6028 dissect_ansi_map_CDMAMobileProtocolRevision(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6029   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6030                                        NULL);
6031
6032   return offset;
6033 }
6034
6035
6036
6037 static int
6038 dissect_ansi_map_CDMAStationClassMark2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6039   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6040                                        NULL);
6041
6042   return offset;
6043 }
6044
6045
6046 static const ber_sequence_t CDMABandClassInformation_sequence[] = {
6047   { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
6048   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
6049   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
6050   { NULL, 0, 0, 0, NULL }
6051 };
6052
6053 static int
6054 dissect_ansi_map_CDMABandClassInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6055   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6056                                    CDMABandClassInformation_sequence, hf_index, ett_ansi_map_CDMABandClassInformation);
6057
6058   return offset;
6059 }
6060
6061
6062 static const ber_sequence_t CDMABandClassList_sequence_of[1] = {
6063   { &hf_ansi_map_CDMABandClassList_item, BER_CLASS_CON, 171, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassInformation },
6064 };
6065
6066 static int
6067 dissect_ansi_map_CDMABandClassList(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_of(implicit_tag, actx, tree, tvb, offset,
6069                                       CDMABandClassList_sequence_of, hf_index, ett_ansi_map_CDMABandClassList);
6070
6071   return offset;
6072 }
6073
6074
6075
6076 static int
6077 dissect_ansi_map_CDMACallMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6078 #line 88 "ansi_map.cnf"
6079         tvbuff_t *parameter_tvb = NULL;
6080   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6081                                        &parameter_tvb);
6082
6083         if (parameter_tvb){
6084                 dissect_ansi_map_cdmacallmode(parameter_tvb,actx->pinfo,tree, actx);
6085         }
6086
6087
6088   return offset;
6089 }
6090
6091
6092
6093 static int
6094 dissect_ansi_map_CDMAChannelData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6095 #line 95 "ansi_map.cnf"
6096         tvbuff_t *parameter_tvb = NULL;
6097   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6098                                        &parameter_tvb);
6099
6100         if (parameter_tvb){
6101                 dissect_ansi_map_cdmachanneldata(parameter_tvb,actx->pinfo,tree, actx);
6102         }
6103
6104
6105
6106   return offset;
6107 }
6108
6109
6110
6111 static int
6112 dissect_ansi_map_CDMAConnectionReference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6113   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6114                                        NULL);
6115
6116   return offset;
6117 }
6118
6119
6120
6121 static int
6122 dissect_ansi_map_CDMAServiceOption(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6123 #line 358 "ansi_map.cnf"
6124         tvbuff_t *parameter_tvb = NULL;
6125   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6126                                        &parameter_tvb);
6127
6128         if (parameter_tvb){
6129                 dissect_ansi_map_cdmaserviceoption(parameter_tvb,actx->pinfo,tree, actx);
6130         }
6131
6132
6133
6134
6135   return offset;
6136 }
6137
6138
6139
6140 static int
6141 dissect_ansi_map_CDMAState(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6142   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6143                                        NULL);
6144
6145   return offset;
6146 }
6147
6148
6149
6150 static int
6151 dissect_ansi_map_DataPrivacyParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6152   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6153                                        NULL);
6154
6155   return offset;
6156 }
6157
6158
6159
6160 static int
6161 dissect_ansi_map_CDMAServiceOptionConnectionIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6162   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6163                                        NULL);
6164
6165   return offset;
6166 }
6167
6168
6169 static const ber_sequence_t CDMAConnectionReferenceInformation_sequence[] = {
6170   { &hf_ansi_map_cdmaConnectionReference, BER_CLASS_CON, 208, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReference },
6171   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
6172   { &hf_ansi_map_cdmaState  , BER_CLASS_CON, 213, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAState },
6173   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
6174   { &hf_ansi_map_cdmaServiceOptionConnectionIdentifier, BER_CLASS_CON, 361, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionConnectionIdentifier },
6175   { NULL, 0, 0, 0, NULL }
6176 };
6177
6178 static int
6179 dissect_ansi_map_CDMAConnectionReferenceInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6180   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6181                                    CDMAConnectionReferenceInformation_sequence, hf_index, ett_ansi_map_CDMAConnectionReferenceInformation);
6182
6183   return offset;
6184 }
6185
6186
6187 static const ber_sequence_t CDMAConnectionReferenceList_item_sequence[] = {
6188   { &hf_ansi_map_cdmaConnectionReferenceInformation, BER_CLASS_CON, 211, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceInformation },
6189   { &hf_ansi_map_cdmaConnectionReferenceInformation2, BER_CLASS_CON, 211, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceInformation },
6190   { NULL, 0, 0, 0, NULL }
6191 };
6192
6193 static int
6194 dissect_ansi_map_CDMAConnectionReferenceList_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_) {
6195   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6196                                    CDMAConnectionReferenceList_item_sequence, hf_index, ett_ansi_map_CDMAConnectionReferenceList_item);
6197
6198   return offset;
6199 }
6200
6201
6202 static const ber_sequence_t CDMAConnectionReferenceList_sequence_of[1] = {
6203   { &hf_ansi_map_CDMAConnectionReferenceList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CDMAConnectionReferenceList_item },
6204 };
6205
6206 static int
6207 dissect_ansi_map_CDMAConnectionReferenceList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6208   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6209                                       CDMAConnectionReferenceList_sequence_of, hf_index, ett_ansi_map_CDMAConnectionReferenceList);
6210
6211   return offset;
6212 }
6213
6214
6215
6216 static int
6217 dissect_ansi_map_CDMAMSMeasuredChannelIdentity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6218   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6219                                        NULL);
6220
6221   return offset;
6222 }
6223
6224
6225
6226 static int
6227 dissect_ansi_map_CDMAServiceConfigurationRecord(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6228   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6229                                        NULL);
6230
6231   return offset;
6232 }
6233
6234
6235 static const ber_sequence_t CDMAServiceOptionList_sequence_of[1] = {
6236   { &hf_ansi_map_CDMAServiceOptionList_item, BER_CLASS_CON, 175, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
6237 };
6238
6239 static int
6240 dissect_ansi_map_CDMAServiceOptionList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6241   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6242                                       CDMAServiceOptionList_sequence_of, hf_index, ett_ansi_map_CDMAServiceOptionList);
6243
6244   return offset;
6245 }
6246
6247
6248
6249 static int
6250 dissect_ansi_map_CDMAServingOneWayDelay(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6251   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6252                                        NULL);
6253
6254   return offset;
6255 }
6256
6257
6258
6259 static int
6260 dissect_ansi_map_CDMAStationClassMark(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6261 #line 103 "ansi_map.cnf"
6262         tvbuff_t *parameter_tvb = NULL;
6263   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6264                                        &parameter_tvb);
6265
6266         if (parameter_tvb){
6267                 dissect_ansi_map_cdmastationclassmark(parameter_tvb,actx->pinfo,tree, actx);
6268         }
6269
6270
6271
6272   return offset;
6273 }
6274
6275
6276
6277 static int
6278 dissect_ansi_map_CDMAPilotStrength(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6279   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6280                                        NULL);
6281
6282   return offset;
6283 }
6284
6285
6286
6287 static int
6288 dissect_ansi_map_CDMATargetOneWayDelay(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6289   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6290                                        NULL);
6291
6292   return offset;
6293 }
6294
6295
6296 static const ber_sequence_t CDMATargetMAHOInformation_sequence[] = {
6297   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6298   { &hf_ansi_map_cdmaPilotStrength, BER_CLASS_CON, 65, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPilotStrength },
6299   { &hf_ansi_map_cdmaTargetOneWayDelay, BER_CLASS_CON, 61, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetOneWayDelay },
6300   { NULL, 0, 0, 0, NULL }
6301 };
6302
6303 static int
6304 dissect_ansi_map_CDMATargetMAHOInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6305   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6306                                    CDMATargetMAHOInformation_sequence, hf_index, ett_ansi_map_CDMATargetMAHOInformation);
6307
6308   return offset;
6309 }
6310
6311
6312 static const ber_sequence_t CDMATargetMAHOList_sequence_of[1] = {
6313   { &hf_ansi_map_CDMATargetMAHOList_item, BER_CLASS_CON, 135, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOInformation },
6314 };
6315
6316 static int
6317 dissect_ansi_map_CDMATargetMAHOList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6318   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6319                                       CDMATargetMAHOList_sequence_of, hf_index, ett_ansi_map_CDMATargetMAHOList);
6320
6321   return offset;
6322 }
6323
6324
6325
6326 static int
6327 dissect_ansi_map_CDMASignalQuality(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6328   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6329                                        NULL);
6330
6331   return offset;
6332 }
6333
6334
6335 static const ber_sequence_t CDMATargetMeasurementInformation_sequence[] = {
6336   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6337   { &hf_ansi_map_cdmaSignalQuality, BER_CLASS_CON, 64, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASignalQuality },
6338   { &hf_ansi_map_cdmaTargetOneWayDelay, BER_CLASS_CON, 61, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetOneWayDelay },
6339   { NULL, 0, 0, 0, NULL }
6340 };
6341
6342 static int
6343 dissect_ansi_map_CDMATargetMeasurementInformation(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                                    CDMATargetMeasurementInformation_sequence, hf_index, ett_ansi_map_CDMATargetMeasurementInformation);
6346
6347   return offset;
6348 }
6349
6350
6351 static const ber_sequence_t CDMATargetMeasurementList_sequence_of[1] = {
6352   { &hf_ansi_map_CDMATargetMeasurementList_item, BER_CLASS_CON, 133, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementInformation },
6353 };
6354
6355 static int
6356 dissect_ansi_map_CDMATargetMeasurementList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6357   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6358                                       CDMATargetMeasurementList_sequence_of, hf_index, ett_ansi_map_CDMATargetMeasurementList);
6359
6360   return offset;
6361 }
6362
6363
6364
6365 static int
6366 dissect_ansi_map_ISLPInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6367   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6368                                        NULL);
6369
6370   return offset;
6371 }
6372
6373
6374
6375 static int
6376 dissect_ansi_map_MSLocation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6377 #line 198 "ansi_map.cnf"
6378         tvbuff_t *parameter_tvb = NULL;
6379   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6380                                        &parameter_tvb);
6381
6382         if (parameter_tvb){
6383                 dissect_ansi_map_mslocation(parameter_tvb,actx->pinfo,tree, actx);
6384         }
6385
6386
6387
6388   return offset;
6389 }
6390
6391
6392
6393 static int
6394 dissect_ansi_map_NAMPSCallMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6395 #line 206 "ansi_map.cnf"
6396         tvbuff_t *parameter_tvb = NULL;
6397   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6398                                        &parameter_tvb);
6399
6400         if (parameter_tvb){
6401                 dissect_ansi_map_nampscallmode(parameter_tvb,actx->pinfo,tree, actx);
6402         }
6403
6404
6405
6406   return offset;
6407 }
6408
6409
6410
6411 static int
6412 dissect_ansi_map_NAMPSChannelData(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 #line 214 "ansi_map.cnf"
6414         tvbuff_t *parameter_tvb = NULL;
6415   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6416                                        &parameter_tvb);
6417
6418         if (parameter_tvb){
6419                 dissect_ansi_map_nampschanneldata(parameter_tvb,actx->pinfo,tree, actx);
6420         }
6421
6422
6423
6424   return offset;
6425 }
6426
6427
6428
6429 static int
6430 dissect_ansi_map_NonPublicData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6431   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6432                                        NULL);
6433
6434   return offset;
6435 }
6436
6437
6438
6439 static int
6440 dissect_ansi_map_PDSNAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6441   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6442                                        NULL);
6443
6444   return offset;
6445 }
6446
6447
6448
6449 static int
6450 dissect_ansi_map_PDSNProtocolType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6451   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6452                                        NULL);
6453
6454   return offset;
6455 }
6456
6457
6458
6459 static int
6460 dissect_ansi_map_QoSPriority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6461   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6462                                        NULL);
6463
6464   return offset;
6465 }
6466
6467
6468
6469 static int
6470 dissect_ansi_map_SystemOperatorCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6471   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6472                                        NULL);
6473
6474   return offset;
6475 }
6476
6477
6478
6479 static int
6480 dissect_ansi_map_TDMABandwidth(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6481   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6482                                        NULL);
6483
6484   return offset;
6485 }
6486
6487
6488
6489 static int
6490 dissect_ansi_map_TDMAServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6491   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6492                                        NULL);
6493
6494   return offset;
6495 }
6496
6497
6498
6499 static int
6500 dissect_ansi_map_TDMATerminalCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6501   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6502                                        NULL);
6503
6504   return offset;
6505 }
6506
6507
6508
6509 static int
6510 dissect_ansi_map_TDMAVoiceCoder(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6511   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6512                                        NULL);
6513
6514   return offset;
6515 }
6516
6517
6518
6519 static int
6520 dissect_ansi_map_UserZoneData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6521   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6522                                        NULL);
6523
6524   return offset;
6525 }
6526
6527
6528 static const ber_sequence_t FacilitiesDirective2_U_set[] = {
6529   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
6530   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
6531   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
6532   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
6533   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
6534   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
6535   { &hf_ansi_map_baseStationManufacturerCode, BER_CLASS_CON, 197, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationManufacturerCode },
6536   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
6537   { &hf_ansi_map_cdma2000HandoffInvokeIOSData, BER_CLASS_CON, 356, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffInvokeIOSData },
6538   { &hf_ansi_map_cdmaBandClassList, BER_CLASS_CON, 172, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassList },
6539   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
6540   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
6541   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
6542   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
6543   { &hf_ansi_map_cdmaMSMeasuredChannelIdentity, BER_CLASS_CON, 351, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMSMeasuredChannelIdentity },
6544   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
6545   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
6546   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
6547   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
6548   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
6549   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
6550   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
6551   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
6552   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
6553   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
6554   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
6555   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
6556   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
6557   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
6558   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
6559   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
6560   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
6561   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
6562   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
6563   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
6564   { &hf_ansi_map_pdsnAddress, BER_CLASS_CON, 349, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNAddress },
6565   { &hf_ansi_map_pdsnProtocolType, BER_CLASS_CON, 350, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNProtocolType },
6566   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
6567   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
6568   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
6569   { &hf_ansi_map_systemOperatorCode, BER_CLASS_CON, 206, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemOperatorCode },
6570   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6571   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
6572   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
6573   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
6574   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
6575   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
6576   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL, dissect_ansi_map_TDMATerminalCapability },
6577   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
6578   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
6579   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
6580   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
6581   { NULL, 0, 0, 0, NULL }
6582 };
6583
6584 static int
6585 dissect_ansi_map_FacilitiesDirective2_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_) {
6586   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6587                               FacilitiesDirective2_U_set, hf_index, ett_ansi_map_FacilitiesDirective2_U);
6588
6589   return offset;
6590 }
6591
6592
6593
6594 static int
6595 dissect_ansi_map_FacilitiesDirective2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6596   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6597                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirective2_U);
6598
6599   return offset;
6600 }
6601
6602
6603
6604 static int
6605 dissect_ansi_map_BSMCStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6606   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6607                                        NULL);
6608
6609   return offset;
6610 }
6611
6612
6613
6614 static int
6615 dissect_ansi_map_CDMA2000HandoffResponseIOSData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6616 #line 419 "ansi_map.cnf"
6617         tvbuff_t *parameter_tvb = NULL;
6618     proto_tree *subtree;
6619
6620   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6621                                        &parameter_tvb);
6622
6623         if (parameter_tvb){
6624                 subtree = proto_item_add_subtree(actx->created_item, ett_CDMA2000HandoffResponseIOSData);
6625                 dissect_cdma2000_a1_elements(parameter_tvb, actx->pinfo, subtree, 
6626                         0, tvb_length_remaining(parameter_tvb,0));
6627         }
6628
6629
6630   return offset;
6631 }
6632
6633
6634
6635 static int
6636 dissect_ansi_map_CDMACodeChannel(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6637   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6638                                        NULL);
6639
6640   return offset;
6641 }
6642
6643
6644
6645 static int
6646 dissect_ansi_map_CDMAPilotPN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6647   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6648                                        NULL);
6649
6650   return offset;
6651 }
6652
6653
6654
6655 static int
6656 dissect_ansi_map_CDMAPowerCombinedIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6657   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6658                                        NULL);
6659
6660   return offset;
6661 }
6662
6663
6664 static const ber_sequence_t CDMACodeChannelInformation_sequence[] = {
6665   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6666   { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
6667   { &hf_ansi_map_cdmaPilotPN, BER_CLASS_CON, 173, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPilotPN },
6668   { &hf_ansi_map_cdmaPowerCombinedIndicator, BER_CLASS_CON, 228, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPowerCombinedIndicator },
6669   { NULL, 0, 0, 0, NULL }
6670 };
6671
6672 static int
6673 dissect_ansi_map_CDMACodeChannelInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6674   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6675                                    CDMACodeChannelInformation_sequence, hf_index, ett_ansi_map_CDMACodeChannelInformation);
6676
6677   return offset;
6678 }
6679
6680
6681 static const ber_sequence_t CDMACodeChannelList_sequence_of[1] = {
6682   { &hf_ansi_map_CDMACodeChannelList_item, BER_CLASS_CON, 131, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelInformation },
6683 };
6684
6685 static int
6686 dissect_ansi_map_CDMACodeChannelList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6687   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6688                                       CDMACodeChannelList_sequence_of, hf_index, ett_ansi_map_CDMACodeChannelList);
6689
6690   return offset;
6691 }
6692
6693
6694
6695 static int
6696 dissect_ansi_map_CDMASearchParameters(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6697   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6698                                        NULL);
6699
6700   return offset;
6701 }
6702
6703
6704
6705 static int
6706 dissect_ansi_map_CDMASearchWindow(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6707   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6708                                        NULL);
6709
6710   return offset;
6711 }
6712
6713
6714
6715 static int
6716 dissect_ansi_map_SOCStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6717   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6718                                        NULL);
6719
6720   return offset;
6721 }
6722
6723
6724 static const ber_sequence_t FacilitiesDirective2Res_U_set[] = {
6725   { &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
6726   { &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
6727   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
6728   { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
6729   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
6730   { &hf_ansi_map_cdmaSearchParameters, BER_CLASS_CON, 230, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchParameters },
6731   { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
6732   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
6733   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
6734   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
6735   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
6736   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
6737   { &hf_ansi_map_sOCStatus  , BER_CLASS_CON, 205, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SOCStatus },
6738   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6739   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
6740   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
6741   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
6742   { NULL, 0, 0, 0, NULL }
6743 };
6744
6745 static int
6746 dissect_ansi_map_FacilitiesDirective2Res_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_) {
6747   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6748                               FacilitiesDirective2Res_U_set, hf_index, ett_ansi_map_FacilitiesDirective2Res_U);
6749
6750   return offset;
6751 }
6752
6753
6754
6755 static int
6756 dissect_ansi_map_FacilitiesDirective2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6757   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6758                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirective2Res_U);
6759
6760   return offset;
6761 }
6762
6763
6764 static const value_string ansi_map_ReleaseReason_vals[] = {
6765   {   0, "unspecified" },
6766   {   1, "callOverClearForward" },
6767   {   2, "callOverClearBackward" },
6768   {   3, "handoffSuccessful" },
6769   {   4, "handoffAbort-call-over" },
6770   {   5, "handoffAbort-not-received" },
6771   {   6, "abnormalMobileTermination" },
6772   {   7, "abnormalSwitchTermination" },
6773   {   8, "specialFeatureRelease" },
6774   {   9, "sessionOverClearForward" },
6775   {  10, "sessionOverClearBackward" },
6776   {  11, "clearAllServicesForward" },
6777   {  12, "clearAllServicesBackward" },
6778   {  13, "anchor-MSC-was-removed-from-the-packet-data-session" },
6779   {  14, "keep-MS-on-traffic-channel" },
6780   { 0, NULL }
6781 };
6782
6783
6784 static int
6785 dissect_ansi_map_ReleaseReason(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_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6787                                   NULL);
6788
6789   return offset;
6790 }
6791
6792
6793 static const ber_sequence_t FacilitiesRelease_U_set[] = {
6794   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
6795   { &hf_ansi_map_releaseReason, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseReason },
6796   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
6797   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
6798   { NULL, 0, 0, 0, NULL }
6799 };
6800
6801 static int
6802 dissect_ansi_map_FacilitiesRelease_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_) {
6803   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6804                               FacilitiesRelease_U_set, hf_index, ett_ansi_map_FacilitiesRelease_U);
6805
6806   return offset;
6807 }
6808
6809
6810
6811 static int
6812 dissect_ansi_map_FacilitiesRelease(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6813   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6814                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesRelease_U);
6815
6816   return offset;
6817 }
6818
6819
6820 static const ber_sequence_t FacilitiesReleaseRes_U_set[] = {
6821   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
6822   { NULL, 0, 0, 0, NULL }
6823 };
6824
6825 static int
6826 dissect_ansi_map_FacilitiesReleaseRes_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_) {
6827   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6828                               FacilitiesReleaseRes_U_set, hf_index, ett_ansi_map_FacilitiesReleaseRes_U);
6829
6830   return offset;
6831 }
6832
6833
6834
6835 static int
6836 dissect_ansi_map_FacilitiesReleaseRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6837   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6838                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesReleaseRes_U);
6839
6840   return offset;
6841 }
6842
6843
6844
6845 static int
6846 dissect_ansi_map_ACGEncountered(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6847   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6848                                        NULL);
6849
6850   return offset;
6851 }
6852
6853
6854
6855 static int
6856 dissect_ansi_map_CallingPartyName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6857 #line 369 "ansi_map.cnf"
6858         tvbuff_t *parameter_tvb = NULL;
6859   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6860                                        &parameter_tvb);
6861
6862         if (parameter_tvb){
6863                 dissect_ansi_map_callingpartyname(parameter_tvb,actx->pinfo,tree, actx);
6864         }
6865
6866
6867
6868   return offset;
6869 }
6870
6871
6872
6873 static int
6874 dissect_ansi_map_CallingPartyNumberDigits1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6875   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6876
6877   return offset;
6878 }
6879
6880
6881
6882 static int
6883 dissect_ansi_map_CallingPartyNumberDigits2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6884   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6885
6886   return offset;
6887 }
6888
6889
6890
6891 static int
6892 dissect_ansi_map_Subaddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6893 #line 40 "ansi_map.cnf"
6894         tvbuff_t *parameter_tvb = NULL;
6895   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6896                                        &parameter_tvb);
6897
6898         if (parameter_tvb){
6899                 dissect_ansi_map_subaddress(parameter_tvb,actx->pinfo,tree, actx);
6900         }
6901
6902
6903
6904   return offset;
6905 }
6906
6907
6908
6909 static int
6910 dissect_ansi_map_CallingPartySubaddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6911   offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
6912
6913   return offset;
6914 }
6915
6916
6917
6918 static int
6919 dissect_ansi_map_ConferenceCallingIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6920   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6921                                        NULL);
6922
6923   return offset;
6924 }
6925
6926
6927
6928 static int
6929 dissect_ansi_map_MobileDirectoryNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6930   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6931
6932   return offset;
6933 }
6934
6935
6936
6937 static int
6938 dissect_ansi_map_MSCIdentificationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6939   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6940
6941   return offset;
6942 }
6943
6944
6945
6946 static int
6947 dissect_ansi_map_OneTimeFeatureIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6948 #line 222 "ansi_map.cnf"
6949         tvbuff_t *parameter_tvb = NULL;
6950   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6951                                        &parameter_tvb);
6952
6953         if (parameter_tvb){
6954                 dissect_ansi_map_onetimefeatureindicator(parameter_tvb,actx->pinfo,tree, actx);
6955         }
6956
6957
6958
6959   return offset;
6960 }
6961
6962
6963 static const value_string ansi_map_SystemMyTypeCode_vals[] = {
6964   {   0, "not-used" },
6965   {   1, "eDS" },
6966   {   2, "astronet" },
6967   {   3, "lucent-Technologies" },
6968   {   4, "ericsson" },
6969   {   5, "gTE" },
6970   {   6, "motorola" },
6971   {   7, "nEC" },
6972   {   8, "nORTEL" },
6973   {   9, "novAtel" },
6974   {  10, "plexsys" },
6975   {  11, "digital-Equipment-Corp" },
6976   {  12, "iNET" },
6977   {  13, "bellcore" },
6978   {  14, "alcatel-SEL" },
6979   {  15, "compaq" },
6980   {  16, "qUALCOMM" },
6981   {  17, "aldiscon" },
6982   {  18, "celcore" },
6983   {  19, "tELOS" },
6984   {  20, "aDI-Limited" },
6985   {  21, "coral-Systems" },
6986   {  22, "synacom-Technology" },
6987   {  23, "dSC" },
6988   {  24, "mCI" },
6989   {  25, "newNet" },
6990   {  26, "sema-Group-Telecoms" },
6991   {  27, "lG-Information-and-Communications" },
6992   {  28, "cBIS" },
6993   {  29, "siemens" },
6994   {  30, "samsung-Electronics" },
6995   {  31, "readyCom-Inc" },
6996   {  32, "aG-Communication-Systems" },
6997   {  33, "hughes-Network-Systems" },
6998   {  34, "phoenix-Wireless-Group" },
6999   { 0, NULL }
7000 };
7001
7002
7003 static int
7004 dissect_ansi_map_SystemMyTypeCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7005   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7006                                   NULL);
7007
7008   return offset;
7009 }
7010
7011
7012 static const ber_sequence_t FeatureRequest_U_set[] = {
7013   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
7014   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7015   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
7016   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7017   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
7018   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
7019   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
7020   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
7021   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
7022   { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
7023   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
7024   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7025   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
7026   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
7027   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
7028   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
7029   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
7030   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
7031   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
7032   { NULL, 0, 0, 0, NULL }
7033 };
7034
7035 static int
7036 dissect_ansi_map_FeatureRequest_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_) {
7037   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7038                               FeatureRequest_U_set, hf_index, ett_ansi_map_FeatureRequest_U);
7039
7040   return offset;
7041 }
7042
7043
7044
7045 static int
7046 dissect_ansi_map_FeatureRequest(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   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7048                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FeatureRequest_U);
7049
7050   return offset;
7051 }
7052
7053
7054 static const value_string ansi_map_FeatureResult_vals[] = {
7055   {   0, "not-used" },
7056   {   1, "unsuccessful" },
7057   {   2, "successful" },
7058   { 0, NULL }
7059 };
7060
7061
7062 static int
7063 dissect_ansi_map_FeatureResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7064   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7065                                   NULL);
7066
7067   return offset;
7068 }
7069
7070
7071 static const value_string ansi_map_AccessDeniedReason_vals[] = {
7072   {   0, "not-used" },
7073   {   1, "unassigned-directory-number" },
7074   {   2, "inactive" },
7075   {   3, "busy" },
7076   {   4, "termination-denied" },
7077   {   5, "no-page-response" },
7078   {   6, "unavailable" },
7079   {   7, "service-Rejected-by-MS" },
7080   {   8, "services-Rejected-by-the-System" },
7081   {   9, "service-Type-Mismatch" },
7082   {  10, "service-Denied" },
7083   {  12, "position-Determination-Not-Supported" },
7084   { 0, NULL }
7085 };
7086
7087
7088 static int
7089 dissect_ansi_map_AccessDeniedReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7090   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7091                                   NULL);
7092
7093   return offset;
7094 }
7095
7096
7097
7098 static int
7099 dissect_ansi_map_ActionCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7100   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7101                                        NULL);
7102
7103   return offset;
7104 }
7105
7106
7107
7108 static int
7109 dissect_ansi_map_AnnouncementCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7110 #line 56 "ansi_map.cnf"
7111         tvbuff_t *parameter_tvb = NULL;
7112   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7113                                        &parameter_tvb);
7114
7115         if (parameter_tvb){
7116                 dissect_ansi_map_announcementcode(parameter_tvb,actx->pinfo,tree, actx);
7117         }
7118
7119
7120
7121   return offset;
7122 }
7123
7124
7125 static const ber_sequence_t AnnouncementList_sequence[] = {
7126   { &hf_ansi_map_announcementCode1, BER_CLASS_CON, 76, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementCode },
7127   { &hf_ansi_map_announcementCode2, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementCode },
7128   { NULL, 0, 0, 0, NULL }
7129 };
7130
7131 static int
7132 dissect_ansi_map_AnnouncementList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7133   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7134                                    AnnouncementList_sequence, hf_index, ett_ansi_map_AnnouncementList);
7135
7136   return offset;
7137 }
7138
7139
7140
7141 static int
7142 dissect_ansi_map_CallingPartyNumberString1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7143   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7144
7145   return offset;
7146 }
7147
7148
7149
7150 static int
7151 dissect_ansi_map_CallingPartyNumberString2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7152   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7153
7154   return offset;
7155 }
7156
7157
7158
7159 static int
7160 dissect_ansi_map_DisplayText(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7161   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7162                                        NULL);
7163
7164   return offset;
7165 }
7166
7167
7168
7169 static int
7170 dissect_ansi_map_DisplayText2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7171   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7172                                        NULL);
7173
7174   return offset;
7175 }
7176
7177
7178
7179 static int
7180 dissect_ansi_map_DMH_AccountCodeDigits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7181   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7182
7183   return offset;
7184 }
7185
7186
7187
7188 static int
7189 dissect_ansi_map_DMH_AlternateBillingDigits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7190   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7191
7192   return offset;
7193 }
7194
7195
7196
7197 static int
7198 dissect_ansi_map_DMH_BillingDigits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7199   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7200
7201   return offset;
7202 }
7203
7204
7205 static const value_string ansi_map_DMH_RedirectionIndicator_vals[] = {
7206   {   0, "not-specified" },
7207   {   1, "cfu" },
7208   {   2, "cfb" },
7209   {   3, "cfna" },
7210   {   4, "cfo" },
7211   {   5, "cd-Unspecified" },
7212   {   6, "cd-PSTN" },
7213   {   7, "cd-Private" },
7214   {   8, "pstn-Tandem" },
7215   {   9, "private" },
7216   {  10, "busy" },
7217   {  11, "inactive" },
7218   {  12, "unassigned" },
7219   {  13, "termination-denied" },
7220   {  14, "cd-failure" },
7221   {  15, "ect" },
7222   {  16, "mah" },
7223   {  17, "fa" },
7224   {  18, "abandoned-call-leg" },
7225   {  19, "pca-call-refused" },
7226   {  20, "sca-call-refused" },
7227   {  21, "dialogue" },
7228   {  22, "cfd" },
7229   {  23, "cd-local" },
7230   {  24, "voice-mail-retrieval" },
7231   { 0, NULL }
7232 };
7233
7234
7235 static int
7236 dissect_ansi_map_DMH_RedirectionIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7237   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7238                                   NULL);
7239
7240   return offset;
7241 }
7242
7243
7244
7245 static int
7246 dissect_ansi_map_GroupInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7247   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7248                                        NULL);
7249
7250   return offset;
7251 }
7252
7253
7254
7255 static int
7256 dissect_ansi_map_NoAnswerTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7257   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7258                                        NULL);
7259
7260   return offset;
7261 }
7262
7263
7264
7265 static int
7266 dissect_ansi_map_PACAIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7267 #line 238 "ansi_map.cnf"
7268         tvbuff_t *parameter_tvb = NULL;
7269   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7270                                        &parameter_tvb);
7271
7272         if (parameter_tvb){
7273                 dissect_ansi_map_pacaindicator(parameter_tvb,actx->pinfo,tree, actx);
7274         }
7275
7276
7277
7278   return offset;
7279 }
7280
7281
7282
7283 static int
7284 dissect_ansi_map_PilotNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7285   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7286
7287   return offset;
7288 }
7289
7290
7291
7292 static int
7293 dissect_ansi_map_PreferredLanguageIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7294   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7295                                        NULL);
7296
7297   return offset;
7298 }
7299
7300
7301
7302 static int
7303 dissect_ansi_map_RedirectingNumberDigits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7304   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7305
7306   return offset;
7307 }
7308
7309
7310
7311 static int
7312 dissect_ansi_map_RedirectingNumberString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7313   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7314
7315   return offset;
7316 }
7317
7318
7319
7320 static int
7321 dissect_ansi_map_RedirectingSubaddress(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   offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
7323
7324   return offset;
7325 }
7326
7327
7328 static const value_string ansi_map_ResumePIC_vals[] = {
7329   {   1, "continue-Call-Processing" },
7330   {   2, "collect-Information-PIC" },
7331   {   3, "analyze-Information-PIC" },
7332   {   4, "select-Route-PIC" },
7333   {   5, "authorize-Origination-Attempt-PIC" },
7334   {   6, "authorize-Call-Setup-PIC" },
7335   {   7, "send-Call-PIC" },
7336   {   8, "o-Alerting-PIC" },
7337   {   9, "o-Active-PIC" },
7338   {  10, "o-Suspended-PIC" },
7339   {  11, "o-Null-PIC" },
7340   {  32, "select-Facility-PIC" },
7341   {  33, "present-Call-PIC" },
7342   {  34, "authorize-Termination-Attempt-PIC" },
7343   {  35, "t-Alerting-PIC" },
7344   {  36, "t-Active-PIC" },
7345   {  37, "t-Suspended-PIC" },
7346   {  38, "t-Null-PIC" },
7347   { 0, NULL }
7348 };
7349
7350
7351 static int
7352 dissect_ansi_map_ResumePIC(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7353   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7354                                   NULL);
7355
7356   return offset;
7357 }
7358
7359
7360
7361 static int
7362 dissect_ansi_map_LegInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7363   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7364                                        NULL);
7365
7366   return offset;
7367 }
7368
7369
7370
7371 static int
7372 dissect_ansi_map_TerminationTriggers(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7373 #line 342 "ansi_map.cnf"
7374         tvbuff_t *parameter_tvb = NULL;
7375   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7376                                        &parameter_tvb);
7377
7378         if (parameter_tvb){
7379                 dissect_ansi_map_terminationtriggers(parameter_tvb,actx->pinfo,tree, actx);
7380         }
7381
7382
7383
7384   return offset;
7385 }
7386
7387
7388 static const ber_sequence_t IntersystemTermination_sequence[] = {
7389   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
7390   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
7391   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
7392   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7393   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7394   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7395   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7396   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
7397   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
7398   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7399   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
7400   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7401   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7402   { NULL, 0, 0, 0, NULL }
7403 };
7404
7405 static int
7406 dissect_ansi_map_IntersystemTermination(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7407   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7408                                    IntersystemTermination_sequence, hf_index, ett_ansi_map_IntersystemTermination);
7409
7410   return offset;
7411 }
7412
7413
7414
7415 static int
7416 dissect_ansi_map_TerminationTreatment(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7417   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7418                                        NULL);
7419
7420   return offset;
7421 }
7422
7423
7424
7425 static int
7426 dissect_ansi_map_VoiceMailboxPIN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7427   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7428
7429   return offset;
7430 }
7431
7432
7433
7434 static int
7435 dissect_ansi_map_VoiceMailboxNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7436   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7437
7438   return offset;
7439 }
7440
7441
7442 static const ber_sequence_t LocalTermination_sequence[] = {
7443   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7444   { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
7445   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
7446   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7447   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
7448   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7449   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
7450   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
7451   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7452   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
7453   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7454   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7455   { &hf_ansi_map_voiceMailboxPIN, BER_CLASS_CON, 159, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxPIN },
7456   { &hf_ansi_map_voiceMailboxNumber, BER_CLASS_CON, 160, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxNumber },
7457   { NULL, 0, 0, 0, NULL }
7458 };
7459
7460 static int
7461 dissect_ansi_map_LocalTermination(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7462   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7463                                    LocalTermination_sequence, hf_index, ett_ansi_map_LocalTermination);
7464
7465   return offset;
7466 }
7467
7468
7469 static const ber_sequence_t PSTNTermination_sequence[] = {
7470   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
7471   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7472   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7473   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7474   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
7475   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7476   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7477   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7478   { NULL, 0, 0, 0, NULL }
7479 };
7480
7481 static int
7482 dissect_ansi_map_PSTNTermination(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7483   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7484                                    PSTNTermination_sequence, hf_index, ett_ansi_map_PSTNTermination);
7485
7486   return offset;
7487 }
7488
7489
7490 static const value_string ansi_map_TerminationList_item_vals[] = {
7491   {  89, "intersystemTermination" },
7492   {  91, "localTermination" },
7493   {  95, "pstnTermination" },
7494   { 0, NULL }
7495 };
7496
7497 static const ber_choice_t TerminationList_item_choice[] = {
7498   {  89, &hf_ansi_map_intersystemTermination, BER_CLASS_CON, 89, BER_FLAGS_IMPLTAG, dissect_ansi_map_IntersystemTermination },
7499   {  91, &hf_ansi_map_localTermination, BER_CLASS_CON, 91, BER_FLAGS_IMPLTAG, dissect_ansi_map_LocalTermination },
7500   {  95, &hf_ansi_map_pstnTermination, BER_CLASS_CON, 95, BER_FLAGS_IMPLTAG, dissect_ansi_map_PSTNTermination },
7501   { 0, NULL, 0, 0, 0, NULL }
7502 };
7503
7504 static int
7505 dissect_ansi_map_TerminationList_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_) {
7506   offset = dissect_ber_choice(actx, tree, tvb, offset,
7507                                  TerminationList_item_choice, hf_index, ett_ansi_map_TerminationList_item,
7508                                  NULL);
7509
7510   return offset;
7511 }
7512
7513
7514 static const ber_sequence_t TerminationList_set_of[1] = {
7515   { &hf_ansi_map_TerminationList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_TerminationList_item },
7516 };
7517
7518 static int
7519 dissect_ansi_map_TerminationList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7520   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
7521                                  TerminationList_set_of, hf_index, ett_ansi_map_TerminationList);
7522
7523   return offset;
7524 }
7525
7526
7527
7528 static int
7529 dissect_ansi_map_GlobalTitle(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7530   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7531                                        NULL);
7532
7533   return offset;
7534 }
7535
7536
7537 static const value_string ansi_map_DestinationAddress_vals[] = {
7538   { 261, "globalTitle" },
7539   {  32, "pC-SSN" },
7540   { 0, NULL }
7541 };
7542
7543 static const ber_choice_t DestinationAddress_choice[] = {
7544   { 261, &hf_ansi_map_globalTitle, BER_CLASS_CON, 261, BER_FLAGS_IMPLTAG, dissect_ansi_map_GlobalTitle },
7545   {  32, &hf_ansi_map_pC_SSN     , BER_CLASS_CON, 32, BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
7546   { 0, NULL, 0, 0, 0, NULL }
7547 };
7548
7549 static int
7550 dissect_ansi_map_DestinationAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7551   offset = dissect_ber_choice(actx, tree, tvb, offset,
7552                                  DestinationAddress_choice, hf_index, ett_ansi_map_DestinationAddress,
7553                                  NULL);
7554
7555   return offset;
7556 }
7557
7558
7559
7560 static int
7561 dissect_ansi_map_WIN_TriggerList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7562 #line 392 "ansi_map.cnf"
7563         tvbuff_t *parameter_tvb = NULL;
7564   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7565                                        &parameter_tvb);
7566
7567         if (parameter_tvb){
7568                 dissect_ansi_map_win_trigger_list(parameter_tvb,actx->pinfo,tree, actx);
7569         }
7570
7571
7572
7573   return offset;
7574 }
7575
7576
7577 static const ber_sequence_t TriggerList_set[] = {
7578   { &hf_ansi_map_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_DestinationAddress },
7579   { &hf_ansi_map_wIN_TriggerList, BER_CLASS_CON, 283, BER_FLAGS_IMPLTAG, dissect_ansi_map_WIN_TriggerList },
7580   { NULL, 0, 0, 0, NULL }
7581 };
7582
7583 static int
7584 dissect_ansi_map_TriggerList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7585   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7586                               TriggerList_set, hf_index, ett_ansi_map_TriggerList);
7587
7588   return offset;
7589 }
7590
7591
7592 static const ber_sequence_t TriggerAddressList_set[] = {
7593   { &hf_ansi_map_triggerList, BER_CLASS_CON, 278, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerList },
7594   { &hf_ansi_map_triggerListOpt, BER_CLASS_CON, 278, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerList },
7595   { NULL, 0, 0, 0, NULL }
7596 };
7597
7598 static int
7599 dissect_ansi_map_TriggerAddressList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7600   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7601                               TriggerAddressList_set, hf_index, ett_ansi_map_TriggerAddressList);
7602
7603   return offset;
7604 }
7605
7606
7607 static const ber_sequence_t FeatureRequestRes_U_set[] = {
7608   { &hf_ansi_map_featureResult, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureResult },
7609   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
7610   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
7611   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
7612   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
7613   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
7614   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
7615   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7616   { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
7617   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
7618   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
7619   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
7620   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
7621   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
7622   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
7623   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
7624   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
7625   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
7626   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
7627   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
7628   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
7629   { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
7630   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
7631   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
7632   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
7633   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
7634   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
7635   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
7636   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7637   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
7638   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7639   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
7640   { NULL, 0, 0, 0, NULL }
7641 };
7642
7643 static int
7644 dissect_ansi_map_FeatureRequestRes_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_) {
7645   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7646                               FeatureRequestRes_U_set, hf_index, ett_ansi_map_FeatureRequestRes_U);
7647
7648   return offset;
7649 }
7650
7651
7652
7653 static int
7654 dissect_ansi_map_FeatureRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7655   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7656                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FeatureRequestRes_U);
7657
7658   return offset;
7659 }
7660
7661
7662
7663 static int
7664 dissect_ansi_map_EmergencyServicesRoutingDigits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7665   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7666
7667   return offset;
7668 }
7669
7670
7671 static const ber_sequence_t FlashRequest_U_set[] = {
7672   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
7673   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
7674   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7675   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7676   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7677   { &hf_ansi_map_emergencyServicesRoutingDigits, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_EmergencyServicesRoutingDigits },
7678   { NULL, 0, 0, 0, NULL }
7679 };
7680
7681 static int
7682 dissect_ansi_map_FlashRequest_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_) {
7683   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7684                               FlashRequest_U_set, hf_index, ett_ansi_map_FlashRequest_U);
7685
7686   return offset;
7687 }
7688
7689
7690
7691 static int
7692 dissect_ansi_map_FlashRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7693   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7694                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FlashRequest_U);
7695
7696   return offset;
7697 }
7698
7699
7700 static const ber_sequence_t HandoffBack_U_set[] = {
7701   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7702   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
7703   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7704   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7705   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7706   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7707   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7708   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
7709   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
7710   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
7711   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7712   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7713   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7714   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
7715   { NULL, 0, 0, 0, NULL }
7716 };
7717
7718 static int
7719 dissect_ansi_map_HandoffBack_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_) {
7720   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7721                               HandoffBack_U_set, hf_index, ett_ansi_map_HandoffBack_U);
7722
7723   return offset;
7724 }
7725
7726
7727
7728 static int
7729 dissect_ansi_map_HandoffBack(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7730   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7731                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBack_U);
7732
7733   return offset;
7734 }
7735
7736
7737 static const ber_sequence_t HandoffBackRes_U_set[] = {
7738   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7739   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7740   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7741   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7742   { NULL, 0, 0, 0, NULL }
7743 };
7744
7745 static int
7746 dissect_ansi_map_HandoffBackRes_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_) {
7747   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7748                               HandoffBackRes_U_set, hf_index, ett_ansi_map_HandoffBackRes_U);
7749
7750   return offset;
7751 }
7752
7753
7754
7755 static int
7756 dissect_ansi_map_HandoffBackRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7757   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7758                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBackRes_U);
7759
7760   return offset;
7761 }
7762
7763
7764 static const ber_sequence_t HandoffBack2_U_set[] = {
7765   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7766   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
7767   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7768   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7769   { &hf_ansi_map_baseStationManufacturerCode, BER_CLASS_CON, 197, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationManufacturerCode },
7770   { &hf_ansi_map_cdma2000HandoffInvokeIOSData, BER_CLASS_CON, 356, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffInvokeIOSData },
7771   { &hf_ansi_map_cdmaBandClassList, BER_CLASS_CON, 172, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassList },
7772   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
7773   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
7774   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
7775   { &hf_ansi_map_cdmaMSMeasuredChannelIdentity, BER_CLASS_CON, 351, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMSMeasuredChannelIdentity },
7776   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
7777   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
7778   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
7779   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
7780   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
7781   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
7782   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
7783   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
7784   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
7785   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7786   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7787   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
7788   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
7789   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
7790   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
7791   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
7792   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
7793   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
7794   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
7795   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
7796   { &hf_ansi_map_pdsnAddress, BER_CLASS_CON, 349, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNAddress },
7797   { &hf_ansi_map_pdsnProtocolType, BER_CLASS_CON, 350, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNProtocolType },
7798   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
7799   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
7800   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
7801   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
7802   { &hf_ansi_map_systemOperatorCode, BER_CLASS_CON, 206, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemOperatorCode },
7803   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7804   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
7805   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7806   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7807   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7808   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
7809   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL, dissect_ansi_map_TDMATerminalCapability },
7810   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
7811   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
7812   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
7813   { NULL, 0, 0, 0, NULL }
7814 };
7815
7816 static int
7817 dissect_ansi_map_HandoffBack2_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_) {
7818   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7819                               HandoffBack2_U_set, hf_index, ett_ansi_map_HandoffBack2_U);
7820
7821   return offset;
7822 }
7823
7824
7825
7826 static int
7827 dissect_ansi_map_HandoffBack2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7828   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7829                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBack2_U);
7830
7831   return offset;
7832 }
7833
7834
7835 static const ber_sequence_t HandoffBack2Res_U_set[] = {
7836   { &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
7837   { &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
7838   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
7839   { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
7840   { &hf_ansi_map_cdmaSearchParameters, BER_CLASS_CON, 230, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchParameters },
7841   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
7842   { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
7843   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
7844   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7845   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7846   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
7847   { &hf_ansi_map_sOCStatus  , BER_CLASS_CON, 205, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SOCStatus },
7848   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7849   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7850   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7851   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
7852   { NULL, 0, 0, 0, NULL }
7853 };
7854
7855 static int
7856 dissect_ansi_map_HandoffBack2Res_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_) {
7857   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7858                               HandoffBack2Res_U_set, hf_index, ett_ansi_map_HandoffBack2Res_U);
7859
7860   return offset;
7861 }
7862
7863
7864
7865 static int
7866 dissect_ansi_map_HandoffBack2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7867   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7868                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBack2Res_U);
7869
7870   return offset;
7871 }
7872
7873
7874 static const ber_sequence_t TargetCellIDList_sequence[] = {
7875   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7876   { &hf_ansi_map_targetCellID1, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7877   { NULL, 0, 0, 0, NULL }
7878 };
7879
7880 static int
7881 dissect_ansi_map_TargetCellIDList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7882   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7883                                    TargetCellIDList_sequence, hf_index, ett_ansi_map_TargetCellIDList);
7884
7885   return offset;
7886 }
7887
7888
7889 static const ber_sequence_t HandoffMeasurementRequest_U_set[] = {
7890   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7891   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7892   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
7893   { &hf_ansi_map_targetCellIDList, BER_CLASS_CON, 207, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellIDList },
7894   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7895   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7896   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMATerminalCapability },
7897   { NULL, 0, 0, 0, NULL }
7898 };
7899
7900 static int
7901 dissect_ansi_map_HandoffMeasurementRequest_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_) {
7902   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7903                               HandoffMeasurementRequest_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest_U);
7904
7905   return offset;
7906 }
7907
7908
7909
7910 static int
7911 dissect_ansi_map_HandoffMeasurementRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7912   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7913                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequest_U);
7914
7915   return offset;
7916 }
7917
7918
7919 static const value_string ansi_map_SignalQuality_vals[] = {
7920   {   0, "not-a-usable-signal" },
7921   {   1, "treat-as-Not-a-usable-signal" },
7922   {   2, "treat-as-Not-a-usable-signal" },
7923   {   3, "treat-as-Not-a-usable-signal" },
7924   {   4, "treat-as-Not-a-usable-signal" },
7925   {   5, "treat-as-Not-a-usable-signal" },
7926   {   6, "treat-as-Not-a-usable-signal" },
7927   {   7, "treat-as-Not-a-usable-signal" },
7928   {   8, "treat-as-Not-a-usable-signal" },
7929   {   9, "usable-signal-range" },
7930   { 245, "usable-signal-range" },
7931   { 246, "treat-the-same-as-interference" },
7932   { 247, "treat-the-same-as-interference" },
7933   { 248, "treat-the-same-as-interference" },
7934   { 249, "treat-the-same-as-interference" },
7935   { 250, "treat-the-same-as-interference" },
7936   { 251, "treat-the-same-as-interference" },
7937   { 252, "treat-the-same-as-interference" },
7938   { 253, "treat-the-same-as-interference" },
7939   { 254, "treat-the-same-as-interference" },
7940   { 255, "interference" },
7941   { 0, NULL }
7942 };
7943
7944
7945 static int
7946 dissect_ansi_map_SignalQuality(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_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7948                                                 NULL);
7949
7950   return offset;
7951 }
7952
7953
7954 static const ber_sequence_t HandoffMeasurementRequestRes_U_set[] = {
7955   { &hf_ansi_map_signalQuality, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalQuality },
7956   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7957   { NULL, 0, 0, 0, NULL }
7958 };
7959
7960 static int
7961 dissect_ansi_map_HandoffMeasurementRequestRes_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_) {
7962   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7963                               HandoffMeasurementRequestRes_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequestRes_U);
7964
7965   return offset;
7966 }
7967
7968
7969
7970 static int
7971 dissect_ansi_map_HandoffMeasurementRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7972   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7973                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequestRes_U);
7974
7975   return offset;
7976 }
7977
7978
7979 static const ber_sequence_t HandoffMeasurementRequest2_U_set[] = {
7980   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7981   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
7982   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
7983   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
7984   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
7985   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
7986   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
7987   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7988   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
7989   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
7990   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
7991   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
7992   { &hf_ansi_map_targetCellIDList, BER_CLASS_CON, 207, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellIDList },
7993   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
7994   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7995   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7996   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
7997   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMATerminalCapability },
7998   { NULL, 0, 0, 0, NULL }
7999 };
8000
8001 static int
8002 dissect_ansi_map_HandoffMeasurementRequest2_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_) {
8003   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8004                               HandoffMeasurementRequest2_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest2_U);
8005
8006   return offset;
8007 }
8008
8009
8010
8011 static int
8012 dissect_ansi_map_HandoffMeasurementRequest2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8013   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8014                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequest2_U);
8015
8016   return offset;
8017 }
8018
8019
8020 static const ber_sequence_t TargetMeasurementInformation_sequence[] = {
8021   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8022   { &hf_ansi_map_signalQuality, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalQuality },
8023   { NULL, 0, 0, 0, NULL }
8024 };
8025
8026 static int
8027 dissect_ansi_map_TargetMeasurementInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8028   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8029                                    TargetMeasurementInformation_sequence, hf_index, ett_ansi_map_TargetMeasurementInformation);
8030
8031   return offset;
8032 }
8033
8034
8035 static const ber_sequence_t TargetMeasurementList_sequence_of[1] = {
8036   { &hf_ansi_map_TargetMeasurementList_item, BER_CLASS_CON, 157, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementInformation },
8037 };
8038
8039 static int
8040 dissect_ansi_map_TargetMeasurementList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8041   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
8042                                       TargetMeasurementList_sequence_of, hf_index, ett_ansi_map_TargetMeasurementList);
8043
8044   return offset;
8045 }
8046
8047
8048 static const ber_sequence_t HandoffMeasurementRequest2Res_U_set[] = {
8049   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
8050   { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
8051   { NULL, 0, 0, 0, NULL }
8052 };
8053
8054 static int
8055 dissect_ansi_map_HandoffMeasurementRequest2Res_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_) {
8056   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8057                               HandoffMeasurementRequest2Res_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest2Res_U);
8058
8059   return offset;
8060 }
8061
8062
8063
8064 static int
8065 dissect_ansi_map_HandoffMeasurementRequest2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8066   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8067                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequest2Res_U);
8068
8069   return offset;
8070 }
8071
8072
8073 static const ber_sequence_t HandoffToThird_U_set[] = {
8074   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8075   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8076   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8077   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
8078   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8079   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
8080   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
8081   { &hf_ansi_map_baseStationManufacturerCode, BER_CLASS_CON, 197, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationManufacturerCode },
8082   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
8083   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8084   { &hf_ansi_map_cdmaBandClassList, BER_CLASS_CON, 172, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassList },
8085   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
8086   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8087   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8088   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
8089   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8090   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8091   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
8092   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8093   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8094   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
8095   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
8096   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
8097   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
8098   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
8099   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
8100   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
8101   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
8102   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8103   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
8104   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8105   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
8106   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8107   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8108   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMATerminalCapability },
8109   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8110   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8111   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
8112   { NULL, 0, 0, 0, NULL }
8113 };
8114
8115 static int
8116 dissect_ansi_map_HandoffToThird_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_) {
8117   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8118                               HandoffToThird_U_set, hf_index, ett_ansi_map_HandoffToThird_U);
8119
8120   return offset;
8121 }
8122
8123
8124
8125 static int
8126 dissect_ansi_map_HandoffToThird(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8127   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8128                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThird_U);
8129
8130   return offset;
8131 }
8132
8133
8134 static const ber_sequence_t HandoffToThirdRes_U_set[] = {
8135   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8136   { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
8137   { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
8138   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8139   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
8140   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
8141   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8142   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8143   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8144   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8145   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8146   { NULL, 0, 0, 0, NULL }
8147 };
8148
8149 static int
8150 dissect_ansi_map_HandoffToThirdRes_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_) {
8151   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8152                               HandoffToThirdRes_U_set, hf_index, ett_ansi_map_HandoffToThirdRes_U);
8153
8154   return offset;
8155 }
8156
8157
8158
8159 static int
8160 dissect_ansi_map_HandoffToThirdRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8161   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8162                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThirdRes_U);
8163
8164   return offset;
8165 }
8166
8167
8168 static const ber_sequence_t HandoffToThird2_U_set[] = {
8169   { &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
8170   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8171   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8172   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8173   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
8174   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8175   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
8176   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
8177   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8178   { &hf_ansi_map_cdma2000HandoffInvokeIOSData, BER_CLASS_CON, 356, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffInvokeIOSData },
8179   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
8180   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8181   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
8182   { &hf_ansi_map_cdmaMSMeasuredChannelIdentity, BER_CLASS_CON, 351, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMSMeasuredChannelIdentity },
8183   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8184   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
8185   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8186   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8187   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
8188   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8189   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8190   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
8191   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
8192   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
8193   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
8194   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
8195   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
8196   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
8197   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
8198   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
8199   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
8200   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8201   { &hf_ansi_map_pdsnAddress, BER_CLASS_CON, 349, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNAddress },
8202   { &hf_ansi_map_pdsnProtocolType, BER_CLASS_CON, 350, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNProtocolType },
8203   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
8204   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
8205   { &hf_ansi_map_sOCStatus  , BER_CLASS_CON, 205, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SOCStatus },
8206   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
8207   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
8208   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
8209   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8210   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
8211   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8212   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8213   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL, dissect_ansi_map_TDMATerminalCapability },
8214   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8215   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
8216   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
8217   { NULL, 0, 0, 0, NULL }
8218 };
8219
8220 static int
8221 dissect_ansi_map_HandoffToThird2_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_) {
8222   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8223                               HandoffToThird2_U_set, hf_index, ett_ansi_map_HandoffToThird2_U);
8224
8225   return offset;
8226 }
8227
8228
8229
8230 static int
8231 dissect_ansi_map_HandoffToThird2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8232   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8233                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThird2_U);
8234
8235   return offset;
8236 }
8237
8238
8239 static const ber_sequence_t HandoffToThird2Res_U_set[] = {
8240   { &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
8241   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8242   { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
8243   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
8244   { &hf_ansi_map_cdmaSearchParameters, BER_CLASS_CON, 230, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchParameters },
8245   { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
8246   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8247   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
8248   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
8249   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8250   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8251   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8252   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8253   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8254   { NULL, 0, 0, 0, NULL }
8255 };
8256
8257 static int
8258 dissect_ansi_map_HandoffToThird2Res_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_) {
8259   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8260                               HandoffToThird2Res_U_set, hf_index, ett_ansi_map_HandoffToThird2Res_U);
8261
8262   return offset;
8263 }
8264
8265
8266
8267 static int
8268 dissect_ansi_map_HandoffToThird2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8269   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8270                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThird2Res_U);
8271
8272   return offset;
8273 }
8274
8275
8276 static const ber_sequence_t InformationDirective_U_set[] = {
8277   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8278   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
8279   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8280   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
8281   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8282   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8283   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8284   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8285   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8286   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8287   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8288   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
8289   { NULL, 0, 0, 0, NULL }
8290 };
8291
8292 static int
8293 dissect_ansi_map_InformationDirective_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_) {
8294   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8295                               InformationDirective_U_set, hf_index, ett_ansi_map_InformationDirective_U);
8296
8297   return offset;
8298 }
8299
8300
8301
8302 static int
8303 dissect_ansi_map_InformationDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8304   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8305                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationDirective_U);
8306
8307   return offset;
8308 }
8309
8310
8311
8312 static int
8313 dissect_ansi_map_AlertResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8314   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8315                                        NULL);
8316
8317   return offset;
8318 }
8319
8320
8321 static const ber_sequence_t InformationDirectiveRes_U_set[] = {
8322   { &hf_ansi_map_alertResult, BER_CLASS_CON, 129, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertResult },
8323   { NULL, 0, 0, 0, NULL }
8324 };
8325
8326 static int
8327 dissect_ansi_map_InformationDirectiveRes_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_) {
8328   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8329                               InformationDirectiveRes_U_set, hf_index, ett_ansi_map_InformationDirectiveRes_U);
8330
8331   return offset;
8332 }
8333
8334
8335
8336 static int
8337 dissect_ansi_map_InformationDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8338   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8339                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationDirectiveRes_U);
8340
8341   return offset;
8342 }
8343
8344
8345
8346 static int
8347 dissect_ansi_map_MessageWaitingNotificationCount(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8348 #line 173 "ansi_map.cnf"
8349         tvbuff_t *parameter_tvb = NULL;
8350   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8351                                        &parameter_tvb);
8352
8353         if (parameter_tvb){
8354                 dissect_ansi_map_messagewaitingnotificationcount(parameter_tvb,actx->pinfo,tree, actx);
8355         }
8356
8357
8358
8359   return offset;
8360 }
8361
8362
8363
8364 static int
8365 dissect_ansi_map_MessageWaitingNotificationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8366 #line 181 "ansi_map.cnf"
8367         tvbuff_t *parameter_tvb = NULL;
8368   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8369                                        &parameter_tvb);
8370
8371         if (parameter_tvb){
8372                 dissect_ansi_map_messagewaitingnotificationtype(parameter_tvb,actx->pinfo,tree, actx);
8373         }
8374
8375
8376
8377
8378   return offset;
8379 }
8380
8381
8382 static const ber_sequence_t InformationForward_U_set[] = {
8383   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8384   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8385   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8386   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
8387   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8388   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8389   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8390   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8391   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8392   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8393   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
8394   { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
8395   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8396   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8397   { NULL, 0, 0, 0, NULL }
8398 };
8399
8400 static int
8401 dissect_ansi_map_InformationForward_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_) {
8402   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8403                               InformationForward_U_set, hf_index, ett_ansi_map_InformationForward_U);
8404
8405   return offset;
8406 }
8407
8408
8409
8410 static int
8411 dissect_ansi_map_InformationForward(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_tagged_type(implicit_tag, actx, tree, tvb, offset,
8413                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationForward_U);
8414
8415   return offset;
8416 }
8417
8418
8419 static const ber_sequence_t InformationForwardRes_U_set[] = {
8420   { &hf_ansi_map_alertResult, BER_CLASS_CON, 129, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertResult },
8421   { NULL, 0, 0, 0, NULL }
8422 };
8423
8424 static int
8425 dissect_ansi_map_InformationForwardRes_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_) {
8426   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8427                               InformationForwardRes_U_set, hf_index, ett_ansi_map_InformationForwardRes_U);
8428
8429   return offset;
8430 }
8431
8432
8433
8434 static int
8435 dissect_ansi_map_InformationForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8436   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8437                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationForwardRes_U);
8438
8439   return offset;
8440 }
8441
8442
8443 static const ber_sequence_t InterSystemAnswer_U_set[] = {
8444   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8445   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8446   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8447   { NULL, 0, 0, 0, NULL }
8448 };
8449
8450 static int
8451 dissect_ansi_map_InterSystemAnswer_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_) {
8452   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8453                               InterSystemAnswer_U_set, hf_index, ett_ansi_map_InterSystemAnswer_U);
8454
8455   return offset;
8456 }
8457
8458
8459
8460 static int
8461 dissect_ansi_map_InterSystemAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8462   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8463                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemAnswer_U);
8464
8465   return offset;
8466 }
8467
8468
8469
8470 static int
8471 dissect_ansi_map_CDMASlotCycleIndex(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8472   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8473                                        NULL);
8474
8475   return offset;
8476 }
8477
8478
8479
8480 static int
8481 dissect_ansi_map_ExtendedMSCID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8482 #line 142 "ansi_map.cnf"
8483         tvbuff_t *parameter_tvb = NULL;
8484   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8485                                        &parameter_tvb);
8486
8487         if (parameter_tvb){
8488                 dissect_ansi_map_extendedmscid(parameter_tvb,actx->pinfo,tree, actx);
8489         }
8490
8491
8492
8493   return offset;
8494 }
8495
8496
8497
8498 static int
8499 dissect_ansi_map_ExtendedSystemMyTypeCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8500 #line 150 "ansi_map.cnf"
8501         tvbuff_t *parameter_tvb = NULL;
8502   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8503                                        &parameter_tvb);
8504
8505         if (parameter_tvb){
8506                 dissect_ansi_map_extendedsystemmytypecode(parameter_tvb, actx->pinfo, tree, actx);
8507         }
8508
8509
8510   return offset;
8511 }
8512
8513
8514
8515 static int
8516 dissect_ansi_map_MSIDUsage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8517   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8518                                        NULL);
8519
8520   return offset;
8521 }
8522
8523
8524
8525 static int
8526 dissect_ansi_map_NetworkTMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8527   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8528                                        NULL);
8529
8530   return offset;
8531 }
8532
8533
8534
8535 static int
8536 dissect_ansi_map_PageCount(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8537   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8538                                        NULL);
8539
8540   return offset;
8541 }
8542
8543
8544
8545 static int
8546 dissect_ansi_map_PageIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8547   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8548                                        NULL);
8549
8550   return offset;
8551 }
8552
8553
8554
8555 static int
8556 dissect_ansi_map_PageResponseTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8557   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8558                                        NULL);
8559
8560   return offset;
8561 }
8562
8563
8564
8565 static int
8566 dissect_ansi_map_PilotBillingID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8567 #line 254 "ansi_map.cnf"
8568
8569         tvbuff_t *parameter_tvb = NULL;
8570   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8571                                        &parameter_tvb);
8572
8573         if (parameter_tvb){
8574                 dissect_ansi_map_pilotbillingid(parameter_tvb,actx->pinfo,tree, actx);
8575         }
8576
8577
8578
8579   return offset;
8580 }
8581
8582
8583
8584 static int
8585 dissect_ansi_map_RedirectingPartyName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8586   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8587                                        NULL);
8588
8589   return offset;
8590 }
8591
8592
8593
8594 static int
8595 dissect_ansi_map_TDMADataFeaturesIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8596   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8597                                        NULL);
8598
8599   return offset;
8600 }
8601
8602
8603 static const ber_sequence_t InterSystemPage_U_set[] = {
8604   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8605   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8606   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8607   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
8608   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
8609   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
8610   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8611   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8612   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8613   { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
8614   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8615   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8616   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8617   { &hf_ansi_map_cdmaSlotCycleIndex, BER_CLASS_CON, 166, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASlotCycleIndex },
8618   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8619   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8620   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
8621   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8622   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8623   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
8624   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
8625   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
8626   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
8627   { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
8628   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
8629   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
8630   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
8631   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
8632   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8633   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
8634   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
8635   { &hf_ansi_map_mSIDUsage  , BER_CLASS_CON, 327, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSIDUsage },
8636   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
8637   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
8638   { &hf_ansi_map_pageCount  , BER_CLASS_CON, 300, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageCount },
8639   { &hf_ansi_map_pageIndicator, BER_CLASS_CON, 71, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageIndicator },
8640   { &hf_ansi_map_pageResponseTime, BER_CLASS_CON, 301, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageResponseTime },
8641   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
8642   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
8643   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
8644   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
8645   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
8646   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8647   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
8648   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8649   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
8650   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
8651   { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
8652   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8653   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8654   { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
8655   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
8656   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
8657   { NULL, 0, 0, 0, NULL }
8658 };
8659
8660 static int
8661 dissect_ansi_map_InterSystemPage_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_) {
8662   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8663                               InterSystemPage_U_set, hf_index, ett_ansi_map_InterSystemPage_U);
8664
8665   return offset;
8666 }
8667
8668
8669
8670 static int
8671 dissect_ansi_map_InterSystemPage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8672   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8673                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPage_U);
8674
8675   return offset;
8676 }
8677
8678
8679 static const value_string ansi_map_ConditionallyDeniedReason_vals[] = {
8680   {   0, "not-used" },
8681   {   1, "waitable" },
8682   { 0, NULL }
8683 };
8684
8685
8686 static int
8687 dissect_ansi_map_ConditionallyDeniedReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8688   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8689                                   NULL);
8690
8691   return offset;
8692 }
8693
8694
8695 static const ber_sequence_t InterSystemPageRes_U_set[] = {
8696   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
8697   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8698   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8699   { &hf_ansi_map_conditionallyDeniedReason, BER_CLASS_CON, 162, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConditionallyDeniedReason },
8700   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
8701   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
8702   { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
8703   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
8704   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
8705   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8706   { NULL, 0, 0, 0, NULL }
8707 };
8708
8709 static int
8710 dissect_ansi_map_InterSystemPageRes_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_) {
8711   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8712                               InterSystemPageRes_U_set, hf_index, ett_ansi_map_InterSystemPageRes_U);
8713
8714   return offset;
8715 }
8716
8717
8718
8719 static int
8720 dissect_ansi_map_InterSystemPageRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8721   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8722                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPageRes_U);
8723
8724   return offset;
8725 }
8726
8727
8728
8729 static int
8730 dissect_ansi_map_PagingFrameClass(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8731   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8732                                        NULL);
8733
8734   return offset;
8735 }
8736
8737
8738
8739 static int
8740 dissect_ansi_map_PSID_RSIDInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8741   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8742                                        NULL);
8743
8744   return offset;
8745 }
8746
8747
8748 static const ber_sequence_t PSID_RSIDList_sequence[] = {
8749   { &hf_ansi_map_pSID_RSIDInformation, BER_CLASS_CON, 202, BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDInformation },
8750   { &hf_ansi_map_pSID_RSIDInformation1, BER_CLASS_CON, 202, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDInformation },
8751   { NULL, 0, 0, 0, NULL }
8752 };
8753
8754 static int
8755 dissect_ansi_map_PSID_RSIDList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8756   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8757                                    PSID_RSIDList_sequence, hf_index, ett_ansi_map_PSID_RSIDList);
8758
8759   return offset;
8760 }
8761
8762
8763 static const ber_sequence_t InterSystemPage2_U_set[] = {
8764   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8765   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8766   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8767   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8768   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8769   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8770   { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
8771   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8772   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
8773   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8774   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8775   { &hf_ansi_map_cdmaSlotCycleIndex, BER_CLASS_CON, 166, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASlotCycleIndex },
8776   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8777   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8778   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8779   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8780   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
8781   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
8782   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
8783   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8784   { &hf_ansi_map_mSIDUsage  , BER_CLASS_CON, 327, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSIDUsage },
8785   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
8786   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
8787   { &hf_ansi_map_pageCount  , BER_CLASS_CON, 300, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageCount },
8788   { &hf_ansi_map_pageIndicator, BER_CLASS_CON, 71, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageIndicator },
8789   { &hf_ansi_map_pagingFrameClass, BER_CLASS_CON, 210, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PagingFrameClass },
8790   { &hf_ansi_map_pageResponseTime, BER_CLASS_CON, 301, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageResponseTime },
8791   { &hf_ansi_map_pSID_RSIDList, BER_CLASS_CON, 203, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDList },
8792   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8793   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8794   { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
8795   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8796   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8797   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
8798   { NULL, 0, 0, 0, NULL }
8799 };
8800
8801 static int
8802 dissect_ansi_map_InterSystemPage2_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_) {
8803   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8804                               InterSystemPage2_U_set, hf_index, ett_ansi_map_InterSystemPage2_U);
8805
8806   return offset;
8807 }
8808
8809
8810
8811 static int
8812 dissect_ansi_map_InterSystemPage2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8813   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8814                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPage2_U);
8815
8816   return offset;
8817 }
8818
8819
8820
8821 static int
8822 dissect_ansi_map_RANDC(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8823   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8824                                        NULL);
8825
8826   return offset;
8827 }
8828
8829
8830
8831 static int
8832 dissect_ansi_map_TDMADataMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8833   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8834                                        NULL);
8835
8836   return offset;
8837 }
8838
8839
8840 static const ber_sequence_t InterSystemPage2Res_U_set[] = {
8841   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
8842   { &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
8843   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
8844   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8845   { &hf_ansi_map_randc      , BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RANDC },
8846   { &hf_ansi_map_randomVariableBaseStation, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableBaseStation },
8847   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
8848   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
8849   { &hf_ansi_map_tdmaDataMode, BER_CLASS_CON, 222, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataMode },
8850   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8851   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8852   { NULL, 0, 0, 0, NULL }
8853 };
8854
8855 static int
8856 dissect_ansi_map_InterSystemPage2Res_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_) {
8857   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8858                               InterSystemPage2Res_U_set, hf_index, ett_ansi_map_InterSystemPage2Res_U);
8859
8860   return offset;
8861 }
8862
8863
8864
8865 static int
8866 dissect_ansi_map_InterSystemPage2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8867   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8868                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPage2Res_U);
8869
8870   return offset;
8871 }
8872
8873
8874
8875 static int
8876 dissect_ansi_map_ChangeServiceAttributes(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 InterSystemSetup_U_set[] = {
8885   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8886   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8887   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8888   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8889   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8890   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8891   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8892   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
8893   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8894   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8895   { &hf_ansi_map_changeServiceAttributes, BER_CLASS_CON, 214, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChangeServiceAttributes },
8896   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
8897   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8898   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8899   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
8900   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
8901   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8902   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8903   { &hf_ansi_map_edirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8904   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
8905   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
8906   { NULL, 0, 0, 0, NULL }
8907 };
8908
8909 static int
8910 dissect_ansi_map_InterSystemSetup_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_) {
8911   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8912                               InterSystemSetup_U_set, hf_index, ett_ansi_map_InterSystemSetup_U);
8913
8914   return offset;
8915 }
8916
8917
8918
8919 static int
8920 dissect_ansi_map_InterSystemSetup(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8921   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8922                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemSetup_U);
8923
8924   return offset;
8925 }
8926
8927
8928
8929 static int
8930 dissect_ansi_map_SetupResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8931   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8932                                        NULL);
8933
8934   return offset;
8935 }
8936
8937
8938 static const ber_sequence_t InterSystemSetupRes_U_set[] = {
8939   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
8940   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8941   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
8942   { &hf_ansi_map_setupResult, BER_CLASS_CON, 151, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SetupResult },
8943   { NULL, 0, 0, 0, NULL }
8944 };
8945
8946 static int
8947 dissect_ansi_map_InterSystemSetupRes_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_) {
8948   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8949                               InterSystemSetupRes_U_set, hf_index, ett_ansi_map_InterSystemSetupRes_U);
8950
8951   return offset;
8952 }
8953
8954
8955
8956 static int
8957 dissect_ansi_map_InterSystemSetupRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8958   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8959                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemSetupRes_U);
8960
8961   return offset;
8962 }
8963
8964
8965
8966 static int
8967 dissect_ansi_map_TerminationAccessType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
8968   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8969                                        NULL);
8970
8971   return offset;
8972 }
8973
8974
8975 static const value_string ansi_map_TriggerType_vals[] = {
8976   {   1, "all-Calls" },
8977   {   2, "double-Introducing-Star" },
8978   {   3, "single-Introducing-Star" },
8979   {   4, "reserved-for-Home-System-Feature-Code" },
8980   {   5, "double-Introducing-Pound" },
8981   {   6, "single-Introducing-Pound" },
8982   {   7, "revertive-Call" },
8983   {   8, "a0-Digit" },
8984   {   9, "a1-Digit" },
8985   {  10, "a2-Digit" },
8986   {  11, "a3-Digit" },
8987   {  12, "a4-Digit" },
8988   {  13, "a5-Digit" },
8989   {  14, "a6-Digit" },
8990   {  15, "a7-Digit" },
8991   {  16, "a8-Digit" },
8992   {  17, "a9-Digit" },
8993   {  18, "a10-Digit" },
8994   {  19, "a11-Digit" },
8995   {  20, "a12-Digit" },
8996   {  21, "a13-Digit" },
8997   {  22, "a14-Digit" },
8998   {  23, "a15-Digit" },
8999   {  24, "local-Call" },
9000   {  25, "intra-LATA-Toll-Call" },
9001   {  26, "inter-LATA-Toll-Call" },
9002   {  27, "world-Zone-Call" },
9003   {  28, "international-Call" },
9004   {  29, "unrecognized-Number" },
9005   {  30, "prior-Agreement" },
9006   {  31, "specific-Called-Party-Digit-String" },
9007   {  32, "mobile-Termination" },
9008   {  33, "advanced-Termination" },
9009   {  34, "location" },
9010   {  35, "locally-Allowed-Specific-Digit-String" },
9011   {  36, "origination-Attempt-Authorized" },
9012   {  37, "calling-Routing-Address-Available" },
9013   {  38, "initial-Termination" },
9014   {  39, "called-Routing-Address-Available" },
9015   {  40, "o-Answer" },
9016   {  41, "o-Disconnect" },
9017   {  42, "o-Called-Party-Busy" },
9018   {  43, "o-No-Answer" },
9019   {  64, "terminating-Resource-Available" },
9020   {  65, "t-Busy" },
9021   {  66, "t-No-Answer" },
9022   {  67, "t-No-Page-Response" },
9023   {  68, "t-Routable" },
9024   {  69, "t-Answer" },
9025   {  70, "t-Disconnect" },
9026   { 220, "reserved-for-TDP-R-DP-Type-value" },
9027   { 221, "reserved-for-TDP-N-DP-Type-value" },
9028   { 222, "reserved-for-EDP-R-DP-Type-value" },
9029   { 223, "reserved-for-EDP-N-DP-Type-value" },
9030   { 0, NULL }
9031 };
9032
9033
9034 static int
9035 dissect_ansi_map_TriggerType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9036   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9037                                   NULL);
9038
9039   return offset;
9040 }
9041
9042
9043
9044 static int
9045 dissect_ansi_map_TriggerCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9046 #line 377 "ansi_map.cnf"
9047         tvbuff_t *parameter_tvb = NULL;
9048   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9049                                        &parameter_tvb);
9050
9051         if (parameter_tvb){
9052                 dissect_ansi_map_triggercapability(parameter_tvb,actx->pinfo,tree, actx);
9053         }
9054
9055
9056
9057   return offset;
9058 }
9059
9060
9061
9062 static int
9063 dissect_ansi_map_WINOperationsCapability(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 #line 385 "ansi_map.cnf"
9065         tvbuff_t *parameter_tvb = NULL;
9066   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9067                                        &parameter_tvb);
9068
9069         if (parameter_tvb){
9070                 dissect_ansi_map_winoperationscapability(parameter_tvb,actx->pinfo,tree, actx);
9071         }
9072
9073
9074   return offset;
9075 }
9076
9077
9078 static const ber_sequence_t WINCapability_set[] = {
9079   { &hf_ansi_map_triggerCapability, BER_CLASS_CON, 277, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerCapability },
9080   { &hf_ansi_map_wINOperationsCapability, BER_CLASS_CON, 281, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINOperationsCapability },
9081   { NULL, 0, 0, 0, NULL }
9082 };
9083
9084 static int
9085 dissect_ansi_map_WINCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9086   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9087                               WINCapability_set, hf_index, ett_ansi_map_WINCapability);
9088
9089   return offset;
9090 }
9091
9092
9093
9094 static int
9095 dissect_ansi_map_CallingPartyCategory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9096   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9097                                        NULL);
9098
9099   return offset;
9100 }
9101
9102
9103 static const ber_sequence_t LocationRequest_U_set[] = {
9104   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
9105   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9106   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9107   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9108   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
9109   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
9110   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
9111   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
9112   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
9113   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
9114   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
9115   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
9116   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
9117   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9118   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9119   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
9120   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
9121   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
9122   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
9123   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
9124   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
9125   { NULL, 0, 0, 0, NULL }
9126 };
9127
9128 static int
9129 dissect_ansi_map_LocationRequest_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_) {
9130   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9131                               LocationRequest_U_set, hf_index, ett_ansi_map_LocationRequest_U);
9132
9133   return offset;
9134 }
9135
9136
9137
9138 static int
9139 dissect_ansi_map_LocationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9140   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9141                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LocationRequest_U);
9142
9143   return offset;
9144 }
9145
9146
9147
9148 static int
9149 dissect_ansi_map_ControlNetworkID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9150 #line 400 "ansi_map.cnf"
9151         tvbuff_t *parameter_tvb = NULL;
9152   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9153                                        &parameter_tvb);
9154
9155         if (parameter_tvb){
9156                 dissect_ansi_map_controlnetworkid(parameter_tvb,actx->pinfo,tree, actx);
9157         }
9158
9159
9160
9161   return offset;
9162 }
9163
9164
9165
9166 static int
9167 dissect_ansi_map_DMH_ServiceID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9168   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9169                                        NULL);
9170
9171   return offset;
9172 }
9173
9174
9175 static const ber_sequence_t LocationRequestRes_U_set[] = {
9176   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9177   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9178   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9179   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
9180   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
9181   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
9182   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
9183   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
9184   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
9185   { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9186   { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9187   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
9188   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
9189   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9190   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9191   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9192   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
9193   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
9194   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
9195   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9196   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
9197   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
9198   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
9199   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9200   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
9201   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
9202   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9203   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9204   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
9205   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
9206   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9207   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9208   { NULL, 0, 0, 0, NULL }
9209 };
9210
9211 static int
9212 dissect_ansi_map_LocationRequestRes_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_) {
9213   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9214                               LocationRequestRes_U_set, hf_index, ett_ansi_map_LocationRequestRes_U);
9215
9216   return offset;
9217 }
9218
9219
9220
9221 static int
9222 dissect_ansi_map_LocationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9223   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9224                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LocationRequestRes_U);
9225
9226   return offset;
9227 }
9228
9229
9230 static const value_string ansi_map_DeregistrationType_vals[] = {
9231   {   0, "not-used" },
9232   {   1, "deregister-for-an-unspecified-reason" },
9233   {   2, "deregister-for-an-administrative-reason" },
9234   {   3, "deregister-due-to-MS-power-down" },
9235   { 0, NULL }
9236 };
9237
9238
9239 static int
9240 dissect_ansi_map_DeregistrationType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9241   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9242                                   NULL);
9243
9244   return offset;
9245 }
9246
9247
9248
9249 static int
9250 dissect_ansi_map_ServicesResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9251   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9252                                        NULL);
9253
9254   return offset;
9255 }
9256
9257
9258
9259 static int
9260 dissect_ansi_map_SMS_MessageWaitingIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9261   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
9262
9263   return offset;
9264 }
9265
9266
9267 static const ber_sequence_t MSInactive_U_set[] = {
9268   { &hf_ansi_map_lectronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9269   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9270   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
9271   { &hf_ansi_map_deregistrationType, BER_CLASS_CON, 73, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeregistrationType },
9272   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
9273   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9274   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9275   { &hf_ansi_map_servicesResult, BER_CLASS_CON, 204, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServicesResult },
9276   { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
9277   { NULL, 0, 0, 0, NULL }
9278 };
9279
9280 static int
9281 dissect_ansi_map_MSInactive_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_) {
9282   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9283                               MSInactive_U_set, hf_index, ett_ansi_map_MSInactive_U);
9284
9285   return offset;
9286 }
9287
9288
9289
9290 static int
9291 dissect_ansi_map_MSInactive(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9292   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9293                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_MSInactive_U);
9294
9295   return offset;
9296 }
9297
9298
9299
9300 static int
9301 dissect_ansi_map_OriginationTriggers(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9302 #line 230 "ansi_map.cnf"
9303         tvbuff_t *parameter_tvb = NULL;
9304   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9305                                        &parameter_tvb);
9306
9307         if (parameter_tvb){
9308                 dissect_ansi_map_originationtriggers(parameter_tvb,actx->pinfo,tree, actx);
9309         }
9310
9311
9312
9313   return offset;
9314 }
9315
9316
9317 static const value_string ansi_map_FeatureIndicator_vals[] = {
9318   {   0, "not-used" },
9319   {  38, "user-selective-call-forwarding" },
9320   { 0, NULL }
9321 };
9322
9323
9324 static int
9325 dissect_ansi_map_FeatureIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9326   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9327                                   NULL);
9328
9329   return offset;
9330 }
9331
9332
9333 static const ber_sequence_t OriginationRequest_U_set[] = {
9334   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
9335   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9336   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9337   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9338   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9339   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
9340   { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
9341   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
9342   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
9343   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
9344   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
9345   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
9346   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
9347   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
9348   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9349   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9350   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
9351   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
9352   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
9353   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
9354   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9355   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9356   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
9357   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
9358   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
9359   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
9360   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
9361   { NULL, 0, 0, 0, NULL }
9362 };
9363
9364 static int
9365 dissect_ansi_map_OriginationRequest_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_) {
9366   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9367                               OriginationRequest_U_set, hf_index, ett_ansi_map_OriginationRequest_U);
9368
9369   return offset;
9370 }
9371
9372
9373
9374 static int
9375 dissect_ansi_map_OriginationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9376   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9377                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OriginationRequest_U);
9378
9379   return offset;
9380 }
9381
9382
9383
9384 static int
9385 dissect_ansi_map_DMH_ChargeInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9386   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9387                                        NULL);
9388
9389   return offset;
9390 }
9391
9392
9393 static const ber_sequence_t OriginationRequestRes_U_set[] = {
9394   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
9395   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
9396   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
9397   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
9398   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
9399   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
9400   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
9401   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9402   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
9403   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
9404   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9405   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9406   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9407   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
9408   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
9409   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
9410   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
9411   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9412   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
9413   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
9414   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
9415   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9416   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
9417   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
9418   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9419   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
9420   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9421   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
9422   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9423   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9424   { NULL, 0, 0, 0, NULL }
9425 };
9426
9427 static int
9428 dissect_ansi_map_OriginationRequestRes_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_) {
9429   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9430                               OriginationRequestRes_U_set, hf_index, ett_ansi_map_OriginationRequestRes_U);
9431
9432   return offset;
9433 }
9434
9435
9436
9437 static int
9438 dissect_ansi_map_OriginationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9439   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9440                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OriginationRequestRes_U);
9441
9442   return offset;
9443 }
9444
9445
9446 static const value_string ansi_map_QualificationInformationCode_vals[] = {
9447   {   0, "not-used" },
9448   {   1, "no-information" },
9449   {   2, "validation-only" },
9450   {   3, "validation-and-profile" },
9451   {   4, "profile-only" },
9452   { 0, NULL }
9453 };
9454
9455
9456 static int
9457 dissect_ansi_map_QualificationInformationCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9458   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9459                                   NULL);
9460
9461   return offset;
9462 }
9463
9464
9465 static const value_string ansi_map_AuthorizationDenied_vals[] = {
9466   {   0, "not-used" },
9467   {   1, "delinquent-account" },
9468   {   2, "invalid-serial-number" },
9469   {   3, "stolen-unit" },
9470   {   4, "duplicate-unit" },
9471   {   5, "unassigned-directory-number" },
9472   {   6, "unspecified" },
9473   {   7, "multiple-access" },
9474   {   8, "not-Authorized-for-the-MSC" },
9475   {   9, "missing-authentication-parameters" },
9476   {  10, "terminalType-mismatch" },
9477   {  11, "requested-Service-Code-Not-Supported" },
9478   { 0, NULL }
9479 };
9480
9481
9482 static int
9483 dissect_ansi_map_AuthorizationDenied(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9484   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9485                                   NULL);
9486
9487   return offset;
9488 }
9489
9490
9491
9492 static int
9493 dissect_ansi_map_AuthorizationPeriod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9494 #line 64 "ansi_map.cnf"
9495         tvbuff_t *parameter_tvb = NULL;
9496   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9497                                        &parameter_tvb);
9498
9499         if (parameter_tvb){
9500                 dissect_ansi_map_authorizationperiod(parameter_tvb,actx->pinfo,tree, actx);
9501         }
9502
9503
9504
9505
9506   return offset;
9507 }
9508
9509
9510
9511 static int
9512 dissect_ansi_map_DeniedAuthorizationPeriod(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9513 #line 134 "ansi_map.cnf"
9514         tvbuff_t *parameter_tvb = NULL;
9515   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9516                                        &parameter_tvb);
9517
9518         if (parameter_tvb){
9519                 dissect_ansi_map_deniedauthorizationperiod(parameter_tvb,actx->pinfo,tree, actx);
9520         }
9521
9522
9523
9524   return offset;
9525 }
9526
9527
9528
9529 static int
9530 dissect_ansi_map_AuthenticationCapability(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9531   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9532                                        NULL);
9533
9534   return offset;
9535 }
9536
9537
9538
9539 static int
9540 dissect_ansi_map_CallingFeaturesIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9541 #line 81 "ansi_map.cnf"
9542         tvbuff_t *parameter_tvb = NULL;
9543   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9544                                        &parameter_tvb);
9545
9546         if (parameter_tvb){
9547                 dissect_ansi_map_callingfeaturesindicator(parameter_tvb,actx->pinfo,tree, actx);
9548         }
9549
9550
9551   return offset;
9552 }
9553
9554
9555
9556 static int
9557 dissect_ansi_map_GeographicAuthorization(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9558   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9559                                        NULL);
9560
9561   return offset;
9562 }
9563
9564
9565
9566 static int
9567 dissect_ansi_map_MEIDValidated(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9568   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
9569
9570   return offset;
9571 }
9572
9573
9574 static const value_string ansi_map_OriginationIndicator_vals[] = {
9575   {   0, "not-used" },
9576   {   1, "prior-agreement" },
9577   {   2, "origination-denied" },
9578   {   3, "local-calls-only" },
9579   {   4, "selected-leading-digits-of-directorynumber-or-of-international-E164-number" },
9580   {   5, "selected-leading-digits-of-directorynumber-or-of-international-E164-number-and-local-calls-only" },
9581   {   6, "national-long-distance" },
9582   {   7, "international-calls" },
9583   {   8, "single-directory-number-or-international-E164-number" },
9584   { 0, NULL }
9585 };
9586
9587
9588 static int
9589 dissect_ansi_map_OriginationIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9590   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9591                                   NULL);
9592
9593   return offset;
9594 }
9595
9596
9597
9598 static int
9599 dissect_ansi_map_RestrictionDigits(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9600   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
9601
9602   return offset;
9603 }
9604
9605
9606
9607 static int
9608 dissect_ansi_map_SMS_OriginationRestrictions(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 #line 299 "ansi_map.cnf"
9610         tvbuff_t *parameter_tvb = NULL;
9611   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9612                                        &parameter_tvb);
9613
9614         if (parameter_tvb){
9615                 dissect_ansi_map_sms_originationrestrictions(parameter_tvb,actx->pinfo,tree, actx);
9616         }
9617
9618
9619
9620   return offset;
9621 }
9622
9623
9624
9625 static int
9626 dissect_ansi_map_SMS_TerminationRestrictions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9627   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9628                                        NULL);
9629
9630   return offset;
9631 }
9632
9633
9634
9635 static int
9636 dissect_ansi_map_SPINIPIN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9637   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
9638
9639   return offset;
9640 }
9641
9642
9643
9644 static int
9645 dissect_ansi_map_SPINITriggers(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_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9647                                        NULL);
9648
9649   return offset;
9650 }
9651
9652
9653 static const value_string ansi_map_TerminationRestrictionCode_vals[] = {
9654   {   0, "not-used" },
9655   {   1, "termination-denied" },
9656   {   2, "unrestricted" },
9657   {   3, "the-treatment-for-this-value-is-not-specified" },
9658   { 0, NULL }
9659 };
9660
9661
9662 static int
9663 dissect_ansi_map_TerminationRestrictionCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9664   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9665                                   NULL);
9666
9667   return offset;
9668 }
9669
9670
9671
9672 static int
9673 dissect_ansi_map_UserGroup(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9674   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9675                                        NULL);
9676
9677   return offset;
9678 }
9679
9680
9681 static const value_string ansi_map_LIRMode_vals[] = {
9682   {   0, "not-used" },
9683   {   1, "unconditionally-Restricted" },
9684   {   2, "pre-Authorized-LCS-Clients-Only" },
9685   {   3, "pre-Authorized-LCS-Clients-and-User-Authorized-LCS-Clients" },
9686   {   4, "unrestricted" },
9687   { 0, NULL }
9688 };
9689
9690
9691 static int
9692 dissect_ansi_map_LIRMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9693   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9694                                   NULL);
9695
9696   return offset;
9697 }
9698
9699
9700 static const ber_sequence_t QualificationDirective_U_set[] = {
9701   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9702   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
9703   { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
9704   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9705   { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
9706   { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
9707   { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
9708   { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
9709   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
9710   { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
9711   { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9712   { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9713   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9714   { &hf_ansi_map_authenticationCapability, BER_CLASS_CON, 78, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationCapability },
9715   { &hf_ansi_map_callingFeaturesIndicator, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingFeaturesIndicator },
9716   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
9717   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
9718   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
9719   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9720   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9721   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9722   { &hf_ansi_map_geographicAuthorization, BER_CLASS_CON, 143, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicAuthorization },
9723   { &hf_ansi_map_meidValidated, BER_CLASS_CON, 401, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDValidated },
9724   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
9725   { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
9726   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9727   { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator },
9728   { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
9729   { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
9730   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9731   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
9732   { &hf_ansi_map_restrictionDigits, BER_CLASS_CON, 227, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RestrictionDigits },
9733   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9734   { &hf_ansi_map_pSID_RSIDList, BER_CLASS_CON, 203, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDList },
9735   { &hf_ansi_map_sms_OriginationRestrictions, BER_CLASS_CON, 115, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginationRestrictions },
9736   { &hf_ansi_map_sms_TerminationRestrictions, BER_CLASS_CON, 117, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TerminationRestrictions },
9737   { &hf_ansi_map_spinipin   , BER_CLASS_CON, 154, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINIPIN },
9738   { &hf_ansi_map_spiniTriggers, BER_CLASS_CON, 155, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINITriggers },
9739   { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
9740   { &hf_ansi_map_terminationRestrictionCode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationRestrictionCode },
9741   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9742   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9743   { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
9744   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
9745   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
9746   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
9747   { &hf_ansi_map_lirMode    , BER_CLASS_CON, 369, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRMode },
9748   { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
9749   { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
9750   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9751   { NULL, 0, 0, 0, NULL }
9752 };
9753
9754 static int
9755 dissect_ansi_map_QualificationDirective_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_) {
9756   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9757                               QualificationDirective_U_set, hf_index, ett_ansi_map_QualificationDirective_U);
9758
9759   return offset;
9760 }
9761
9762
9763
9764 static int
9765 dissect_ansi_map_QualificationDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9766   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9767                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationDirective_U);
9768
9769   return offset;
9770 }
9771
9772
9773 static const ber_sequence_t QualificationDirectiveRes_U_set[] = {
9774   { NULL, 0, 0, 0, NULL }
9775 };
9776
9777 static int
9778 dissect_ansi_map_QualificationDirectiveRes_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_) {
9779   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9780                               QualificationDirectiveRes_U_set, hf_index, ett_ansi_map_QualificationDirectiveRes_U);
9781
9782   return offset;
9783 }
9784
9785
9786
9787 static int
9788 dissect_ansi_map_QualificationDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9789   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9790                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationDirectiveRes_U);
9791
9792   return offset;
9793 }
9794
9795
9796 static const ber_sequence_t QualificationRequest_U_set[] = {
9797   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9798   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
9799   { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
9800   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9801   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9802   { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
9803   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
9804   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9805   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9806   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
9807   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
9808   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
9809   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
9810   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
9811   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
9812   { NULL, 0, 0, 0, NULL }
9813 };
9814
9815 static int
9816 dissect_ansi_map_QualificationRequest_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_) {
9817   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9818                               QualificationRequest_U_set, hf_index, ett_ansi_map_QualificationRequest_U);
9819
9820   return offset;
9821 }
9822
9823
9824
9825 static int
9826 dissect_ansi_map_QualificationRequest(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_tagged_type(implicit_tag, actx, tree, tvb, offset,
9828                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationRequest_U);
9829
9830   return offset;
9831 }
9832
9833
9834 static const ber_sequence_t QualificationRequestRes_U_set[] = {
9835   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9836   { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
9837   { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
9838   { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
9839   { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
9840   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
9841   { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
9842   { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9843   { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9844   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9845   { &hf_ansi_map_authenticationCapability, BER_CLASS_CON, 78, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationCapability },
9846   { &hf_ansi_map_callingFeaturesIndicator, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingFeaturesIndicator },
9847   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
9848   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
9849   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
9850   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9851   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9852   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9853   { &hf_ansi_map_geographicAuthorization, BER_CLASS_CON, 143, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicAuthorization },
9854   { &hf_ansi_map_meidValidated, BER_CLASS_CON, 401, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDValidated },
9855   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
9856   { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
9857   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9858   { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator },
9859   { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
9860   { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
9861   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9862   { &hf_ansi_map_restrictionDigits, BER_CLASS_CON, 227, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RestrictionDigits },
9863   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9864   { &hf_ansi_map_sms_OriginationRestrictions, BER_CLASS_CON, 115, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginationRestrictions },
9865   { &hf_ansi_map_sms_TerminationRestrictions, BER_CLASS_CON, 117, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TerminationRestrictions },
9866   { &hf_ansi_map_spinipin   , BER_CLASS_CON, 154, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINIPIN },
9867   { &hf_ansi_map_spiniTriggers, BER_CLASS_CON, 155, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINITriggers },
9868   { &hf_ansi_map_terminationRestrictionCode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationRestrictionCode },
9869   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9870   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9871   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
9872   { &hf_ansi_map_lirMode    , BER_CLASS_CON, 369, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRMode },
9873   { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
9874   { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
9875   { NULL, 0, 0, 0, NULL }
9876 };
9877
9878 static int
9879 dissect_ansi_map_QualificationRequestRes_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_) {
9880   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9881                               QualificationRequestRes_U_set, hf_index, ett_ansi_map_QualificationRequestRes_U);
9882
9883   return offset;
9884 }
9885
9886
9887
9888 static int
9889 dissect_ansi_map_QualificationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9890   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9891                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationRequestRes_U);
9892
9893   return offset;
9894 }
9895
9896
9897 static const ber_sequence_t RandomVariableRequest_U_set[] = {
9898   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9899   { &hf_ansi_map_randc      , BER_CLASS_CON, 67, BER_FLAGS_IMPLTAG, dissect_ansi_map_RANDC },
9900   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
9901   { NULL, 0, 0, 0, NULL }
9902 };
9903
9904 static int
9905 dissect_ansi_map_RandomVariableRequest_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_) {
9906   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9907                               RandomVariableRequest_U_set, hf_index, ett_ansi_map_RandomVariableRequest_U);
9908
9909   return offset;
9910 }
9911
9912
9913
9914 static int
9915 dissect_ansi_map_RandomVariableRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9916   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9917                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RandomVariableRequest_U);
9918
9919   return offset;
9920 }
9921
9922
9923
9924 static int
9925 dissect_ansi_map_RANDValidTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9926   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9927                                        NULL);
9928
9929   return offset;
9930 }
9931
9932
9933 static const ber_sequence_t RandomVariableRequestRes_U_set[] = {
9934   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
9935   { &hf_ansi_map_randValidTime, BER_CLASS_CON, 148, BER_FLAGS_IMPLTAG, dissect_ansi_map_RANDValidTime },
9936   { NULL, 0, 0, 0, NULL }
9937 };
9938
9939 static int
9940 dissect_ansi_map_RandomVariableRequestRes_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_) {
9941   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9942                               RandomVariableRequestRes_U_set, hf_index, ett_ansi_map_RandomVariableRequestRes_U);
9943
9944   return offset;
9945 }
9946
9947
9948
9949 static int
9950 dissect_ansi_map_RandomVariableRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9951   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9952                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RandomVariableRequestRes_U);
9953
9954   return offset;
9955 }
9956
9957
9958 static const ber_sequence_t RedirectionDirective_U_set[] = {
9959   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
9960   { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9961   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9962   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9963   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9964   { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9965   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9966   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9967   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9968   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
9969   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
9970   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9971   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9972   { NULL, 0, 0, 0, NULL }
9973 };
9974
9975 static int
9976 dissect_ansi_map_RedirectionDirective_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_) {
9977   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9978                               RedirectionDirective_U_set, hf_index, ett_ansi_map_RedirectionDirective_U);
9979
9980   return offset;
9981 }
9982
9983
9984
9985 static int
9986 dissect_ansi_map_RedirectionDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
9987   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9988                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RedirectionDirective_U);
9989
9990   return offset;
9991 }
9992
9993
9994 static const value_string ansi_map_RedirectionReason_vals[] = {
9995   {   0, "not-used" },
9996   {   1, "busy" },
9997   {   2, "no-Answer" },
9998   {   3, "unconditional" },
9999   {   4, "no-Page-Response" },
10000   {   5, "unavailable" },
10001   {   6, "unroutable" },
10002   {   7, "call-accepted" },
10003   {   8, "call-refused" },
10004   {   9, "uSCFvm-Divert-to-voice-mail" },
10005   {  10, "uSCFms-Divert-to-an-MS-provided-DN" },
10006   {  11, "uSCFnr-Divert-to-a-network-registered-DN" },
10007   { 0, NULL }
10008 };
10009
10010
10011 static int
10012 dissect_ansi_map_RedirectionReason(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_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10014                                   NULL);
10015
10016   return offset;
10017 }
10018
10019
10020 static const ber_sequence_t RedirectionRequest_U_set[] = {
10021   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
10022   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10023   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10024   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
10025   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
10026   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
10027   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
10028   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
10029   { NULL, 0, 0, 0, NULL }
10030 };
10031
10032 static int
10033 dissect_ansi_map_RedirectionRequest_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_) {
10034   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10035                               RedirectionRequest_U_set, hf_index, ett_ansi_map_RedirectionRequest_U);
10036
10037   return offset;
10038 }
10039
10040
10041
10042 static int
10043 dissect_ansi_map_RedirectionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10044   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10045                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RedirectionRequest_U);
10046
10047   return offset;
10048 }
10049
10050
10051
10052 static int
10053 dissect_ansi_map_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_) {
10054   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10055                                        NULL);
10056
10057   return offset;
10058 }
10059
10060
10061
10062 static int
10063 dissect_ansi_map_ControlChannelData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10064 #line 126 "ansi_map.cnf"
10065         tvbuff_t *parameter_tvb = NULL;
10066   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10067                                        &parameter_tvb);
10068
10069         if (parameter_tvb){
10070                 dissect_ansi_map_controlchanneldata(parameter_tvb,actx->pinfo,tree, actx);
10071         }
10072
10073
10074
10075   return offset;
10076 }
10077
10078
10079
10080 static int
10081 dissect_ansi_map_ReceivedSignalQuality(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_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10083                                                 NULL);
10084
10085   return offset;
10086 }
10087
10088
10089
10090 static int
10091 dissect_ansi_map_SystemAccessData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10092   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10093                                        NULL);
10094
10095   return offset;
10096 }
10097
10098
10099 static const ber_sequence_t RegistrationCancellation_U_set[] = {
10100   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10101   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10102   { &hf_ansi_map_cancellationType, BER_CLASS_CON, 85, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CancellationType },
10103   { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
10104   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
10105   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
10106   { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
10107   { NULL, 0, 0, 0, NULL }
10108 };
10109
10110 static int
10111 dissect_ansi_map_RegistrationCancellation_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_) {
10112   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10113                               RegistrationCancellation_U_set, hf_index, ett_ansi_map_RegistrationCancellation_U);
10114
10115   return offset;
10116 }
10117
10118
10119
10120 static int
10121 dissect_ansi_map_RegistrationCancellation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10122   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10123                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationCancellation_U);
10124
10125   return offset;
10126 }
10127
10128
10129 static const value_string ansi_map_CancellationDenied_vals[] = {
10130   {   0, "not-used" },
10131   {   1, "multipleAccess" },
10132   {   2, "busy" },
10133   { 0, NULL }
10134 };
10135
10136
10137 static int
10138 dissect_ansi_map_CancellationDenied(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10139   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10140                                   NULL);
10141
10142   return offset;
10143 }
10144
10145
10146 static const ber_sequence_t RegistrationCancellationRes_U_set[] = {
10147   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
10148   { &hf_ansi_map_cancellationDenied, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CancellationDenied },
10149   { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
10150   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
10151   { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
10152   { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
10153   { NULL, 0, 0, 0, NULL }
10154 };
10155
10156 static int
10157 dissect_ansi_map_RegistrationCancellationRes_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_) {
10158   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10159                               RegistrationCancellationRes_U_set, hf_index, ett_ansi_map_RegistrationCancellationRes_U);
10160
10161   return offset;
10162 }
10163
10164
10165
10166 static int
10167 dissect_ansi_map_RegistrationCancellationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10168   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10169                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationCancellationRes_U);
10170
10171   return offset;
10172 }
10173
10174
10175
10176 static int
10177 dissect_ansi_map_AvailabilityType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10178   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10179                                        NULL);
10180
10181   return offset;
10182 }
10183
10184
10185 static const value_string ansi_map_BorderCellAccess_vals[] = {
10186   {   0, "not-used" },
10187   {   1, "border-Cell-Access" },
10188   { 0, NULL }
10189 };
10190
10191
10192 static int
10193 dissect_ansi_map_BorderCellAccess(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10194   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10195                                   NULL);
10196
10197   return offset;
10198 }
10199
10200
10201
10202 static int
10203 dissect_ansi_map_MSC_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_) {
10204   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10205
10206   return offset;
10207 }
10208
10209
10210
10211 static int
10212 dissect_ansi_map_SMS_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_) {
10213   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10214
10215   return offset;
10216 }
10217
10218
10219
10220 static int
10221 dissect_ansi_map_MPCAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10222   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10223
10224   return offset;
10225 }
10226
10227
10228 static const ber_sequence_t MPCAddressList_set[] = {
10229   { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
10230   { &hf_ansi_map_mpcAddress2, BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
10231   { NULL, 0, 0, 0, NULL }
10232 };
10233
10234 static int
10235 dissect_ansi_map_MPCAddressList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10236   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10237                               MPCAddressList_set, hf_index, ett_ansi_map_MPCAddressList);
10238
10239   return offset;
10240 }
10241
10242
10243 static const ber_sequence_t RegistrationNotification_U_set[] = {
10244   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10245   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10246   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
10247   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10248   { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
10249   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
10250   { &hf_ansi_map_availabilityType, BER_CLASS_CON, 90, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AvailabilityType },
10251   { &hf_ansi_map_borderCellAccess, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BorderCellAccess },
10252   { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
10253   { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
10254   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
10255   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
10256   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
10257   { &hf_ansi_map_msc_Address, BER_CLASS_CON, 284, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSC_Address },
10258   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
10259   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
10260   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
10261   { &hf_ansi_map_reportType , BER_CLASS_CON, 44, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReportType },
10262   { &hf_ansi_map_serviceRedirectionCause, BER_CLASS_CON, 237, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionCause },
10263   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
10264   { &hf_ansi_map_sms_Address, BER_CLASS_CON, 104, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_Address },
10265   { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
10266   { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
10267   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
10268   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
10269   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
10270   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
10271   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
10272   { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
10273   { &hf_ansi_map_mpcAddressList, BER_CLASS_CON, 381, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddressList },
10274   { NULL, 0, 0, 0, NULL }
10275 };
10276
10277 static int
10278 dissect_ansi_map_RegistrationNotification_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_) {
10279   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10280                               RegistrationNotification_U_set, hf_index, ett_ansi_map_RegistrationNotification_U);
10281
10282   return offset;
10283 }
10284
10285
10286
10287 static int
10288 dissect_ansi_map_RegistrationNotification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10289   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10290                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationNotification_U);
10291
10292   return offset;
10293 }
10294
10295
10296 static const ber_sequence_t RegistrationNotificationRes_U_set[] = {
10297   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
10298   { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
10299   { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
10300   { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
10301   { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
10302   { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
10303   { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
10304   { &hf_ansi_map_digits_Carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10305   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10306   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10307   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10308   { &hf_ansi_map_authenticationCapability, BER_CLASS_CON, 78, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationCapability },
10309   { &hf_ansi_map_callingFeaturesIndicator, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingFeaturesIndicator },
10310   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
10311   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
10312   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
10313   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
10314   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
10315   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
10316   { &hf_ansi_map_geographicAuthorization, BER_CLASS_CON, 143, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicAuthorization },
10317   { &hf_ansi_map_meidValidated, BER_CLASS_CON, 401, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDValidated },
10318   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
10319   { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
10320   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
10321   { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator },
10322   { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
10323   { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
10324   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
10325   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
10326   { &hf_ansi_map_restrictionDigits, BER_CLASS_CON, 227, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RestrictionDigits },
10327   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
10328   { &hf_ansi_map_pSID_RSIDList, BER_CLASS_CON, 203, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDList },
10329   { &hf_ansi_map_sms_OriginationRestrictions, BER_CLASS_CON, 115, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginationRestrictions },
10330   { &hf_ansi_map_sms_TerminationRestrictions, BER_CLASS_CON, 117, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TerminationRestrictions },
10331   { &hf_ansi_map_spinipin   , BER_CLASS_CON, 154, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINIPIN },
10332   { &hf_ansi_map_spiniTriggers, BER_CLASS_CON, 155, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINITriggers },
10333   { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
10334   { &hf_ansi_map_terminationRestrictionCode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationRestrictionCode },
10335   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
10336   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
10337   { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
10338   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
10339   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
10340   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
10341   { &hf_ansi_map_lirMode    , BER_CLASS_CON, 369, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRMode },
10342   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
10343   { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
10344   { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
10345   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
10346   { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
10347   { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
10348   { NULL, 0, 0, 0, NULL }
10349 };
10350
10351 static int
10352 dissect_ansi_map_RegistrationNotificationRes_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_) {
10353   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10354                               RegistrationNotificationRes_U_set, hf_index, ett_ansi_map_RegistrationNotificationRes_U);
10355
10356   return offset;
10357 }
10358
10359
10360
10361 static int
10362 dissect_ansi_map_RegistrationNotificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10363   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10364                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationNotificationRes_U);
10365
10366   return offset;
10367 }
10368
10369
10370
10371 static int
10372 dissect_ansi_map_DigitCollectionControl(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10373   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10374                                        NULL);
10375
10376   return offset;
10377 }
10378
10379
10380 static const ber_sequence_t RemoteUserInteractionDirective_U_set[] = {
10381   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
10382   { &hf_ansi_map_digitCollectionControl, BER_CLASS_CON, 139, BER_FLAGS_IMPLTAG, dissect_ansi_map_DigitCollectionControl },
10383   { NULL, 0, 0, 0, NULL }
10384 };
10385
10386 static int
10387 dissect_ansi_map_RemoteUserInteractionDirective_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_) {
10388   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10389                               RemoteUserInteractionDirective_U_set, hf_index, ett_ansi_map_RemoteUserInteractionDirective_U);
10390
10391   return offset;
10392 }
10393
10394
10395
10396 static int
10397 dissect_ansi_map_RemoteUserInteractionDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10398   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10399                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RemoteUserInteractionDirective_U);
10400
10401   return offset;
10402 }
10403
10404
10405 static const ber_sequence_t RemoteUserInteractionDirectiveRes_U_set[] = {
10406   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10407   { NULL, 0, 0, 0, NULL }
10408 };
10409
10410 static int
10411 dissect_ansi_map_RemoteUserInteractionDirectiveRes_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_) {
10412   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10413                               RemoteUserInteractionDirectiveRes_U_set, hf_index, ett_ansi_map_RemoteUserInteractionDirectiveRes_U);
10414
10415   return offset;
10416 }
10417
10418
10419
10420 static int
10421 dissect_ansi_map_RemoteUserInteractionDirectiveRes(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_tagged_type(implicit_tag, actx, tree, tvb, offset,
10423                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RemoteUserInteractionDirectiveRes_U);
10424
10425   return offset;
10426 }
10427
10428
10429 static const ber_sequence_t ResetCircuit_U_set[] = {
10430   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
10431   { NULL, 0, 0, 0, NULL }
10432 };
10433
10434 static int
10435 dissect_ansi_map_ResetCircuit_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_) {
10436   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10437                               ResetCircuit_U_set, hf_index, ett_ansi_map_ResetCircuit_U);
10438
10439   return offset;
10440 }
10441
10442
10443
10444 static int
10445 dissect_ansi_map_ResetCircuit(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10446   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10447                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ResetCircuit_U);
10448
10449   return offset;
10450 }
10451
10452
10453 static const value_string ansi_map_TrunkStatus_vals[] = {
10454   {   0, "idle" },
10455   {   1, "blocked" },
10456   { 0, NULL }
10457 };
10458
10459
10460 static int
10461 dissect_ansi_map_TrunkStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10462   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10463                                   NULL);
10464
10465   return offset;
10466 }
10467
10468
10469 static const ber_sequence_t ResetCircuitRes_U_set[] = {
10470   { &hf_ansi_map_trunkStatus, BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_ansi_map_TrunkStatus },
10471   { NULL, 0, 0, 0, NULL }
10472 };
10473
10474 static int
10475 dissect_ansi_map_ResetCircuitRes_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_) {
10476   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10477                               ResetCircuitRes_U_set, hf_index, ett_ansi_map_ResetCircuitRes_U);
10478
10479   return offset;
10480 }
10481
10482
10483
10484 static int
10485 dissect_ansi_map_ResetCircuitRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10486   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10487                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ResetCircuitRes_U);
10488
10489   return offset;
10490 }
10491
10492
10493 static const ber_sequence_t RoutingRequest_U_set[] = {
10494   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
10495   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10496   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10497   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
10498   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
10499   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
10500   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
10501   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
10502   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
10503   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
10504   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
10505   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
10506   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
10507   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
10508   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
10509   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
10510   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
10511   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
10512   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
10513   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
10514   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
10515   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
10516   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10517   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
10518   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
10519   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
10520   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
10521   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
10522   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
10523   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
10524   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
10525   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
10526   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
10527   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
10528   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
10529   { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
10530   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
10531   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
10532   { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
10533   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
10534   { &hf_ansi_map_voiceMailboxNumber, BER_CLASS_CON, 160, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxNumber },
10535   { &hf_ansi_map_voiceMailboxPIN, BER_CLASS_CON, 159, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxPIN },
10536   { NULL, 0, 0, 0, NULL }
10537 };
10538
10539 static int
10540 dissect_ansi_map_RoutingRequest_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_) {
10541   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10542                               RoutingRequest_U_set, hf_index, ett_ansi_map_RoutingRequest_U);
10543
10544   return offset;
10545 }
10546
10547
10548
10549 static int
10550 dissect_ansi_map_RoutingRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10551   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10552                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoutingRequest_U);
10553
10554   return offset;
10555 }
10556
10557
10558 static const ber_sequence_t RoutingRequestRes_U_set[] = {
10559   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10560   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
10561   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
10562   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
10563   { &hf_ansi_map_conditionallyDeniedReason, BER_CLASS_CON, 162, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConditionallyDeniedReason },
10564   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10565   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
10566   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
10567   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
10568   { NULL, 0, 0, 0, NULL }
10569 };
10570
10571 static int
10572 dissect_ansi_map_RoutingRequestRes_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_) {
10573   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10574                               RoutingRequestRes_U_set, hf_index, ett_ansi_map_RoutingRequestRes_U);
10575
10576   return offset;
10577 }
10578
10579
10580
10581 static int
10582 dissect_ansi_map_RoutingRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10583   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10584                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoutingRequestRes_U);
10585
10586   return offset;
10587 }
10588
10589
10590
10591 static int
10592 dissect_ansi_map_SMS_BearerData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10593 #line 263 "ansi_map.cnf"
10594         int length;
10595     proto_tree *subtree;
10596         SMS_BearerData_tvb = NULL;
10597
10598   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10599                                        &SMS_BearerData_tvb);
10600
10601         if (SMS_BearerData_tvb){
10602                 /* A zero length OCTET STRING will return a zero length tvb */
10603                 length = tvb_length_remaining(SMS_BearerData_tvb,0);
10604                 if (length <=0){
10605                         subtree = proto_item_add_subtree(actx->created_item, ett_sms_bearer_data);
10606                         proto_item_append_text(actx->created_item," length %u",length);
10607                         SMS_BearerData_tvb = NULL;
10608                         return offset;
10609                 }
10610                 if (ansi_map_sms_tele_id != -1)
10611                 {
10612                         dissector_try_port(is637_tele_id_dissector_table, ansi_map_sms_tele_id, SMS_BearerData_tvb, g_pinfo, g_tree);
10613                 }
10614                 else
10615                 {
10616                         switch(ServiceIndicator){
10617                                 case 1: /* CDMA OTASP Service */
10618                                 case 3: /* CDMA OTAPA Service */
10619                                         dissector_try_port(is683_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
10620                                         break;
10621                                 case 4: /* CDMA Position Determination Service */
10622                                         dissector_try_port(is801_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
10623                                         break;
10624                                 default:
10625                                         break;
10626                         }
10627                 }
10628         }
10629
10630
10631
10632   return offset;
10633 }
10634
10635
10636
10637 static int
10638 dissect_ansi_map_SMS_TeleserviceIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10639 #line 308 "ansi_map.cnf"
10640
10641         int length;
10642     proto_tree *subtree;
10643         tvbuff_t *parameter_tvb = NULL;
10644         ansi_map_sms_tele_id = -1;
10645
10646   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10647                                        &parameter_tvb);
10648
10649         if (parameter_tvb){
10650                 /* A zero length OCTET STRING will return a zero length tvb */
10651                 length = tvb_length_remaining(parameter_tvb,0);
10652                 if (length <=0){
10653                         subtree = proto_item_add_subtree(actx->created_item, ett_sms_teleserviceIdentifier);
10654                         proto_item_append_text(actx->created_item, " length %u",length);
10655                         return offset;
10656                 }
10657                 ansi_map_sms_tele_id = tvb_get_ntohs(tvb,0);
10658                 if ((ansi_map_sms_tele_id != -1)&&(SMS_BearerData_tvb !=NULL))
10659                 {
10660                     dissector_try_port(is637_tele_id_dissector_table, ansi_map_sms_tele_id, SMS_BearerData_tvb, g_pinfo, g_tree);
10661                 }
10662         }
10663
10664
10665
10666   return offset;
10667 }
10668
10669
10670
10671 static int
10672 dissect_ansi_map_SMS_ChargeIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10673   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10674                                        NULL);
10675
10676   return offset;
10677 }
10678
10679
10680
10681 static int
10682 dissect_ansi_map_SMS_DestinationAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10683   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10684
10685   return offset;
10686 }
10687
10688
10689
10690 static int
10691 dissect_ansi_map_SMS_OriginalDestinationAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10692   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10693
10694   return offset;
10695 }
10696
10697
10698
10699 static int
10700 dissect_ansi_map_SMS_OriginalDestinationSubaddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10701   offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
10702
10703   return offset;
10704 }
10705
10706
10707
10708 static int
10709 dissect_ansi_map_SMS_OriginalOriginatingAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10710   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10711
10712   return offset;
10713 }
10714
10715
10716
10717 static int
10718 dissect_ansi_map_SMS_OriginalOriginatingSubaddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10719   offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
10720
10721   return offset;
10722 }
10723
10724
10725
10726 static int
10727 dissect_ansi_map_SMS_OriginatingAddress(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10728   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10729
10730   return offset;
10731 }
10732
10733
10734 static const ber_sequence_t SMSDeliveryBackward_U_set[] = {
10735   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
10736   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10737   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10738   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
10739   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10740   { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
10741   { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
10742   { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
10743   { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
10744   { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
10745   { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
10746   { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
10747   { NULL, 0, 0, 0, NULL }
10748 };
10749
10750 static int
10751 dissect_ansi_map_SMSDeliveryBackward_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_) {
10752   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10753                               SMSDeliveryBackward_U_set, hf_index, ett_ansi_map_SMSDeliveryBackward_U);
10754
10755   return offset;
10756 }
10757
10758
10759
10760 static int
10761 dissect_ansi_map_SMSDeliveryBackward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10762   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10763                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryBackward_U);
10764
10765   return offset;
10766 }
10767
10768
10769
10770 static int
10771 dissect_ansi_map_SMS_CauseCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10772   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10773                                        NULL);
10774
10775   return offset;
10776 }
10777
10778
10779 static const ber_sequence_t SMSDeliveryBackwardRes_U_set[] = {
10780   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10781   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
10782   { NULL, 0, 0, 0, NULL }
10783 };
10784
10785 static int
10786 dissect_ansi_map_SMSDeliveryBackwardRes_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_) {
10787   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10788                               SMSDeliveryBackwardRes_U_set, hf_index, ett_ansi_map_SMSDeliveryBackwardRes_U);
10789
10790   return offset;
10791 }
10792
10793
10794
10795 static int
10796 dissect_ansi_map_SMSDeliveryBackwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10797   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10798                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryBackwardRes_U);
10799
10800   return offset;
10801 }
10802
10803
10804 static const ber_sequence_t SMSDeliveryForward_U_set[] = {
10805   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
10806   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10807   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10808   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
10809   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10810   { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
10811   { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
10812   { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
10813   { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
10814   { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
10815   { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
10816   { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
10817   { NULL, 0, 0, 0, NULL }
10818 };
10819
10820 static int
10821 dissect_ansi_map_SMSDeliveryForward_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_) {
10822   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10823                               SMSDeliveryForward_U_set, hf_index, ett_ansi_map_SMSDeliveryForward_U);
10824
10825   return offset;
10826 }
10827
10828
10829
10830 static int
10831 dissect_ansi_map_SMSDeliveryForward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10832   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10833                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryForward_U);
10834
10835   return offset;
10836 }
10837
10838
10839 static const ber_sequence_t SMSDeliveryForwardRes_U_set[] = {
10840   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10841   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
10842   { NULL, 0, 0, 0, NULL }
10843 };
10844
10845 static int
10846 dissect_ansi_map_SMSDeliveryForwardRes_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_) {
10847   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10848                               SMSDeliveryForwardRes_U_set, hf_index, ett_ansi_map_SMSDeliveryForwardRes_U);
10849
10850   return offset;
10851 }
10852
10853
10854
10855 static int
10856 dissect_ansi_map_SMSDeliveryForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10857   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10858                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryForwardRes_U);
10859
10860   return offset;
10861 }
10862
10863
10864
10865 static int
10866 dissect_ansi_map_CDMAServingOneWayDelay2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10867   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10868                                        NULL);
10869
10870   return offset;
10871 }
10872
10873
10874
10875 static int
10876 dissect_ansi_map_InterMessageTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10877   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10878                                        NULL);
10879
10880   return offset;
10881 }
10882
10883
10884
10885 static int
10886 dissect_ansi_map_IMSIType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10887   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10888                                        NULL);
10889
10890   return offset;
10891 }
10892
10893
10894
10895 static int
10896 dissect_ansi_map_NewlyAssignedIMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10897   offset = dissect_ansi_map_IMSIType(implicit_tag, tvb, offset, actx, tree, hf_index);
10898
10899   return offset;
10900 }
10901
10902
10903
10904 static int
10905 dissect_ansi_map_NewlyAssignedMIN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10906   offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
10907
10908   return offset;
10909 }
10910
10911
10912
10913 static int
10914 dissect_ansi_map_NewMINExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10915   offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
10916
10917   return offset;
10918 }
10919
10920
10921
10922 static int
10923 dissect_ansi_map_SMS_MessageCount(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10924   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10925                                        NULL);
10926
10927   return offset;
10928 }
10929
10930
10931
10932 static int
10933 dissect_ansi_map_SMS_NotificationIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10934   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10935                                        NULL);
10936
10937   return offset;
10938 }
10939
10940
10941
10942 static int
10943 dissect_ansi_map_Teleservice_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_) {
10944   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10945                                        NULL);
10946
10947   return offset;
10948 }
10949
10950
10951
10952 static int
10953 dissect_ansi_map_TemporaryReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
10954   offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
10955
10956   return offset;
10957 }
10958
10959
10960 static const ber_sequence_t SMSDeliveryPointToPoint_U_set[] = {
10961   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10962   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
10963   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
10964   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
10965   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10966   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
10967   { &hf_ansi_map_interMessageTime, BER_CLASS_CON, 325, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMessageTime },
10968   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10969   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
10970   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10971   { &hf_ansi_map_newlyAssignedIMSI, BER_CLASS_CON, 287, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedIMSI },
10972   { &hf_ansi_map_newlyAssignedMIN, BER_CLASS_CON, 187, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedMIN },
10973   { &hf_ansi_map_newMINExtension, BER_CLASS_CON, 328, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NewMINExtension },
10974   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
10975   { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
10976   { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
10977   { &hf_ansi_map_sms_MessageCount, BER_CLASS_CON, 108, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageCount },
10978   { &hf_ansi_map_sms_NotificationIndicator, BER_CLASS_CON, 109, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_NotificationIndicator },
10979   { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
10980   { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
10981   { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
10982   { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
10983   { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
10984   { &hf_ansi_map_teleservice_Priority, BER_CLASS_CON, 290, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Teleservice_Priority },
10985   { &hf_ansi_map_temporaryReferenceNumber, BER_CLASS_CON, 195, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TemporaryReferenceNumber },
10986   { NULL, 0, 0, 0, NULL }
10987 };
10988
10989 static int
10990 dissect_ansi_map_SMSDeliveryPointToPoint_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_) {
10991   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10992                               SMSDeliveryPointToPoint_U_set, hf_index, ett_ansi_map_SMSDeliveryPointToPoint_U);
10993
10994   return offset;
10995 }
10996
10997
10998
10999 static int
11000 dissect_ansi_map_SMSDeliveryPointToPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11001   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11002                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryPointToPoint_U);
11003
11004   return offset;
11005 }
11006
11007
11008
11009 static int
11010 dissect_ansi_map_MobileStationIMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11011   offset = dissect_ansi_map_IMSIType(implicit_tag, tvb, offset, actx, tree, hf_index);
11012
11013   return offset;
11014 }
11015
11016
11017 static const value_string ansi_map_MobileStationMSID_vals[] = {
11018   { 184, "mobileStationMIN" },
11019   { 286, "mobileStationIMSI" },
11020   { 0, NULL }
11021 };
11022
11023 static const ber_choice_t MobileStationMSID_choice[] = {
11024   { 184, &hf_ansi_map_mobileStationMIN, BER_CLASS_CON, 184, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationMIN },
11025   { 286, &hf_ansi_map_mobileStationIMSI, BER_CLASS_CON, 286, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationIMSI },
11026   { 0, NULL, 0, 0, 0, NULL }
11027 };
11028
11029 static int
11030 dissect_ansi_map_MobileStationMSID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11031   offset = dissect_ber_choice(actx, tree, tvb, offset,
11032                                  MobileStationMSID_choice, hf_index, ett_ansi_map_MobileStationMSID,
11033                                  NULL);
11034
11035   return offset;
11036 }
11037
11038
11039 static const ber_sequence_t SMSDeliveryPointToPointRes_U_set[] = {
11040   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
11041   { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
11042   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
11043   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11044   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
11045   { &hf_ansi_map_mobileStationMSID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MobileStationMSID },
11046   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11047   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
11048   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
11049   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
11050   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
11051   { NULL, 0, 0, 0, NULL }
11052 };
11053
11054 static int
11055 dissect_ansi_map_SMSDeliveryPointToPointRes_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_) {
11056   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11057                               SMSDeliveryPointToPointRes_U_set, hf_index, ett_ansi_map_SMSDeliveryPointToPointRes_U);
11058
11059   return offset;
11060 }
11061
11062
11063
11064 static int
11065 dissect_ansi_map_SMSDeliveryPointToPointRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11066   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11067                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryPointToPointRes_U);
11068
11069   return offset;
11070 }
11071
11072
11073
11074 static int
11075 dissect_ansi_map_SMS_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_) {
11076   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11077                                        NULL);
11078
11079   return offset;
11080 }
11081
11082
11083 static const ber_sequence_t SMSDeliveryPointToPointAck_U_set[] = {
11084   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11085   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
11086   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11087   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
11088   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
11089   { &hf_ansi_map_sms_TransactionID, BER_CLASS_CON, 302, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TransactionID },
11090   { NULL, 0, 0, 0, NULL }
11091 };
11092
11093 static int
11094 dissect_ansi_map_SMSDeliveryPointToPointAck_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_) {
11095   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11096                               SMSDeliveryPointToPointAck_U_set, hf_index, ett_ansi_map_SMSDeliveryPointToPointAck_U);
11097
11098   return offset;
11099 }
11100
11101
11102
11103 static int
11104 dissect_ansi_map_SMSDeliveryPointToPointAck(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_tagged_type(implicit_tag, actx, tree, tvb, offset,
11106                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryPointToPointAck_U);
11107
11108   return offset;
11109 }
11110
11111
11112
11113 static int
11114 dissect_ansi_map_SMS_AccessDeniedReason(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11115   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11116                                        NULL);
11117
11118   return offset;
11119 }
11120
11121
11122 static const ber_sequence_t SMSNotification_U_set[] = {
11123   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11124   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11125   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11126   { &hf_ansi_map_sms_AccessDeniedReason, BER_CLASS_CON, 152, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_AccessDeniedReason },
11127   { &hf_ansi_map_sms_Address, BER_CLASS_CON, 104, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_Address },
11128   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
11129   { NULL, 0, 0, 0, NULL }
11130 };
11131
11132 static int
11133 dissect_ansi_map_SMSNotification_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_) {
11134   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11135                               SMSNotification_U_set, hf_index, ett_ansi_map_SMSNotification_U);
11136
11137   return offset;
11138 }
11139
11140
11141
11142 static int
11143 dissect_ansi_map_SMSNotification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11144   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11145                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSNotification_U);
11146
11147   return offset;
11148 }
11149
11150
11151 static const ber_sequence_t SMSNotificationRes_U_set[] = {
11152   { &hf_ansi_map_sms_MessageCount, BER_CLASS_CON, 108, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageCount },
11153   { NULL, 0, 0, 0, NULL }
11154 };
11155
11156 static int
11157 dissect_ansi_map_SMSNotificationRes_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_) {
11158   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11159                               SMSNotificationRes_U_set, hf_index, ett_ansi_map_SMSNotificationRes_U);
11160
11161   return offset;
11162 }
11163
11164
11165
11166 static int
11167 dissect_ansi_map_SMSNotificationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11168   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11169                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSNotificationRes_U);
11170
11171   return offset;
11172 }
11173
11174
11175 static const ber_sequence_t SMSRequest_U_set[] = {
11176   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11177   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11178   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11179   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
11180   { &hf_ansi_map_sms_NotificationIndicator, BER_CLASS_CON, 109, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_NotificationIndicator },
11181   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
11182   { NULL, 0, 0, 0, NULL }
11183 };
11184
11185 static int
11186 dissect_ansi_map_SMSRequest_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_) {
11187   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11188                               SMSRequest_U_set, hf_index, ett_ansi_map_SMSRequest_U);
11189
11190   return offset;
11191 }
11192
11193
11194
11195 static int
11196 dissect_ansi_map_SMSRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11197   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11198                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSRequest_U);
11199
11200   return offset;
11201 }
11202
11203
11204 static const ber_sequence_t SMSRequestRes_U_set[] = {
11205   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11206   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11207   { &hf_ansi_map_sms_AccessDeniedReason, BER_CLASS_CON, 152, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_AccessDeniedReason },
11208   { &hf_ansi_map_sms_Address, BER_CLASS_CON, 104, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_Address },
11209   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
11210   { NULL, 0, 0, 0, NULL }
11211 };
11212
11213 static int
11214 dissect_ansi_map_SMSRequestRes_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_) {
11215   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11216                               SMSRequestRes_U_set, hf_index, ett_ansi_map_SMSRequestRes_U);
11217
11218   return offset;
11219 }
11220
11221
11222
11223 static int
11224 dissect_ansi_map_SMSRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11225   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11226                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSRequestRes_U);
11227
11228   return offset;
11229 }
11230
11231
11232 static const ber_sequence_t TransferToNumberRequest_U_set[] = {
11233   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11234   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11235   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11236   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
11237   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11238   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11239   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11240   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11241   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11242   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11243   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11244   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
11245   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
11246   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
11247   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11248   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11249   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
11250   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
11251   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11252   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
11253   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
11254   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
11255   { NULL, 0, 0, 0, NULL }
11256 };
11257
11258 static int
11259 dissect_ansi_map_TransferToNumberRequest_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_) {
11260   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11261                               TransferToNumberRequest_U_set, hf_index, ett_ansi_map_TransferToNumberRequest_U);
11262
11263   return offset;
11264 }
11265
11266
11267
11268 static int
11269 dissect_ansi_map_TransferToNumberRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11270   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11271                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TransferToNumberRequest_U);
11272
11273   return offset;
11274 }
11275
11276
11277 static const ber_sequence_t TransferToNumberRequestRes_U_set[] = {
11278   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11279   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11280   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
11281   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
11282   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
11283   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
11284   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11285   { &hf_ansi_map_digits_Carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11286   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
11287   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
11288   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
11289   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
11290   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
11291   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11292   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
11293   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL, dissect_ansi_map_GroupInformation },
11294   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11295   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
11296   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11297   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11298   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
11299   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11300   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
11301   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
11302   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
11303   { NULL, 0, 0, 0, NULL }
11304 };
11305
11306 static int
11307 dissect_ansi_map_TransferToNumberRequestRes_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_) {
11308   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11309                               TransferToNumberRequestRes_U_set, hf_index, ett_ansi_map_TransferToNumberRequestRes_U);
11310
11311   return offset;
11312 }
11313
11314
11315
11316 static int
11317 dissect_ansi_map_TransferToNumberRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11318   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11319                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TransferToNumberRequestRes_U);
11320
11321   return offset;
11322 }
11323
11324
11325 static const value_string ansi_map_SeizureType_vals[] = {
11326   {   0, "unspecified" },
11327   {   1, "loop-back" },
11328   { 0, NULL }
11329 };
11330
11331
11332 static int
11333 dissect_ansi_map_SeizureType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11334   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11335                                   NULL);
11336
11337   return offset;
11338 }
11339
11340
11341 static const ber_sequence_t TrunkTest_U_set[] = {
11342   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11343   { &hf_ansi_map_seizureType, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_ansi_map_SeizureType },
11344   { NULL, 0, 0, 0, NULL }
11345 };
11346
11347 static int
11348 dissect_ansi_map_TrunkTest_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_) {
11349   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11350                               TrunkTest_U_set, hf_index, ett_ansi_map_TrunkTest_U);
11351
11352   return offset;
11353 }
11354
11355
11356
11357 static int
11358 dissect_ansi_map_TrunkTest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11359   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11360                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TrunkTest_U);
11361
11362   return offset;
11363 }
11364
11365
11366 static const ber_sequence_t TrunkTestDisconnect_U_set[] = {
11367   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11368   { NULL, 0, 0, 0, NULL }
11369 };
11370
11371 static int
11372 dissect_ansi_map_TrunkTestDisconnect_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_) {
11373   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11374                               TrunkTestDisconnect_U_set, hf_index, ett_ansi_map_TrunkTestDisconnect_U);
11375
11376   return offset;
11377 }
11378
11379
11380
11381 static int
11382 dissect_ansi_map_TrunkTestDisconnect(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11383   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11384                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TrunkTestDisconnect_U);
11385
11386   return offset;
11387 }
11388
11389
11390 static const ber_sequence_t Unblocking_U_set[] = {
11391   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11392   { NULL, 0, 0, 0, NULL }
11393 };
11394
11395 static int
11396 dissect_ansi_map_Unblocking_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_) {
11397   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11398                               Unblocking_U_set, hf_index, ett_ansi_map_Unblocking_U);
11399
11400   return offset;
11401 }
11402
11403
11404
11405 static int
11406 dissect_ansi_map_Unblocking(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11407   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11408                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Unblocking_U);
11409
11410   return offset;
11411 }
11412
11413
11414 static const ber_sequence_t UnreliableRoamerDataDirective_U_set[] = {
11415   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11416   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11417   { NULL, 0, 0, 0, NULL }
11418 };
11419
11420 static int
11421 dissect_ansi_map_UnreliableRoamerDataDirective_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_) {
11422   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11423                               UnreliableRoamerDataDirective_U_set, hf_index, ett_ansi_map_UnreliableRoamerDataDirective_U);
11424
11425   return offset;
11426 }
11427
11428
11429
11430 static int
11431 dissect_ansi_map_UnreliableRoamerDataDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11432   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11433                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnreliableRoamerDataDirective_U);
11434
11435   return offset;
11436 }
11437
11438
11439 static const ber_sequence_t UnsolicitedResponse_U_set[] = {
11440   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11441   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11442   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11443   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
11444   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11445   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
11446   { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
11447   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11448   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
11449   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
11450   { NULL, 0, 0, 0, NULL }
11451 };
11452
11453 static int
11454 dissect_ansi_map_UnsolicitedResponse_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_) {
11455   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11456                               UnsolicitedResponse_U_set, hf_index, ett_ansi_map_UnsolicitedResponse_U);
11457
11458   return offset;
11459 }
11460
11461
11462
11463 static int
11464 dissect_ansi_map_UnsolicitedResponse(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_tagged_type(implicit_tag, actx, tree, tvb, offset,
11466                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnsolicitedResponse_U);
11467
11468   return offset;
11469 }
11470
11471
11472 static const ber_sequence_t UnsolicitedResponseRes_U_set[] = {
11473   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11474   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
11475   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11476   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11477   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11478   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11479   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
11480   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
11481   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11482   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
11483   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
11484   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
11485   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
11486   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
11487   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
11488   { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
11489   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
11490   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11491   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11492   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
11493   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11494   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
11495   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
11496   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11497   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11498   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
11499   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
11500   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11501   { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
11502   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
11503   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
11504   { NULL, 0, 0, 0, NULL }
11505 };
11506
11507 static int
11508 dissect_ansi_map_UnsolicitedResponseRes_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_) {
11509   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11510                               UnsolicitedResponseRes_U_set, hf_index, ett_ansi_map_UnsolicitedResponseRes_U);
11511
11512   return offset;
11513 }
11514
11515
11516
11517 static int
11518 dissect_ansi_map_UnsolicitedResponseRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11519   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11520                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnsolicitedResponseRes_U);
11521
11522   return offset;
11523 }
11524
11525
11526
11527 static int
11528 dissect_ansi_map_RequiredParametersMask(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11529   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11530                                        NULL);
11531
11532   return offset;
11533 }
11534
11535
11536 static const ber_sequence_t ParameterRequest_U_set[] = {
11537   { &hf_ansi_map_requiredParametersMask, BER_CLASS_CON, 236, BER_FLAGS_IMPLTAG, dissect_ansi_map_RequiredParametersMask },
11538   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11539   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11540   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11541   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
11542   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11543   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11544   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11545   { NULL, 0, 0, 0, NULL }
11546 };
11547
11548 static int
11549 dissect_ansi_map_ParameterRequest_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_) {
11550   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11551                               ParameterRequest_U_set, hf_index, ett_ansi_map_ParameterRequest_U);
11552
11553   return offset;
11554 }
11555
11556
11557
11558 static int
11559 dissect_ansi_map_ParameterRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11560   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11561                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ParameterRequest_U);
11562
11563   return offset;
11564 }
11565
11566
11567 static const value_string ansi_map_ReasonList_vals[] = {
11568   {   0, "unknown" },
11569   {   1, "unable-to-configure-ISLP" },
11570   {   2, "iSLP-failure" },
11571   {   3, "service-allowed-but-facilities-not-available" },
11572   {   4, "service-not-allowed" },
11573   {   5, "no-Response-to-TMSI-assignment" },
11574   {   6, "required-parameters-unavailable" },
11575   { 0, NULL }
11576 };
11577
11578
11579 static int
11580 dissect_ansi_map_ReasonList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11581   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11582                                   NULL);
11583
11584   return offset;
11585 }
11586
11587
11588 static const ber_sequence_t ParameterRequestRes_U_set[] = {
11589   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11590   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
11591   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11592   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11593   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
11594   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
11595   { NULL, 0, 0, 0, NULL }
11596 };
11597
11598 static int
11599 dissect_ansi_map_ParameterRequestRes_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_) {
11600   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11601                               ParameterRequestRes_U_set, hf_index, ett_ansi_map_ParameterRequestRes_U);
11602
11603   return offset;
11604 }
11605
11606
11607
11608 static int
11609 dissect_ansi_map_ParameterRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11610   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11611                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ParameterRequestRes_U);
11612
11613   return offset;
11614 }
11615
11616
11617
11618 static int
11619 dissect_ansi_map_NetworkTMSIExpirationTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11620   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11621                                        NULL);
11622
11623   return offset;
11624 }
11625
11626
11627
11628 static int
11629 dissect_ansi_map_NewNetworkTMSI(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11630   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
11631
11632   return offset;
11633 }
11634
11635
11636 static const ber_sequence_t TMSIDirective_U_set[] = {
11637   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11638   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11639   { &hf_ansi_map_networkTMSIExpirationTime, BER_CLASS_CON, 234, BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSIExpirationTime },
11640   { &hf_ansi_map_newNetworkTMSI, BER_CLASS_CON, 235, BER_FLAGS_IMPLTAG, dissect_ansi_map_NewNetworkTMSI },
11641   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11642   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
11643   { NULL, 0, 0, 0, NULL }
11644 };
11645
11646 static int
11647 dissect_ansi_map_TMSIDirective_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_) {
11648   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11649                               TMSIDirective_U_set, hf_index, ett_ansi_map_TMSIDirective_U);
11650
11651   return offset;
11652 }
11653
11654
11655
11656 static int
11657 dissect_ansi_map_TMSIDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11658   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11659                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TMSIDirective_U);
11660
11661   return offset;
11662 }
11663
11664
11665 static const ber_sequence_t TMSIDirectiveRes_U_set[] = {
11666   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
11667   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11668   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11669   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
11670   { NULL, 0, 0, 0, NULL }
11671 };
11672
11673 static int
11674 dissect_ansi_map_TMSIDirectiveRes_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_) {
11675   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11676                               TMSIDirectiveRes_U_set, hf_index, ett_ansi_map_TMSIDirectiveRes_U);
11677
11678   return offset;
11679 }
11680
11681
11682
11683 static int
11684 dissect_ansi_map_TMSIDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11685   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11686                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TMSIDirectiveRes_U);
11687
11688   return offset;
11689 }
11690
11691
11692 static const ber_sequence_t NumberPortabilityRequest_U_set[] = {
11693   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11694   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11695   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11696   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11697   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11698   { NULL, 0, 0, 0, NULL }
11699 };
11700
11701 static int
11702 dissect_ansi_map_NumberPortabilityRequest_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_) {
11703   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11704                               NumberPortabilityRequest_U_set, hf_index, ett_ansi_map_NumberPortabilityRequest_U);
11705
11706   return offset;
11707 }
11708
11709
11710
11711 static int
11712 dissect_ansi_map_NumberPortabilityRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11713   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11714                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_NumberPortabilityRequest_U);
11715
11716   return offset;
11717 }
11718
11719
11720
11721 static int
11722 dissect_ansi_map_ServiceID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11723   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11724                                        NULL);
11725
11726   return offset;
11727 }
11728
11729
11730
11731 static int
11732 dissect_ansi_map_DataID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11733   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11734                                        NULL);
11735
11736   return offset;
11737 }
11738
11739
11740 static const value_string ansi_map_Change_vals[] = {
11741   {   1, "setDataItemToDefaultValue" },
11742   {   2, "addDataItem" },
11743   {   3, "deleteDataItem" },
11744   {   4, "replaceDataItemWithAssociatedDataValue" },
11745   { 0, NULL }
11746 };
11747
11748
11749 static int
11750 dissect_ansi_map_Change(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11751   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11752                                   NULL);
11753
11754   return offset;
11755 }
11756
11757
11758
11759 static int
11760 dissect_ansi_map_DataValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11761   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11762                                        NULL);
11763
11764   return offset;
11765 }
11766
11767
11768 static const ber_sequence_t DataAccessElement_sequence[] = {
11769   { &hf_ansi_map_dataID     , BER_CLASS_CON, 251, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataID },
11770   { &hf_ansi_map_change     , BER_CLASS_CON, 248, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Change },
11771   { &hf_ansi_map_dataValue  , BER_CLASS_CON, 256, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataValue },
11772   { NULL, 0, 0, 0, NULL }
11773 };
11774
11775 static int
11776 dissect_ansi_map_DataAccessElement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11777   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11778                                    DataAccessElement_sequence, hf_index, ett_ansi_map_DataAccessElement);
11779
11780   return offset;
11781 }
11782
11783
11784 static const ber_sequence_t DataAccessElementList_item_sequence[] = {
11785   { &hf_ansi_map_dataAccessElement1, BER_CLASS_CON, 249, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElement },
11786   { &hf_ansi_map_dataAccessElement2, BER_CLASS_CON, 249, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElement },
11787   { NULL, 0, 0, 0, NULL }
11788 };
11789
11790 static int
11791 dissect_ansi_map_DataAccessElementList_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_) {
11792   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11793                                    DataAccessElementList_item_sequence, hf_index, ett_ansi_map_DataAccessElementList_item);
11794
11795   return offset;
11796 }
11797
11798
11799 static const ber_sequence_t DataAccessElementList_sequence_of[1] = {
11800   { &hf_ansi_map_DataAccessElementList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_DataAccessElementList_item },
11801 };
11802
11803 static int
11804 dissect_ansi_map_DataAccessElementList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11805   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11806                                       DataAccessElementList_sequence_of, hf_index, ett_ansi_map_DataAccessElementList);
11807
11808   return offset;
11809 }
11810
11811
11812
11813 static int
11814 dissect_ansi_map_TimeDateOffset(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11815   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11816                                        NULL);
11817
11818   return offset;
11819 }
11820
11821
11822
11823 static int
11824 dissect_ansi_map_TimeOfDay(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11825   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11826                                                 NULL);
11827
11828   return offset;
11829 }
11830
11831
11832 static const ber_sequence_t ServiceRequest_U_set[] = {
11833   { &hf_ansi_map_serviceID  , BER_CLASS_CON, 245, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceID },
11834   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11835   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11836   { &hf_ansi_map_availabilityType, BER_CLASS_CON, 90, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AvailabilityType },
11837   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11838   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11839   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11840   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11841   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11842   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
11843   { &hf_ansi_map_conditionallyDeniedReason, BER_CLASS_CON, 162, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConditionallyDeniedReason },
11844   { &hf_ansi_map_dataAccessElementList, BER_CLASS_CON, 250, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElementList },
11845   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
11846   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11847   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11848   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
11849   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11850   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
11851   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
11852   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL, dissect_ansi_map_GroupInformation },
11853   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
11854   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11855   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11856   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11857   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11858   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11859   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11860   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
11861   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
11862   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11863   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
11864   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11865   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11866   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
11867   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11868   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11869   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
11870   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11871   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
11872   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
11873   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
11874   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
11875   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
11876   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
11877   { NULL, 0, 0, 0, NULL }
11878 };
11879
11880 static int
11881 dissect_ansi_map_ServiceRequest_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_) {
11882   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11883                               ServiceRequest_U_set, hf_index, ett_ansi_map_ServiceRequest_U);
11884
11885   return offset;
11886 }
11887
11888
11889
11890 static int
11891 dissect_ansi_map_ServiceRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11892   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11893                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ServiceRequest_U);
11894
11895   return offset;
11896 }
11897
11898
11899 static const ber_sequence_t ServiceRequestRes_U_set[] = {
11900   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11901   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
11902   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
11903   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
11904   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11905   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
11906   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
11907   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11908   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
11909   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11910   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
11911   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
11912   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
11913   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
11914   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
11915   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
11916   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11917   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
11918   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
11919   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11920   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
11921   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11922   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
11923   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11924   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
11925   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11926   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
11927   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
11928   { NULL, 0, 0, 0, NULL }
11929 };
11930
11931 static int
11932 dissect_ansi_map_ServiceRequestRes_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_) {
11933   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11934                               ServiceRequestRes_U_set, hf_index, ett_ansi_map_ServiceRequestRes_U);
11935
11936   return offset;
11937 }
11938
11939
11940
11941 static int
11942 dissect_ansi_map_ServiceRequestRes(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_tagged_type(implicit_tag, actx, tree, tvb, offset,
11944                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ServiceRequestRes_U);
11945
11946   return offset;
11947 }
11948
11949
11950 static const value_string ansi_map_DMH_BillingIndicator_vals[] = {
11951   {   0, "unspecified" },
11952   { 0, NULL }
11953 };
11954
11955
11956 static int
11957 dissect_ansi_map_DMH_BillingIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
11958   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11959                                   NULL);
11960
11961   return offset;
11962 }
11963
11964
11965 static const ber_sequence_t AnalyzedInformation_U_set[] = {
11966   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11967   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11968   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11969   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
11970   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
11971   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
11972   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11973   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11974   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11975   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11976   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11977   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
11978   { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
11979   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
11980   { &hf_ansi_map_dmd_BillingIndicator, BER_CLASS_CON, 312, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingIndicator },
11981   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
11982   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11983   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11984   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
11985   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11986   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11987   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11988   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11989   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11990   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
11991   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11992   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11993   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
11994   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11995   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11996   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
11997   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11998   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
11999   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
12000   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
12001   { NULL, 0, 0, 0, NULL }
12002 };
12003
12004 static int
12005 dissect_ansi_map_AnalyzedInformation_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_) {
12006   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12007                               AnalyzedInformation_U_set, hf_index, ett_ansi_map_AnalyzedInformation_U);
12008
12009   return offset;
12010 }
12011
12012
12013
12014 static int
12015 dissect_ansi_map_AnalyzedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12016   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12017                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AnalyzedInformation_U);
12018
12019   return offset;
12020 }
12021
12022
12023 static const ber_sequence_t AnalyzedInformationRes_U_set[] = {
12024   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12025   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12026   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12027   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12028   { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
12029   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
12030   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12031   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
12032   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12033   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12034   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12035   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12036   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
12037   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12038   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12039   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12040   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12041   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
12042   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12043   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12044   { NULL, 0, 0, 0, NULL }
12045 };
12046
12047 static int
12048 dissect_ansi_map_AnalyzedInformationRes_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_) {
12049   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12050                               AnalyzedInformationRes_U_set, hf_index, ett_ansi_map_AnalyzedInformationRes_U);
12051
12052   return offset;
12053 }
12054
12055
12056
12057 static int
12058 dissect_ansi_map_AnalyzedInformationRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12059   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12060                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AnalyzedInformationRes_U);
12061
12062   return offset;
12063 }
12064
12065
12066 static const value_string ansi_map_FailureType_vals[] = {
12067   {   1, "callAbandoned" },
12068   {   2, "resourceDisconnect" },
12069   {   3, "failureAtMSC" },
12070   {   4, "sSFTExpiration" },
12071   { 0, NULL }
12072 };
12073
12074
12075 static int
12076 dissect_ansi_map_FailureType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12077   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12078                                   NULL);
12079
12080   return offset;
12081 }
12082
12083
12084
12085 static int
12086 dissect_ansi_map_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_) {
12087   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12088                                        NULL);
12089
12090   return offset;
12091 }
12092
12093
12094 static const ber_sequence_t ConnectionFailureReport_U_set[] = {
12095   { &hf_ansi_map_failureType, BER_CLASS_CON, 260, BER_FLAGS_IMPLTAG, dissect_ansi_map_FailureType },
12096   { &hf_ansi_map_failureCause, BER_CLASS_CON, 387, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FailureCause },
12097   { NULL, 0, 0, 0, NULL }
12098 };
12099
12100 static int
12101 dissect_ansi_map_ConnectionFailureReport_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_) {
12102   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12103                               ConnectionFailureReport_U_set, hf_index, ett_ansi_map_ConnectionFailureReport_U);
12104
12105   return offset;
12106 }
12107
12108
12109
12110 static int
12111 dissect_ansi_map_ConnectionFailureReport(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_tagged_type(implicit_tag, actx, tree, tvb, offset,
12113                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ConnectionFailureReport_U);
12114
12115   return offset;
12116 }
12117
12118
12119 static const ber_sequence_t ConnectResource_U_set[] = {
12120   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
12121   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12122   { &hf_ansi_map_outingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12123   { NULL, 0, 0, 0, NULL }
12124 };
12125
12126 static int
12127 dissect_ansi_map_ConnectResource_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_) {
12128   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12129                               ConnectResource_U_set, hf_index, ett_ansi_map_ConnectResource_U);
12130
12131   return offset;
12132 }
12133
12134
12135
12136 static int
12137 dissect_ansi_map_ConnectResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12138   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12139                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ConnectResource_U);
12140
12141   return offset;
12142 }
12143
12144
12145 static const ber_sequence_t FacilitySelectedAndAvailable_U_set[] = {
12146   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
12147   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12148   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
12149   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
12150   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
12151   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
12152   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
12153   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
12154   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
12155   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
12156   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12157   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12158   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
12159   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
12160   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12161   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
12162   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12163   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12164   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
12165   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12166   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12167   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12168   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
12169   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
12170   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
12171   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
12172   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
12173   { NULL, 0, 0, 0, NULL }
12174 };
12175
12176 static int
12177 dissect_ansi_map_FacilitySelectedAndAvailable_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_) {
12178   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12179                               FacilitySelectedAndAvailable_U_set, hf_index, ett_ansi_map_FacilitySelectedAndAvailable_U);
12180
12181   return offset;
12182 }
12183
12184
12185
12186 static int
12187 dissect_ansi_map_FacilitySelectedAndAvailable(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12188   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12189                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitySelectedAndAvailable_U);
12190
12191   return offset;
12192 }
12193
12194
12195 static const ber_sequence_t FacilitySelectedAndAvailableRes_U_set[] = {
12196   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12197   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12198   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
12199   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12200   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
12201   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12202   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12203   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
12204   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12205   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12206   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
12207   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12208   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12209   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12210   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12211   { NULL, 0, 0, 0, NULL }
12212 };
12213
12214 static int
12215 dissect_ansi_map_FacilitySelectedAndAvailableRes_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_) {
12216   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12217                               FacilitySelectedAndAvailableRes_U_set, hf_index, ett_ansi_map_FacilitySelectedAndAvailableRes_U);
12218
12219   return offset;
12220 }
12221
12222
12223
12224 static int
12225 dissect_ansi_map_FacilitySelectedAndAvailableRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12226   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12227                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitySelectedAndAvailableRes_U);
12228
12229   return offset;
12230 }
12231
12232
12233
12234 static int
12235 dissect_ansi_map_DatabaseKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12236   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12237                                        NULL);
12238
12239   return offset;
12240 }
12241
12242
12243 static const ber_sequence_t ServiceDataAccessElement_sequence[] = {
12244   { &hf_ansi_map_dataAccessElementList, BER_CLASS_CON, 250, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElementList },
12245   { &hf_ansi_map_serviceID  , BER_CLASS_CON, 246, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceID },
12246   { NULL, 0, 0, 0, NULL }
12247 };
12248
12249 static int
12250 dissect_ansi_map_ServiceDataAccessElement(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12251   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12252                                    ServiceDataAccessElement_sequence, hf_index, ett_ansi_map_ServiceDataAccessElement);
12253
12254   return offset;
12255 }
12256
12257
12258 static const ber_sequence_t ServiceDataAccessElementList_sequence_of[1] = {
12259   { &hf_ansi_map_ServiceDataAccessElementList_item, BER_CLASS_CON, 270, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElement },
12260 };
12261
12262 static int
12263 dissect_ansi_map_ServiceDataAccessElementList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12264   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12265                                       ServiceDataAccessElementList_sequence_of, hf_index, ett_ansi_map_ServiceDataAccessElementList);
12266
12267   return offset;
12268 }
12269
12270
12271 static const value_string ansi_map_AllOrNone_vals[] = {
12272   {   0, "notUsed" },
12273   {   1, "allChangesMustSucceedOrNoneShouldBeApplied" },
12274   {   2, "treatEachChangeIndependently" },
12275   { 0, NULL }
12276 };
12277
12278
12279 static int
12280 dissect_ansi_map_AllOrNone(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12281   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12282                                   NULL);
12283
12284   return offset;
12285 }
12286
12287
12288 static const ber_sequence_t ModificationRequest_sequence[] = {
12289   { &hf_ansi_map_serviceDataAccessElementList, BER_CLASS_CON, 271, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElementList },
12290   { &hf_ansi_map_allOrNone  , BER_CLASS_CON, 247, BER_FLAGS_IMPLTAG, dissect_ansi_map_AllOrNone },
12291   { NULL, 0, 0, 0, NULL }
12292 };
12293
12294 static int
12295 dissect_ansi_map_ModificationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12296   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12297                                    ModificationRequest_sequence, hf_index, ett_ansi_map_ModificationRequest);
12298
12299   return offset;
12300 }
12301
12302
12303 static const ber_sequence_t ModificationRequestList_sequence_of[1] = {
12304   { &hf_ansi_map_ModificationRequestList_item, BER_CLASS_CON, 262, BER_FLAGS_IMPLTAG, dissect_ansi_map_ModificationRequest },
12305 };
12306
12307 static int
12308 dissect_ansi_map_ModificationRequestList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12309   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12310                                       ModificationRequestList_sequence_of, hf_index, ett_ansi_map_ModificationRequestList);
12311
12312   return offset;
12313 }
12314
12315
12316 static const ber_sequence_t Modify_U_set[] = {
12317   { &hf_ansi_map_databaseKey, BER_CLASS_CON, 252, BER_FLAGS_IMPLTAG, dissect_ansi_map_DatabaseKey },
12318   { &hf_ansi_map_modificationRequestList, BER_CLASS_CON, 263, BER_FLAGS_IMPLTAG, dissect_ansi_map_ModificationRequestList },
12319   { NULL, 0, 0, 0, NULL }
12320 };
12321
12322 static int
12323 dissect_ansi_map_Modify_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_) {
12324   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12325                               Modify_U_set, hf_index, ett_ansi_map_Modify_U);
12326
12327   return offset;
12328 }
12329
12330
12331
12332 static int
12333 dissect_ansi_map_Modify(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12334   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12335                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Modify_U);
12336
12337   return offset;
12338 }
12339
12340
12341 static const value_string ansi_map_DataResult_vals[] = {
12342   {   0, "not-used" },
12343   {   1, "successful" },
12344   {   2, "unsuccessful-unspecified" },
12345   {   3, "unsuccessful-no-default-value-available" },
12346   {   4, "reserved" },
12347   { 0, NULL }
12348 };
12349
12350
12351 static int
12352 dissect_ansi_map_DataResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12353   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12354                                   NULL);
12355
12356   return offset;
12357 }
12358
12359
12360 static const ber_sequence_t DataUpdateResult_sequence[] = {
12361   { &hf_ansi_map_dataID     , BER_CLASS_CON, 251, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataID },
12362   { &hf_ansi_map_dataResult , BER_CLASS_CON, 253, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataResult },
12363   { NULL, 0, 0, 0, NULL }
12364 };
12365
12366 static int
12367 dissect_ansi_map_DataUpdateResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12368   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12369                                    DataUpdateResult_sequence, hf_index, ett_ansi_map_DataUpdateResult);
12370
12371   return offset;
12372 }
12373
12374
12375 static const ber_sequence_t DataUpdateResultList_sequence_of[1] = {
12376   { &hf_ansi_map_DataUpdateResultList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_DataUpdateResult },
12377 };
12378
12379 static int
12380 dissect_ansi_map_DataUpdateResultList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12381   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12382                                       DataUpdateResultList_sequence_of, hf_index, ett_ansi_map_DataUpdateResultList);
12383
12384   return offset;
12385 }
12386
12387
12388 static const ber_sequence_t ServiceDataResult_sequence[] = {
12389   { &hf_ansi_map_dataUpdateResultList, BER_CLASS_CON, 255, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataUpdateResultList },
12390   { &hf_ansi_map_serviceID  , BER_CLASS_CON, 246, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceID },
12391   { NULL, 0, 0, 0, NULL }
12392 };
12393
12394 static int
12395 dissect_ansi_map_ServiceDataResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12396   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12397                                    ServiceDataResult_sequence, hf_index, ett_ansi_map_ServiceDataResult);
12398
12399   return offset;
12400 }
12401
12402
12403 static const ber_sequence_t ServiceDataResultList_sequence_of[1] = {
12404   { &hf_ansi_map_ServiceDataResultList_item, BER_CLASS_CON, 272, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataResult },
12405 };
12406
12407 static int
12408 dissect_ansi_map_ServiceDataResultList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12409   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12410                                       ServiceDataResultList_sequence_of, hf_index, ett_ansi_map_ServiceDataResultList);
12411
12412   return offset;
12413 }
12414
12415
12416 static const value_string ansi_map_ModificationResult_vals[] = {
12417   { 253, "dataResult" },
12418   { 273, "serviceDataResultList" },
12419   { 0, NULL }
12420 };
12421
12422 static const ber_choice_t ModificationResult_choice[] = {
12423   { 253, &hf_ansi_map_dataResult , BER_CLASS_CON, 253, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataResult },
12424   { 273, &hf_ansi_map_serviceDataResultList, BER_CLASS_CON, 273, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataResultList },
12425   { 0, NULL, 0, 0, 0, NULL }
12426 };
12427
12428 static int
12429 dissect_ansi_map_ModificationResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12430   offset = dissect_ber_choice(actx, tree, tvb, offset,
12431                                  ModificationResult_choice, hf_index, ett_ansi_map_ModificationResult,
12432                                  NULL);
12433
12434   return offset;
12435 }
12436
12437
12438 static const ber_sequence_t ModificationResultList_sequence_of[1] = {
12439   { &hf_ansi_map_ModificationResultList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_ModificationResult },
12440 };
12441
12442 static int
12443 dissect_ansi_map_ModificationResultList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12444   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12445                                       ModificationResultList_sequence_of, hf_index, ett_ansi_map_ModificationResultList);
12446
12447   return offset;
12448 }
12449
12450
12451 static const ber_sequence_t ModifyRes_U_set[] = {
12452   { &hf_ansi_map_modificationResultList, BER_CLASS_CON, 264, BER_FLAGS_IMPLTAG, dissect_ansi_map_ModificationResultList },
12453   { NULL, 0, 0, 0, NULL }
12454 };
12455
12456 static int
12457 dissect_ansi_map_ModifyRes_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_) {
12458   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12459                               ModifyRes_U_set, hf_index, ett_ansi_map_ModifyRes_U);
12460
12461   return offset;
12462 }
12463
12464
12465
12466 static int
12467 dissect_ansi_map_ModifyRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12468   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12469                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ModifyRes_U);
12470
12471   return offset;
12472 }
12473
12474
12475 static const ber_sequence_t Search_U_set[] = {
12476   { &hf_ansi_map_databaseKey, BER_CLASS_CON, 252, BER_FLAGS_IMPLTAG, dissect_ansi_map_DatabaseKey },
12477   { &hf_ansi_map_serviceDataAccessElementList, BER_CLASS_CON, 271, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElementList },
12478   { NULL, 0, 0, 0, NULL }
12479 };
12480
12481 static int
12482 dissect_ansi_map_Search_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_) {
12483   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12484                               Search_U_set, hf_index, ett_ansi_map_Search_U);
12485
12486   return offset;
12487 }
12488
12489
12490
12491 static int
12492 dissect_ansi_map_Search(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12493   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12494                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Search_U);
12495
12496   return offset;
12497 }
12498
12499
12500 static const ber_sequence_t SearchRes_U_set[] = {
12501   { &hf_ansi_map_serviceDataAccessElementList, BER_CLASS_CON, 271, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElementList },
12502   { NULL, 0, 0, 0, NULL }
12503 };
12504
12505 static int
12506 dissect_ansi_map_SearchRes_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_) {
12507   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12508                               SearchRes_U_set, hf_index, ett_ansi_map_SearchRes_U);
12509
12510   return offset;
12511 }
12512
12513
12514
12515 static int
12516 dissect_ansi_map_SearchRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12517   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12518                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SearchRes_U);
12519
12520   return offset;
12521 }
12522
12523
12524
12525 static int
12526 dissect_ansi_map_PrivateSpecializedResource(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_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12528                                        NULL);
12529
12530   return offset;
12531 }
12532
12533
12534
12535 static int
12536 dissect_ansi_map_SpecializedResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12537   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12538                                        NULL);
12539
12540   return offset;
12541 }
12542
12543
12544 static const ber_sequence_t SeizeResource_U_set[] = {
12545   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12546   { &hf_ansi_map_privateSpecializedResource, BER_CLASS_CON, 265, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PrivateSpecializedResource },
12547   { &hf_ansi_map_specializedResource, BER_CLASS_CON, 274, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SpecializedResource },
12548   { NULL, 0, 0, 0, NULL }
12549 };
12550
12551 static int
12552 dissect_ansi_map_SeizeResource_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_) {
12553   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12554                               SeizeResource_U_set, hf_index, ett_ansi_map_SeizeResource_U);
12555
12556   return offset;
12557 }
12558
12559
12560
12561 static int
12562 dissect_ansi_map_SeizeResource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12563   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12564                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SeizeResource_U);
12565
12566   return offset;
12567 }
12568
12569
12570 static const ber_sequence_t SeizeResourceRes_U_set[] = {
12571   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
12572   { NULL, 0, 0, 0, NULL }
12573 };
12574
12575 static int
12576 dissect_ansi_map_SeizeResourceRes_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_) {
12577   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12578                               SeizeResourceRes_U_set, hf_index, ett_ansi_map_SeizeResourceRes_U);
12579
12580   return offset;
12581 }
12582
12583
12584
12585 static int
12586 dissect_ansi_map_SeizeResourceRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12587   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12588                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SeizeResourceRes_U);
12589
12590   return offset;
12591 }
12592
12593
12594
12595 static int
12596 dissect_ansi_map_ScriptName(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12597   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12598                                        NULL);
12599
12600   return offset;
12601 }
12602
12603
12604
12605 static int
12606 dissect_ansi_map_ScriptArgument(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12607   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12608                                        NULL);
12609
12610   return offset;
12611 }
12612
12613
12614 static const ber_sequence_t ExecuteScript_sequence[] = {
12615   { &hf_ansi_map_scriptName , BER_CLASS_CON, 268, BER_FLAGS_IMPLTAG, dissect_ansi_map_ScriptName },
12616   { &hf_ansi_map_scriptArgument, BER_CLASS_CON, 267, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ScriptArgument },
12617   { NULL, 0, 0, 0, NULL }
12618 };
12619
12620 static int
12621 dissect_ansi_map_ExecuteScript(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12622   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12623                                    ExecuteScript_sequence, hf_index, ett_ansi_map_ExecuteScript);
12624
12625   return offset;
12626 }
12627
12628
12629 static const ber_sequence_t SRFDirective_U_set[] = {
12630   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12631   { &hf_ansi_map_digitCollectionControl, BER_CLASS_CON, 139, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DigitCollectionControl },
12632   { &hf_ansi_map_executeScript, BER_CLASS_CON, 386, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExecuteScript },
12633   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12634   { NULL, 0, 0, 0, NULL }
12635 };
12636
12637 static int
12638 dissect_ansi_map_SRFDirective_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_) {
12639   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12640                               SRFDirective_U_set, hf_index, ett_ansi_map_SRFDirective_U);
12641
12642   return offset;
12643 }
12644
12645
12646
12647 static int
12648 dissect_ansi_map_SRFDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12649   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12650                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SRFDirective_U);
12651
12652   return offset;
12653 }
12654
12655
12656
12657 static int
12658 dissect_ansi_map_ScriptResult(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_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12660                                        NULL);
12661
12662   return offset;
12663 }
12664
12665
12666 static const ber_sequence_t SRFDirectiveRes_U_set[] = {
12667   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
12668   { &hf_ansi_map_scriptResult, BER_CLASS_CON, 269, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ScriptResult },
12669   { NULL, 0, 0, 0, NULL }
12670 };
12671
12672 static int
12673 dissect_ansi_map_SRFDirectiveRes_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_) {
12674   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12675                               SRFDirectiveRes_U_set, hf_index, ett_ansi_map_SRFDirectiveRes_U);
12676
12677   return offset;
12678 }
12679
12680
12681
12682 static int
12683 dissect_ansi_map_SRFDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12684   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12685                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SRFDirectiveRes_U);
12686
12687   return offset;
12688 }
12689
12690
12691 static const ber_sequence_t TBusy_U_set[] = {
12692   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
12693   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12694   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
12695   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
12696   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
12697   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
12698   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
12699   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
12700   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
12701   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12702   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12703   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
12704   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
12705   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12706   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
12707   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12708   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12709   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
12710   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12711   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12712   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12713   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
12714   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
12715   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
12716   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
12717   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
12718   { NULL, 0, 0, 0, NULL }
12719 };
12720
12721 static int
12722 dissect_ansi_map_TBusy_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_) {
12723   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12724                               TBusy_U_set, hf_index, ett_ansi_map_TBusy_U);
12725
12726   return offset;
12727 }
12728
12729
12730
12731 static int
12732 dissect_ansi_map_TBusy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12733   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12734                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TBusy_U);
12735
12736   return offset;
12737 }
12738
12739
12740 static const ber_sequence_t TBusyRes_U_set[] = {
12741   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12742   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12743   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12744   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
12745   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
12746   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12747   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12748   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12749   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12750   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12751   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12752   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12753   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12754   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12755   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12756   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12757   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12758   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12759   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
12760   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12761   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12762   { NULL, 0, 0, 0, NULL }
12763 };
12764
12765 static int
12766 dissect_ansi_map_TBusyRes_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_) {
12767   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12768                               TBusyRes_U_set, hf_index, ett_ansi_map_TBusyRes_U);
12769
12770   return offset;
12771 }
12772
12773
12774
12775 static int
12776 dissect_ansi_map_TBusyRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12777   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12778                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TBusyRes_U);
12779
12780   return offset;
12781 }
12782
12783
12784 static const ber_sequence_t TNoAnswer_U_set[] = {
12785   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
12786   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12787   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
12788   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
12789   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
12790   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
12791   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
12792   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
12793   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
12794   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12795   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12796   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
12797   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
12798   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12799   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
12800   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12801   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12802   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
12803   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12804   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12805   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12806   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
12807   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
12808   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
12809   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
12810   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
12811   { NULL, 0, 0, 0, NULL }
12812 };
12813
12814 static int
12815 dissect_ansi_map_TNoAnswer_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_) {
12816   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12817                               TNoAnswer_U_set, hf_index, ett_ansi_map_TNoAnswer_U);
12818
12819   return offset;
12820 }
12821
12822
12823
12824 static int
12825 dissect_ansi_map_TNoAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12826   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12827                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TNoAnswer_U);
12828
12829   return offset;
12830 }
12831
12832
12833 static const ber_sequence_t TNoAnswerRes_U_set[] = {
12834   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12835   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12836   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12837   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
12838   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
12839   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12840   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12841   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
12842   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12843   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12844   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12845   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12846   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12847   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12848   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12849   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12850   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12851   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12852   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12853   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
12854   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12855   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12856   { NULL, 0, 0, 0, NULL }
12857 };
12858
12859 static int
12860 dissect_ansi_map_TNoAnswerRes_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_) {
12861   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12862                               TNoAnswerRes_U_set, hf_index, ett_ansi_map_TNoAnswerRes_U);
12863
12864   return offset;
12865 }
12866
12867
12868
12869 static int
12870 dissect_ansi_map_TNoAnswerRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12871   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12872                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TNoAnswerRes_U);
12873
12874   return offset;
12875 }
12876
12877
12878 static const ber_sequence_t ChangeFacilities_U_set[] = {
12879   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
12880   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
12881   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
12882   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
12883   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12884   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
12885   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
12886   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
12887   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
12888   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
12889   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
12890   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
12891   { NULL, 0, 0, 0, NULL }
12892 };
12893
12894 static int
12895 dissect_ansi_map_ChangeFacilities_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_) {
12896   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12897                               ChangeFacilities_U_set, hf_index, ett_ansi_map_ChangeFacilities_U);
12898
12899   return offset;
12900 }
12901
12902
12903
12904 static int
12905 dissect_ansi_map_ChangeFacilities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12906   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12907                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeFacilities_U);
12908
12909   return offset;
12910 }
12911
12912
12913 static const ber_sequence_t ChangeFacilitiesRes_U_set[] = {
12914   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
12915   { NULL, 0, 0, 0, NULL }
12916 };
12917
12918 static int
12919 dissect_ansi_map_ChangeFacilitiesRes_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_) {
12920   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12921                               ChangeFacilitiesRes_U_set, hf_index, ett_ansi_map_ChangeFacilitiesRes_U);
12922
12923   return offset;
12924 }
12925
12926
12927
12928 static int
12929 dissect_ansi_map_ChangeFacilitiesRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12930   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12931                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeFacilitiesRes_U);
12932
12933   return offset;
12934 }
12935
12936
12937
12938 static int
12939 dissect_ansi_map_TDMAVoiceMode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12940   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12941                                        NULL);
12942
12943   return offset;
12944 }
12945
12946
12947 static const ber_sequence_t ChangeService_U_set[] = {
12948   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
12949   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
12950   { &hf_ansi_map_changeServiceAttributes, BER_CLASS_CON, 214, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChangeServiceAttributes },
12951   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12952   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
12953   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
12954   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
12955   { &hf_ansi_map_tdmaDataMode, BER_CLASS_CON, 222, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataMode },
12956   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
12957   { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
12958   { NULL, 0, 0, 0, NULL }
12959 };
12960
12961 static int
12962 dissect_ansi_map_ChangeService_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_) {
12963   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12964                               ChangeService_U_set, hf_index, ett_ansi_map_ChangeService_U);
12965
12966   return offset;
12967 }
12968
12969
12970
12971 static int
12972 dissect_ansi_map_ChangeService(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
12973   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12974                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeService_U);
12975
12976   return offset;
12977 }
12978
12979
12980 static const ber_sequence_t ChangeServiceRes_U_set[] = {
12981   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
12982   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
12983   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
12984   { &hf_ansi_map_changeServiceAttributes, BER_CLASS_CON, 214, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChangeServiceAttributes },
12985   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
12986   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
12987   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
12988   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
12989   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
12990   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
12991   { NULL, 0, 0, 0, NULL }
12992 };
12993
12994 static int
12995 dissect_ansi_map_ChangeServiceRes_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_) {
12996   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12997                               ChangeServiceRes_U_set, hf_index, ett_ansi_map_ChangeServiceRes_U);
12998
12999   return offset;
13000 }
13001
13002
13003
13004 static int
13005 dissect_ansi_map_ChangeServiceRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13006   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13007                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeServiceRes_U);
13008
13009   return offset;
13010 }
13011
13012
13013 static const ber_sequence_t MessageDirective_U_set[] = {
13014   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
13015   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13016   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13017   { NULL, 0, 0, 0, NULL }
13018 };
13019
13020 static int
13021 dissect_ansi_map_MessageDirective_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_) {
13022   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13023                               MessageDirective_U_set, hf_index, ett_ansi_map_MessageDirective_U);
13024
13025   return offset;
13026 }
13027
13028
13029
13030 static int
13031 dissect_ansi_map_MessageDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13032   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13033                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_MessageDirective_U);
13034
13035   return offset;
13036 }
13037
13038
13039 static const ber_sequence_t BulkDisconnection_U_set[] = {
13040   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13041   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13042   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13043   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13044   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
13045   { NULL, 0, 0, 0, NULL }
13046 };
13047
13048 static int
13049 dissect_ansi_map_BulkDisconnection_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_) {
13050   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13051                               BulkDisconnection_U_set, hf_index, ett_ansi_map_BulkDisconnection_U);
13052
13053   return offset;
13054 }
13055
13056
13057
13058 static int
13059 dissect_ansi_map_BulkDisconnection(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13060   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13061                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BulkDisconnection_U);
13062
13063   return offset;
13064 }
13065
13066
13067 static const ber_sequence_t CallControlDirective_U_set[] = {
13068   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13069   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13070   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13071   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
13072   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13073   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
13074   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
13075   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
13076   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
13077   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
13078   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
13079   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13080   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13081   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
13082   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
13083   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
13084   { NULL, 0, 0, 0, NULL }
13085 };
13086
13087 static int
13088 dissect_ansi_map_CallControlDirective_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_) {
13089   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13090                               CallControlDirective_U_set, hf_index, ett_ansi_map_CallControlDirective_U);
13091
13092   return offset;
13093 }
13094
13095
13096
13097 static int
13098 dissect_ansi_map_CallControlDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13099   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13100                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallControlDirective_U);
13101
13102   return offset;
13103 }
13104
13105
13106 static const value_string ansi_map_CallStatus_vals[] = {
13107   {   0, "not-used" },
13108   {   1, "call-Setup-in-Progress" },
13109   {   2, "called-Party" },
13110   {   3, "locally-Allowed-Call-No-Action" },
13111   { 0, NULL }
13112 };
13113
13114
13115 static int
13116 dissect_ansi_map_CallStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13117   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13118                                   NULL);
13119
13120   return offset;
13121 }
13122
13123
13124 static const ber_sequence_t CallControlDirectiveRes_U_set[] = {
13125   { &hf_ansi_map_callStatus , BER_CLASS_CON, 310, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallStatus },
13126   { NULL, 0, 0, 0, NULL }
13127 };
13128
13129 static int
13130 dissect_ansi_map_CallControlDirectiveRes_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_) {
13131   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13132                               CallControlDirectiveRes_U_set, hf_index, ett_ansi_map_CallControlDirectiveRes_U);
13133
13134   return offset;
13135 }
13136
13137
13138
13139 static int
13140 dissect_ansi_map_CallControlDirectiveRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13141   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13142                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallControlDirectiveRes_U);
13143
13144   return offset;
13145 }
13146
13147
13148 static const ber_sequence_t OAnswer_U_set[] = {
13149   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13150   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13151   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13152   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13153   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13154   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13155   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13156   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13157   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13158   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
13159   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13160   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13161   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13162   { NULL, 0, 0, 0, NULL }
13163 };
13164
13165 static int
13166 dissect_ansi_map_OAnswer_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_) {
13167   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13168                               OAnswer_U_set, hf_index, ett_ansi_map_OAnswer_U);
13169
13170   return offset;
13171 }
13172
13173
13174
13175 static int
13176 dissect_ansi_map_OAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13177   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13178                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OAnswer_U);
13179
13180   return offset;
13181 }
13182
13183
13184 static const value_string ansi_map_ReleaseCause_vals[] = {
13185   {   0, "unspecified" },
13186   {   1, "calling-Party" },
13187   {   2, "called-Party" },
13188   {   3, "commanded-Disconnect" },
13189   { 0, NULL }
13190 };
13191
13192
13193 static int
13194 dissect_ansi_map_ReleaseCause(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13195   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13196                                   NULL);
13197
13198   return offset;
13199 }
13200
13201
13202 static const ber_sequence_t ODisconnect_U_set[] = {
13203   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13204   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13205   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13206   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13207   { &hf_ansi_map_releaseCause, BER_CLASS_CON, 308, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseCause },
13208   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13209   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13210   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13211   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13212   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13213   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13214   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13215   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13216   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13217   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13218   { NULL, 0, 0, 0, NULL }
13219 };
13220
13221 static int
13222 dissect_ansi_map_ODisconnect_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_) {
13223   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13224                               ODisconnect_U_set, hf_index, ett_ansi_map_ODisconnect_U);
13225
13226   return offset;
13227 }
13228
13229
13230
13231 static int
13232 dissect_ansi_map_ODisconnect(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_tagged_type(implicit_tag, actx, tree, tvb, offset,
13234                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ODisconnect_U);
13235
13236   return offset;
13237 }
13238
13239
13240 static const ber_sequence_t ODisconnectRes_U_set[] = {
13241   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13242   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13243   { NULL, 0, 0, 0, NULL }
13244 };
13245
13246 static int
13247 dissect_ansi_map_ODisconnectRes_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_) {
13248   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13249                               ODisconnectRes_U_set, hf_index, ett_ansi_map_ODisconnectRes_U);
13250
13251   return offset;
13252 }
13253
13254
13255
13256 static int
13257 dissect_ansi_map_ODisconnectRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13258   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13259                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ODisconnectRes_U);
13260
13261   return offset;
13262 }
13263
13264
13265 static const ber_sequence_t CallRecoveryID_set[] = {
13266   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13267   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13268   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13269   { NULL, 0, 0, 0, NULL }
13270 };
13271
13272 static int
13273 dissect_ansi_map_CallRecoveryID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13274   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13275                               CallRecoveryID_set, hf_index, ett_ansi_map_CallRecoveryID);
13276
13277   return offset;
13278 }
13279
13280
13281 static const ber_sequence_t CallRecoveryIDList_set_of[1] = {
13282   { &hf_ansi_map_CallRecoveryIDList_item, BER_CLASS_CON, 303, BER_FLAGS_IMPLTAG, dissect_ansi_map_CallRecoveryID },
13283 };
13284
13285 static int
13286 dissect_ansi_map_CallRecoveryIDList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13287   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
13288                                  CallRecoveryIDList_set_of, hf_index, ett_ansi_map_CallRecoveryIDList);
13289
13290   return offset;
13291 }
13292
13293
13294 static const ber_sequence_t CallRecoveryReport_U_set[] = {
13295   { &hf_ansi_map_callRecoveryIDList, BER_CLASS_CON, 304, BER_FLAGS_IMPLTAG, dissect_ansi_map_CallRecoveryIDList },
13296   { NULL, 0, 0, 0, NULL }
13297 };
13298
13299 static int
13300 dissect_ansi_map_CallRecoveryReport_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_) {
13301   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13302                               CallRecoveryReport_U_set, hf_index, ett_ansi_map_CallRecoveryReport_U);
13303
13304   return offset;
13305 }
13306
13307
13308
13309 static int
13310 dissect_ansi_map_CallRecoveryReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13311   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13312                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallRecoveryReport_U);
13313
13314   return offset;
13315 }
13316
13317
13318 static const ber_sequence_t TAnswer_U_set[] = {
13319   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13320   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13321   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13322   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13323   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13324   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13325   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13326   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13327   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13328   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13329   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13330   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
13331   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13332   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13333   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13334   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
13335   { NULL, 0, 0, 0, NULL }
13336 };
13337
13338 static int
13339 dissect_ansi_map_TAnswer_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_) {
13340   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13341                               TAnswer_U_set, hf_index, ett_ansi_map_TAnswer_U);
13342
13343   return offset;
13344 }
13345
13346
13347
13348 static int
13349 dissect_ansi_map_TAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13350   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13351                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TAnswer_U);
13352
13353   return offset;
13354 }
13355
13356
13357 static const ber_sequence_t TDisconnect_U_set[] = {
13358   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13359   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13360   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13361   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13362   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13363   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13364   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13365   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
13366   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
13367   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13368   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13369   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13370   { &hf_ansi_map_releaseCause, BER_CLASS_CON, 308, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseCause },
13371   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13372   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13373   { NULL, 0, 0, 0, NULL }
13374 };
13375
13376 static int
13377 dissect_ansi_map_TDisconnect_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_) {
13378   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13379                               TDisconnect_U_set, hf_index, ett_ansi_map_TDisconnect_U);
13380
13381   return offset;
13382 }
13383
13384
13385
13386 static int
13387 dissect_ansi_map_TDisconnect(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13388   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13389                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TDisconnect_U);
13390
13391   return offset;
13392 }
13393
13394
13395 static const ber_sequence_t TDisconnectRes_U_set[] = {
13396   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13397   { NULL, 0, 0, 0, NULL }
13398 };
13399
13400 static int
13401 dissect_ansi_map_TDisconnectRes_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_) {
13402   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13403                               TDisconnectRes_U_set, hf_index, ett_ansi_map_TDisconnectRes_U);
13404
13405   return offset;
13406 }
13407
13408
13409
13410 static int
13411 dissect_ansi_map_TDisconnectRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13412   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13413                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TDisconnectRes_U);
13414
13415   return offset;
13416 }
13417
13418
13419 static const ber_sequence_t UnreliableCallData_U_set[] = {
13420   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
13421   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13422   { NULL, 0, 0, 0, NULL }
13423 };
13424
13425 static int
13426 dissect_ansi_map_UnreliableCallData_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_) {
13427   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13428                               UnreliableCallData_U_set, hf_index, ett_ansi_map_UnreliableCallData_U);
13429
13430   return offset;
13431 }
13432
13433
13434
13435 static int
13436 dissect_ansi_map_UnreliableCallData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13437   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13438                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnreliableCallData_U);
13439
13440   return offset;
13441 }
13442
13443
13444 static const ber_sequence_t OCalledPartyBusy_U_set[] = {
13445   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13446   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13447   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13448   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13449   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13450   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13451   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13452   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
13453   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
13454   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
13455   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
13456   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13457   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
13458   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
13459   { &hf_ansi_map_failureCause, BER_CLASS_CON, 387, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FailureCause },
13460   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13461   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13462   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13463   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
13464   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13465   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
13466   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13467   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13468   { NULL, 0, 0, 0, NULL }
13469 };
13470
13471 static int
13472 dissect_ansi_map_OCalledPartyBusy_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_) {
13473   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13474                               OCalledPartyBusy_U_set, hf_index, ett_ansi_map_OCalledPartyBusy_U);
13475
13476   return offset;
13477 }
13478
13479
13480
13481 static int
13482 dissect_ansi_map_OCalledPartyBusy(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13483   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13484                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OCalledPartyBusy_U);
13485
13486   return offset;
13487 }
13488
13489
13490 static const ber_sequence_t OCalledPartyBusyRes_U_set[] = {
13491   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
13492   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13493   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13494   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
13495   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
13496   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
13497   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
13498   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
13499   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13500   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
13501   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
13502   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
13503   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13504   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13505   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
13506   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
13507   { NULL, 0, 0, 0, NULL }
13508 };
13509
13510 static int
13511 dissect_ansi_map_OCalledPartyBusyRes_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_) {
13512   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13513                               OCalledPartyBusyRes_U_set, hf_index, ett_ansi_map_OCalledPartyBusyRes_U);
13514
13515   return offset;
13516 }
13517
13518
13519
13520 static int
13521 dissect_ansi_map_OCalledPartyBusyRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13522   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13523                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OCalledPartyBusyRes_U);
13524
13525   return offset;
13526 }
13527
13528
13529 static const ber_sequence_t ONoAnswer_U_set[] = {
13530   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13531   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13532   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13533   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13534   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13535   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13536   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13537   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
13538   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
13539   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
13540   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
13541   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13542   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
13543   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
13544   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13545   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13546   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13547   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
13548   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13549   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
13550   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13551   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13552   { NULL, 0, 0, 0, NULL }
13553 };
13554
13555 static int
13556 dissect_ansi_map_ONoAnswer_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_) {
13557   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13558                               ONoAnswer_U_set, hf_index, ett_ansi_map_ONoAnswer_U);
13559
13560   return offset;
13561 }
13562
13563
13564
13565 static int
13566 dissect_ansi_map_ONoAnswer(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13567   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13568                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ONoAnswer_U);
13569
13570   return offset;
13571 }
13572
13573
13574 static const ber_sequence_t ONoAnswerRes_U_set[] = {
13575   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
13576   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13577   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13578   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
13579   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
13580   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
13581   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
13582   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
13583   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13584   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
13585   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
13586   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
13587   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13588   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13589   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
13590   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
13591   { NULL, 0, 0, 0, NULL }
13592 };
13593
13594 static int
13595 dissect_ansi_map_ONoAnswerRes_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_) {
13596   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13597                               ONoAnswerRes_U_set, hf_index, ett_ansi_map_ONoAnswerRes_U);
13598
13599   return offset;
13600 }
13601
13602
13603
13604 static int
13605 dissect_ansi_map_ONoAnswerRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13606   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13607                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ONoAnswerRes_U);
13608
13609   return offset;
13610 }
13611
13612
13613
13614 static int
13615 dissect_ansi_map_PositionInformationCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13616   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13617                                        NULL);
13618
13619   return offset;
13620 }
13621
13622
13623 static const ber_sequence_t PositionRequest_U_set[] = {
13624   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13625   { &hf_ansi_map_positionInformationCode, BER_CLASS_CON, 315, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformationCode },
13626   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13627   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13628   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13629   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
13630   { NULL, 0, 0, 0, NULL }
13631 };
13632
13633 static int
13634 dissect_ansi_map_PositionRequest_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_) {
13635   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13636                               PositionRequest_U_set, hf_index, ett_ansi_map_PositionRequest_U);
13637
13638   return offset;
13639 }
13640
13641
13642
13643 static int
13644 dissect_ansi_map_PositionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13645   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13646                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequest_U);
13647
13648   return offset;
13649 }
13650
13651
13652
13653 static int
13654 dissect_ansi_map_MSStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13655   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13656                                        NULL);
13657
13658   return offset;
13659 }
13660
13661
13662 static const ber_sequence_t PositionRequestRes_U_set[] = {
13663   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13664   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
13665   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13666   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13667   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13668   { &hf_ansi_map_mSStatus   , BER_CLASS_CON, 313, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSStatus },
13669   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
13670   { &hf_ansi_map_pSID_RSIDInformation, BER_CLASS_CON, 202, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDInformation },
13671   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13672   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13673   { NULL, 0, 0, 0, NULL }
13674 };
13675
13676 static int
13677 dissect_ansi_map_PositionRequestRes_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_) {
13678   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13679                               PositionRequestRes_U_set, hf_index, ett_ansi_map_PositionRequestRes_U);
13680
13681   return offset;
13682 }
13683
13684
13685
13686 static int
13687 dissect_ansi_map_PositionRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13688   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13689                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequestRes_U);
13690
13691   return offset;
13692 }
13693
13694
13695 static const ber_sequence_t PositionRequestForward_U_set[] = {
13696   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
13697   { &hf_ansi_map_positionInformationCode, BER_CLASS_CON, 315, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformationCode },
13698   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13699   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13700   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
13701   { NULL, 0, 0, 0, NULL }
13702 };
13703
13704 static int
13705 dissect_ansi_map_PositionRequestForward_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_) {
13706   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13707                               PositionRequestForward_U_set, hf_index, ett_ansi_map_PositionRequestForward_U);
13708
13709   return offset;
13710 }
13711
13712
13713
13714 static int
13715 dissect_ansi_map_PositionRequestForward(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13716   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13717                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequestForward_U);
13718
13719   return offset;
13720 }
13721
13722
13723 static const ber_sequence_t PositionRequestForwardRes_U_set[] = {
13724   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13725   { &hf_ansi_map_mSStatus   , BER_CLASS_CON, 313, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSStatus },
13726   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13727   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13728   { NULL, 0, 0, 0, NULL }
13729 };
13730
13731 static int
13732 dissect_ansi_map_PositionRequestForwardRes_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_) {
13733   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13734                               PositionRequestForwardRes_U_set, hf_index, ett_ansi_map_PositionRequestForwardRes_U);
13735
13736   return offset;
13737 }
13738
13739
13740
13741 static int
13742 dissect_ansi_map_PositionRequestForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13743   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13744                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequestForwardRes_U);
13745
13746   return offset;
13747 }
13748
13749
13750 static const ber_sequence_t CallTerminationReport_U_set[] = {
13751   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13752   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13753   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
13754   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
13755   { NULL, 0, 0, 0, NULL }
13756 };
13757
13758 static int
13759 dissect_ansi_map_CallTerminationReport_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_) {
13760   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13761                               CallTerminationReport_U_set, hf_index, ett_ansi_map_CallTerminationReport_U);
13762
13763   return offset;
13764 }
13765
13766
13767
13768 static int
13769 dissect_ansi_map_CallTerminationReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13770   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13771                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallTerminationReport_U);
13772
13773   return offset;
13774 }
13775
13776
13777
13778 static int
13779 dissect_ansi_map_PositionRequestType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13780   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13781                                        NULL);
13782
13783   return offset;
13784 }
13785
13786
13787
13788 static int
13789 dissect_ansi_map_LCSBillingID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13790   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13791                                        NULL);
13792
13793   return offset;
13794 }
13795
13796
13797
13798 static int
13799 dissect_ansi_map_LCS_Client_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_) {
13800   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
13801
13802   return offset;
13803 }
13804
13805
13806
13807 static int
13808 dissect_ansi_map_MobilePositionCapability(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_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13810                                        NULL);
13811
13812   return offset;
13813 }
13814
13815
13816
13817 static int
13818 dissect_ansi_map_DTXIndication(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13819   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13820                                        NULL);
13821
13822   return offset;
13823 }
13824
13825
13826
13827 static int
13828 dissect_ansi_map_CDMAMobileCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13829   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13830                                        NULL);
13831
13832   return offset;
13833 }
13834
13835
13836 static const ber_sequence_t CDMAPSMMList_item_set[] = {
13837   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
13838   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
13839   { &hf_ansi_map_cdmaTargetMAHOList2, BER_CLASS_CON, 136, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
13840   { NULL, 0, 0, 0, NULL }
13841 };
13842
13843 static int
13844 dissect_ansi_map_CDMAPSMMList_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_) {
13845   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13846                               CDMAPSMMList_item_set, hf_index, ett_ansi_map_CDMAPSMMList_item);
13847
13848   return offset;
13849 }
13850
13851
13852 static const ber_sequence_t CDMAPSMMList_set_of[1] = {
13853   { &hf_ansi_map_CDMAPSMMList_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CDMAPSMMList_item },
13854 };
13855
13856 static int
13857 dissect_ansi_map_CDMAPSMMList(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13858   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
13859                                  CDMAPSMMList_set_of, hf_index, ett_ansi_map_CDMAPSMMList);
13860
13861   return offset;
13862 }
13863
13864
13865
13866 static int
13867 dissect_ansi_map_TDMA_MAHO_CELLID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13868   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13869                                        NULL);
13870
13871   return offset;
13872 }
13873
13874
13875
13876 static int
13877 dissect_ansi_map_TDMA_MAHO_CHANNEL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13878   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13879                                        NULL);
13880
13881   return offset;
13882 }
13883
13884
13885
13886 static int
13887 dissect_ansi_map_TDMA_TimeAlignment(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13888   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13889                                        NULL);
13890
13891   return offset;
13892 }
13893
13894
13895
13896 static int
13897 dissect_ansi_map_PQOS_HorizontalPosition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13898   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13899                                        NULL);
13900
13901   return offset;
13902 }
13903
13904
13905
13906 static int
13907 dissect_ansi_map_PQOS_HorizontalVelocity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13908   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13909                                        NULL);
13910
13911   return offset;
13912 }
13913
13914
13915
13916 static int
13917 dissect_ansi_map_PQOS_MaximumPositionAge(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13918   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13919                                        NULL);
13920
13921   return offset;
13922 }
13923
13924
13925
13926 static int
13927 dissect_ansi_map_PQOS_PositionPriority(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13928   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13929                                        NULL);
13930
13931   return offset;
13932 }
13933
13934
13935 static const value_string ansi_map_PQOS_ResponseTime_vals[] = {
13936   {   0, "not-used" },
13937   {   1, "no-Delay" },
13938   {   2, "low-Delay" },
13939   {   3, "delay-Tolerant" },
13940   { 0, NULL }
13941 };
13942
13943
13944 static int
13945 dissect_ansi_map_PQOS_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_) {
13946   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13947                                   NULL);
13948
13949   return offset;
13950 }
13951
13952
13953
13954 static int
13955 dissect_ansi_map_PQOS_VerticalPosition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13956   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13957                                        NULL);
13958
13959   return offset;
13960 }
13961
13962
13963
13964 static int
13965 dissect_ansi_map_PQOS_VerticalVelocity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
13966   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13967                                        NULL);
13968
13969   return offset;
13970 }
13971
13972
13973 static const ber_sequence_t GeoPositionRequest_U_set[] = {
13974   { &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
13975   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13976   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13977   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13978   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
13979   { &hf_ansi_map_lcs_Client_ID, BER_CLASS_CON, 358, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCS_Client_ID },
13980   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
13981   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
13982   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
13983   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
13984   { &hf_ansi_map_dtxIndication, BER_CLASS_CON, 329, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DTXIndication },
13985   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
13986   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
13987   { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
13988   { &hf_ansi_map_cdmaMobileCapabilities, BER_CLASS_CON, 330, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileCapabilities },
13989   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
13990   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
13991   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
13992   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
13993   { &hf_ansi_map_cdmaPSMMList, BER_CLASS_CON, 346, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMList },
13994   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
13995   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
13996   { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
13997   { &hf_ansi_map_tdma_MAHO_CELLID, BER_CLASS_CON, 359, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CELLID },
13998   { &hf_ansi_map_tdma_MAHO_CHANNEL, BER_CLASS_CON, 360, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CHANNEL },
13999   { &hf_ansi_map_tdma_TimeAlignment, BER_CLASS_CON, 362, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_TimeAlignment },
14000   { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
14001   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
14002   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14003   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
14004   { &hf_ansi_map_pqos_HorizontalPosition, BER_CLASS_CON, 372, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalPosition },
14005   { &hf_ansi_map_pqos_HorizontalVelocity, BER_CLASS_CON, 373, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalVelocity },
14006   { &hf_ansi_map_pqos_MaximumPositionAge, BER_CLASS_CON, 374, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_MaximumPositionAge },
14007   { &hf_ansi_map_pqos_PositionPriority, BER_CLASS_CON, 375, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_PositionPriority },
14008   { &hf_ansi_map_pqos_ResponseTime, BER_CLASS_CON, 376, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_ResponseTime },
14009   { &hf_ansi_map_pqos_VerticalPosition, BER_CLASS_CON, 377, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalPosition },
14010   { &hf_ansi_map_pqos_VerticalVelocity, BER_CLASS_CON, 378, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalVelocity },
14011   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
14012   { &hf_ansi_map_teleservice_Priority, BER_CLASS_CON, 290, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Teleservice_Priority },
14013   { NULL, 0, 0, 0, NULL }
14014 };
14015
14016 static int
14017 dissect_ansi_map_GeoPositionRequest_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_) {
14018   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14019                               GeoPositionRequest_U_set, hf_index, ett_ansi_map_GeoPositionRequest_U);
14020
14021   return offset;
14022 }
14023
14024
14025
14026 static int
14027 dissect_ansi_map_GeoPositionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14028   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14029                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_GeoPositionRequest_U);
14030
14031   return offset;
14032 }
14033
14034
14035
14036 static int
14037 dissect_ansi_map_CDMAPSMMCount(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14038   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14039                                        NULL);
14040
14041   return offset;
14042 }
14043
14044
14045 static const value_string ansi_map_LIRAuthorization_vals[] = {
14046   {   0, "not-used" },
14047   {   1, "user-Authorized" },
14048   { 0, NULL }
14049 };
14050
14051
14052 static int
14053 dissect_ansi_map_LIRAuthorization(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14054   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14055                                   NULL);
14056
14057   return offset;
14058 }
14059
14060
14061
14062 static int
14063 dissect_ansi_map_MPCID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14064   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
14065
14066   return offset;
14067 }
14068
14069
14070
14071 static int
14072 dissect_ansi_map_TDMA_MAHORequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14073   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14074                                        NULL);
14075
14076   return offset;
14077 }
14078
14079
14080 static const ber_sequence_t InterSystemPositionRequest_U_set[] = {
14081   { &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
14082   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
14083   { &hf_ansi_map_cdmaPSMMCount, BER_CLASS_CON, 345, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMCount },
14084   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
14085   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14086   { &hf_ansi_map_emergencyServicesRoutingDigits, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_EmergencyServicesRoutingDigits },
14087   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14088   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14089   { &hf_ansi_map_lirAuthorization, BER_CLASS_CON, 368, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRAuthorization },
14090   { &hf_ansi_map_lcs_Client_ID, BER_CLASS_CON, 358, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCS_Client_ID },
14091   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
14092   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14093   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14094   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
14095   { &hf_ansi_map_dtxIndication, BER_CLASS_CON, 329, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DTXIndication },
14096   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
14097   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
14098   { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
14099   { &hf_ansi_map_cdmaMobileCapabilities, BER_CLASS_CON, 330, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileCapabilities },
14100   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
14101   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
14102   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
14103   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
14104   { &hf_ansi_map_cdmaPSMMList, BER_CLASS_CON, 346, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMList },
14105   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
14106   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
14107   { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
14108   { &hf_ansi_map_tdma_MAHO_CELLID, BER_CLASS_CON, 359, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CELLID },
14109   { &hf_ansi_map_tdma_MAHO_CHANNEL, BER_CLASS_CON, 360, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CHANNEL },
14110   { &hf_ansi_map_tdma_TimeAlignment, BER_CLASS_CON, 362, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_TimeAlignment },
14111   { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
14112   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
14113   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14114   { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
14115   { &hf_ansi_map_mpcAddressList, BER_CLASS_CON, 381, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddressList },
14116   { &hf_ansi_map_mpcid      , BER_CLASS_CON, 371, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCID },
14117   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14118   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
14119   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
14120   { &hf_ansi_map_pqos_HorizontalPosition, BER_CLASS_CON, 372, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalPosition },
14121   { &hf_ansi_map_pqos_HorizontalVelocity, BER_CLASS_CON, 373, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalVelocity },
14122   { &hf_ansi_map_pqos_MaximumPositionAge, BER_CLASS_CON, 374, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_MaximumPositionAge },
14123   { &hf_ansi_map_pqos_PositionPriority, BER_CLASS_CON, 375, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_PositionPriority },
14124   { &hf_ansi_map_pqos_ResponseTime, BER_CLASS_CON, 376, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_ResponseTime },
14125   { &hf_ansi_map_pqos_VerticalPosition, BER_CLASS_CON, 377, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalPosition },
14126   { &hf_ansi_map_pqos_VerticalVelocity, BER_CLASS_CON, 378, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalVelocity },
14127   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
14128   { &hf_ansi_map_tdma_MAHORequest, BER_CLASS_CON, 364, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHORequest },
14129   { NULL, 0, 0, 0, NULL }
14130 };
14131
14132 static int
14133 dissect_ansi_map_InterSystemPositionRequest_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_) {
14134   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14135                               InterSystemPositionRequest_U_set, hf_index, ett_ansi_map_InterSystemPositionRequest_U);
14136
14137   return offset;
14138 }
14139
14140
14141
14142 static int
14143 dissect_ansi_map_InterSystemPositionRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14144   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14145                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequest_U);
14146
14147   return offset;
14148 }
14149
14150
14151
14152 static int
14153 dissect_ansi_map_PositionResult(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14154   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14155                                        NULL);
14156
14157   return offset;
14158 }
14159
14160
14161
14162 static int
14163 dissect_ansi_map_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14164   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
14165
14166   return offset;
14167 }
14168
14169
14170
14171 static int
14172 dissect_ansi_map_GeographicPosition(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14173   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14174                                        NULL);
14175
14176   return offset;
14177 }
14178
14179
14180
14181 static int
14182 dissect_ansi_map_PositionSource(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14183   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14184                                        NULL);
14185
14186   return offset;
14187 }
14188
14189
14190
14191 static int
14192 dissect_ansi_map_Horizontal_Velocity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14193   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14194                                        NULL);
14195
14196   return offset;
14197 }
14198
14199
14200
14201 static int
14202 dissect_ansi_map_Vertical_Velocity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14203   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14204                                        NULL);
14205
14206   return offset;
14207 }
14208
14209
14210 static const ber_sequence_t PositionInformation_set[] = {
14211   { &hf_ansi_map_generalizedTime, BER_CLASS_CON, 331, BER_FLAGS_IMPLTAG, dissect_ansi_map_GeneralizedTime },
14212   { &hf_ansi_map_geographicPosition, BER_CLASS_CON, 333, BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicPosition },
14213   { &hf_ansi_map_positionSource, BER_CLASS_CON, 339, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionSource },
14214   { &hf_ansi_map_horizontal_Velocity, BER_CLASS_CON, 379, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Horizontal_Velocity },
14215   { &hf_ansi_map_vertical_Velocity, BER_CLASS_CON, 380, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Vertical_Velocity },
14216   { NULL, 0, 0, 0, NULL }
14217 };
14218
14219 static int
14220 dissect_ansi_map_PositionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14221   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14222                               PositionInformation_set, hf_index, ett_ansi_map_PositionInformation);
14223
14224   return offset;
14225 }
14226
14227
14228 static const ber_sequence_t InterSystemPositionRequestRes_U_set[] = {
14229   { &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
14230   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14231   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14232   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
14233   { &hf_ansi_map_dtxIndication, BER_CLASS_CON, 329, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DTXIndication },
14234   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
14235   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
14236   { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
14237   { &hf_ansi_map_cdmaMobileCapabilities, BER_CLASS_CON, 330, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileCapabilities },
14238   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
14239   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
14240   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
14241   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
14242   { &hf_ansi_map_cdmaPSMMList, BER_CLASS_CON, 346, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMList },
14243   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
14244   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
14245   { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
14246   { &hf_ansi_map_tdma_MAHO_CELLID, BER_CLASS_CON, 359, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CELLID },
14247   { &hf_ansi_map_tdma_MAHO_CHANNEL, BER_CLASS_CON, 360, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CHANNEL },
14248   { &hf_ansi_map_tdma_TimeAlignment, BER_CLASS_CON, 362, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_TimeAlignment },
14249   { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
14250   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
14251   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14252   { &hf_ansi_map_positionInformation, BER_CLASS_CON, 336, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformation },
14253   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
14254   { NULL, 0, 0, 0, NULL }
14255 };
14256
14257 static int
14258 dissect_ansi_map_InterSystemPositionRequestRes_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_) {
14259   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14260                               InterSystemPositionRequestRes_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestRes_U);
14261
14262   return offset;
14263 }
14264
14265
14266
14267 static int
14268 dissect_ansi_map_InterSystemPositionRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14269   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14270                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequestRes_U);
14271
14272   return offset;
14273 }
14274
14275
14276 static const ber_sequence_t InterSystemPositionRequestForward_U_set[] = {
14277   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14278   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14279   { &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
14280   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14281   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14282   { &hf_ansi_map_lcs_Client_ID, BER_CLASS_CON, 358, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCS_Client_ID },
14283   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
14284   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14285   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14286   { &hf_ansi_map_mpcid      , BER_CLASS_CON, 371, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCID },
14287   { &hf_ansi_map_pqos_HorizontalPosition, BER_CLASS_CON, 372, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalPosition },
14288   { &hf_ansi_map_pqos_HorizontalVelocity, BER_CLASS_CON, 373, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalVelocity },
14289   { &hf_ansi_map_pqos_MaximumPositionAge, BER_CLASS_CON, 374, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_MaximumPositionAge },
14290   { &hf_ansi_map_pqos_PositionPriority, BER_CLASS_CON, 375, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_PositionPriority },
14291   { &hf_ansi_map_pqos_ResponseTime, BER_CLASS_CON, 376, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_ResponseTime },
14292   { &hf_ansi_map_pqos_VerticalPosition, BER_CLASS_CON, 377, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalPosition },
14293   { &hf_ansi_map_pqos_VerticalVelocity, BER_CLASS_CON, 378, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalVelocity },
14294   { &hf_ansi_map_tdma_MAHORequest, BER_CLASS_CON, 364, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHORequest },
14295   { NULL, 0, 0, 0, NULL }
14296 };
14297
14298 static int
14299 dissect_ansi_map_InterSystemPositionRequestForward_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_) {
14300   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14301                               InterSystemPositionRequestForward_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestForward_U);
14302
14303   return offset;
14304 }
14305
14306
14307
14308 static int
14309 dissect_ansi_map_InterSystemPositionRequestForward(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_tagged_type(implicit_tag, actx, tree, tvb, offset,
14311                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequestForward_U);
14312
14313   return offset;
14314 }
14315
14316
14317 static const ber_sequence_t InterSystemPositionRequestForwardRes_U_set[] = {
14318   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14319   { &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
14320   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14321   { &hf_ansi_map_positionInformation, BER_CLASS_CON, 336, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformation },
14322   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
14323   { NULL, 0, 0, 0, NULL }
14324 };
14325
14326 static int
14327 dissect_ansi_map_InterSystemPositionRequestForwardRes_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_) {
14328   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14329                               InterSystemPositionRequestForwardRes_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestForwardRes_U);
14330
14331   return offset;
14332 }
14333
14334
14335
14336 static int
14337 dissect_ansi_map_InterSystemPositionRequestForwardRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14338   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14339                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequestForwardRes_U);
14340
14341   return offset;
14342 }
14343
14344
14345
14346 static int
14347 dissect_ansi_map_ControlType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14348   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14349                                        NULL);
14350
14351   return offset;
14352 }
14353
14354
14355 static const value_string ansi_map_GapDuration_vals[] = {
14356   {   0, "not-used" },
14357   { 0, NULL }
14358 };
14359
14360
14361 static int
14362 dissect_ansi_map_GapDuration(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14363   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14364                                   NULL);
14365
14366   return offset;
14367 }
14368
14369
14370 static const value_string ansi_map_SCFOverloadGapInterval_vals[] = {
14371   {   0, "not-used" },
14372   { 0, NULL }
14373 };
14374
14375
14376 static int
14377 dissect_ansi_map_SCFOverloadGapInterval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14378   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14379                                   NULL);
14380
14381   return offset;
14382 }
14383
14384
14385 static const value_string ansi_map_ServiceManagementSystemGapInterval_vals[] = {
14386   {   0, "not-used" },
14387   { 0, NULL }
14388 };
14389
14390
14391 static int
14392 dissect_ansi_map_ServiceManagementSystemGapInterval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14393   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14394                                   NULL);
14395
14396   return offset;
14397 }
14398
14399
14400 static const value_string ansi_map_GapInterval_vals[] = {
14401   { 343, "sCFOverloadGapInterval" },
14402   { 344, "serviceManagementSystemGapInterval" },
14403   { 0, NULL }
14404 };
14405
14406 static const ber_choice_t GapInterval_choice[] = {
14407   { 343, &hf_ansi_map_sCFOverloadGapInterval, BER_CLASS_CON, 343, BER_FLAGS_IMPLTAG, dissect_ansi_map_SCFOverloadGapInterval },
14408   { 344, &hf_ansi_map_serviceManagementSystemGapInterval, BER_CLASS_CON, 344, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceManagementSystemGapInterval },
14409   { 0, NULL, 0, 0, 0, NULL }
14410 };
14411
14412 static int
14413 dissect_ansi_map_GapInterval(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14414   offset = dissect_ber_choice(actx, tree, tvb, offset,
14415                                  GapInterval_choice, hf_index, ett_ansi_map_GapInterval,
14416                                  NULL);
14417
14418   return offset;
14419 }
14420
14421
14422 static const ber_sequence_t ACGDirective_U_set[] = {
14423   { &hf_ansi_map_controlType, BER_CLASS_CON, 341, BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlType },
14424   { &hf_ansi_map_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_DestinationAddress },
14425   { &hf_ansi_map_gapDuration, BER_CLASS_CON, 342, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GapDuration },
14426   { &hf_ansi_map_gapInterval, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_GapInterval },
14427   { NULL, 0, 0, 0, NULL }
14428 };
14429
14430 static int
14431 dissect_ansi_map_ACGDirective_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_) {
14432   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14433                               ACGDirective_U_set, hf_index, ett_ansi_map_ACGDirective_U);
14434
14435   return offset;
14436 }
14437
14438
14439
14440 static int
14441 dissect_ansi_map_ACGDirective(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14442   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14443                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ACGDirective_U);
14444
14445   return offset;
14446 }
14447
14448
14449
14450 static int
14451 dissect_ansi_map_InvokingNEType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14452   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14453                                                 NULL);
14454
14455   return offset;
14456 }
14457
14458
14459
14460 static int
14461 dissect_ansi_map_Range(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14462   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14463                                                 NULL);
14464
14465   return offset;
14466 }
14467
14468
14469 static const ber_sequence_t RoamerDatabaseVerificationRequest_U_set[] = {
14470   { &hf_ansi_map_invokingNEType, BER_CLASS_CON, 353, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InvokingNEType },
14471   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14472   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14473   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14474   { &hf_ansi_map_range      , BER_CLASS_CON, 352, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Range },
14475   { NULL, 0, 0, 0, NULL }
14476 };
14477
14478 static int
14479 dissect_ansi_map_RoamerDatabaseVerificationRequest_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_) {
14480   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14481                               RoamerDatabaseVerificationRequest_U_set, hf_index, ett_ansi_map_RoamerDatabaseVerificationRequest_U);
14482
14483   return offset;
14484 }
14485
14486
14487
14488 static int
14489 dissect_ansi_map_RoamerDatabaseVerificationRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14490   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14491                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoamerDatabaseVerificationRequest_U);
14492
14493   return offset;
14494 }
14495
14496
14497 static const ber_sequence_t RoamerDatabaseVerificationRequestRes_U_set[] = {
14498   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
14499   { NULL, 0, 0, 0, NULL }
14500 };
14501
14502 static int
14503 dissect_ansi_map_RoamerDatabaseVerificationRequestRes_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_) {
14504   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14505                               RoamerDatabaseVerificationRequestRes_U_set, hf_index, ett_ansi_map_RoamerDatabaseVerificationRequestRes_U);
14506
14507   return offset;
14508 }
14509
14510
14511
14512 static int
14513 dissect_ansi_map_RoamerDatabaseVerificationRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14514   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14515                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoamerDatabaseVerificationRequestRes_U);
14516
14517   return offset;
14518 }
14519
14520
14521 static const ber_sequence_t LCSParameterRequest_U_set[] = {
14522   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14523   { &hf_ansi_map_mpcid      , BER_CLASS_CON, 371, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCID },
14524   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14525   { NULL, 0, 0, 0, NULL }
14526 };
14527
14528 static int
14529 dissect_ansi_map_LCSParameterRequest_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_) {
14530   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14531                               LCSParameterRequest_U_set, hf_index, ett_ansi_map_LCSParameterRequest_U);
14532
14533   return offset;
14534 }
14535
14536
14537
14538 static int
14539 dissect_ansi_map_LCSParameterRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14540   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14541                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LCSParameterRequest_U);
14542
14543   return offset;
14544 }
14545
14546
14547 static const ber_sequence_t LCSParameterRequestRes_U_set[] = {
14548   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
14549   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14550   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14551   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
14552   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14553   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14554   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14555   { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
14556   { &hf_ansi_map_mpcAddressList, BER_CLASS_CON, 381, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddressList },
14557   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14558   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
14559   { NULL, 0, 0, 0, NULL }
14560 };
14561
14562 static int
14563 dissect_ansi_map_LCSParameterRequestRes_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_) {
14564   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14565                               LCSParameterRequestRes_U_set, hf_index, ett_ansi_map_LCSParameterRequestRes_U);
14566
14567   return offset;
14568 }
14569
14570
14571
14572 static int
14573 dissect_ansi_map_LCSParameterRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14574   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14575                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LCSParameterRequestRes_U);
14576
14577   return offset;
14578 }
14579
14580
14581 static const ber_sequence_t CheckMEID_U_set[] = {
14582   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
14583   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14584   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14585   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
14586   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14587   { &hf_ansi_map_emergencyServicesRoutingDigits, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_EmergencyServicesRoutingDigits },
14588   { NULL, 0, 0, 0, NULL }
14589 };
14590
14591 static int
14592 dissect_ansi_map_CheckMEID_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_) {
14593   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14594                               CheckMEID_U_set, hf_index, ett_ansi_map_CheckMEID_U);
14595
14596   return offset;
14597 }
14598
14599
14600
14601 static int
14602 dissect_ansi_map_CheckMEID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14603   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14604                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CheckMEID_U);
14605
14606   return offset;
14607 }
14608
14609
14610
14611 static int
14612 dissect_ansi_map_MEIDStatus(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14613   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14614                                        NULL);
14615
14616   return offset;
14617 }
14618
14619
14620 static const ber_sequence_t CheckMEIDRes_U_set[] = {
14621   { &hf_ansi_map_meidStatus , BER_CLASS_CON, 391, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDStatus },
14622   { NULL, 0, 0, 0, NULL }
14623 };
14624
14625 static int
14626 dissect_ansi_map_CheckMEIDRes_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_) {
14627   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14628                               CheckMEIDRes_U_set, hf_index, ett_ansi_map_CheckMEIDRes_U);
14629
14630   return offset;
14631 }
14632
14633
14634
14635 static int
14636 dissect_ansi_map_CheckMEIDRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14637   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14638                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CheckMEIDRes_U);
14639
14640   return offset;
14641 }
14642
14643
14644 static const ber_sequence_t AddService_U_set[] = {
14645   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
14646   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
14647   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
14648   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14649   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14650   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14651   { NULL, 0, 0, 0, NULL }
14652 };
14653
14654 static int
14655 dissect_ansi_map_AddService_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_) {
14656   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14657                               AddService_U_set, hf_index, ett_ansi_map_AddService_U);
14658
14659   return offset;
14660 }
14661
14662
14663
14664 static int
14665 dissect_ansi_map_AddService(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14666   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14667                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AddService_U);
14668
14669   return offset;
14670 }
14671
14672
14673 static const ber_sequence_t AddServiceRes_U_set[] = {
14674   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
14675   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
14676   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
14677   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
14678   { NULL, 0, 0, 0, NULL }
14679 };
14680
14681 static int
14682 dissect_ansi_map_AddServiceRes_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_) {
14683   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14684                               AddServiceRes_U_set, hf_index, ett_ansi_map_AddServiceRes_U);
14685
14686   return offset;
14687 }
14688
14689
14690
14691 static int
14692 dissect_ansi_map_AddServiceRes(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_tagged_type(implicit_tag, actx, tree, tvb, offset,
14694                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AddServiceRes_U);
14695
14696   return offset;
14697 }
14698
14699
14700 static const ber_sequence_t DropService_U_set[] = {
14701   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
14702   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
14703   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14704   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14705   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14706   { &hf_ansi_map_releaseReason, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseReason },
14707   { NULL, 0, 0, 0, NULL }
14708 };
14709
14710 static int
14711 dissect_ansi_map_DropService_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_) {
14712   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14713                               DropService_U_set, hf_index, ett_ansi_map_DropService_U);
14714
14715   return offset;
14716 }
14717
14718
14719
14720 static int
14721 dissect_ansi_map_DropService(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14722   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14723                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_DropService_U);
14724
14725   return offset;
14726 }
14727
14728
14729 static const ber_sequence_t DropServiceRes_U_set[] = {
14730   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
14731   { NULL, 0, 0, 0, NULL }
14732 };
14733
14734 static int
14735 dissect_ansi_map_DropServiceRes_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_) {
14736   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14737                               DropServiceRes_U_set, hf_index, ett_ansi_map_DropServiceRes_U);
14738
14739   return offset;
14740 }
14741
14742
14743
14744 static int
14745 dissect_ansi_map_DropServiceRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14746   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14747                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_DropServiceRes_U);
14748
14749   return offset;
14750 }
14751
14752
14753 static const ber_sequence_t PositionEventNotification_U_set[] = {
14754   { &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
14755   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14756   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14757   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14758   { NULL, 0, 0, 0, NULL }
14759 };
14760
14761 static int
14762 dissect_ansi_map_PositionEventNotification_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_) {
14763   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14764                               PositionEventNotification_U_set, hf_index, ett_ansi_map_PositionEventNotification_U);
14765
14766   return offset;
14767 }
14768
14769
14770
14771 static int
14772 dissect_ansi_map_PositionEventNotification(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14773   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14774                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionEventNotification_U);
14775
14776   return offset;
14777 }
14778
14779
14780
14781 static int
14782 dissect_ansi_map_AKeyProtocolVersion(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14783   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14784                                        NULL);
14785
14786   return offset;
14787 }
14788
14789
14790
14791 static int
14792 dissect_ansi_map_MobileStationPartialKey(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_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14794                                        NULL);
14795
14796   return offset;
14797 }
14798
14799
14800 static const value_string ansi_map_NewlyAssignedMSID_vals[] = {
14801   { 187, "newlyAssignedMIN" },
14802   { 287, "newlyAssignedIMSI" },
14803   { 0, NULL }
14804 };
14805
14806 static const ber_choice_t NewlyAssignedMSID_choice[] = {
14807   { 187, &hf_ansi_map_newlyAssignedMIN, BER_CLASS_CON, 187, BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedMIN },
14808   { 287, &hf_ansi_map_newlyAssignedIMSI, BER_CLASS_CON, 287, BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedIMSI },
14809   { 0, NULL, 0, 0, 0, NULL }
14810 };
14811
14812 static int
14813 dissect_ansi_map_NewlyAssignedMSID(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14814   offset = dissect_ber_choice(actx, tree, tvb, offset,
14815                                  NewlyAssignedMSID_choice, hf_index, ett_ansi_map_NewlyAssignedMSID,
14816                                  NULL);
14817
14818   return offset;
14819 }
14820
14821
14822 static const ber_sequence_t OTASPRequest_U_set[] = {
14823   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
14824   { &hf_ansi_map_aKeyProtocolVersion, BER_CLASS_CON, 181, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AKeyProtocolVersion },
14825   { &hf_ansi_map_authenticationData, BER_CLASS_CON, 161, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationData },
14826   { &hf_ansi_map_authenticationResponse, BER_CLASS_CON, 35, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponse },
14827   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
14828   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14829   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14830   { &hf_ansi_map_mobileStationMSID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MobileStationMSID },
14831   { &hf_ansi_map_mobileStationPartialKey, BER_CLASS_CON, 185, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationPartialKey },
14832   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14833   { &hf_ansi_map_newlyAssignedMSID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_NewlyAssignedMSID },
14834   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
14835   { &hf_ansi_map_randomVariableBaseStation, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableBaseStation },
14836   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
14837   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
14838   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
14839   { NULL, 0, 0, 0, NULL }
14840 };
14841
14842 static int
14843 dissect_ansi_map_OTASPRequest_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_) {
14844   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14845                               OTASPRequest_U_set, hf_index, ett_ansi_map_OTASPRequest_U);
14846
14847   return offset;
14848 }
14849
14850
14851
14852 static int
14853 dissect_ansi_map_OTASPRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14854   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14855                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OTASPRequest_U);
14856
14857   return offset;
14858 }
14859
14860
14861
14862 static int
14863 dissect_ansi_map_BaseStationPartialKey(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14864   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14865                                        NULL);
14866
14867   return offset;
14868 }
14869
14870
14871
14872 static int
14873 dissect_ansi_map_ModulusValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14874   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14875                                        NULL);
14876
14877   return offset;
14878 }
14879
14880
14881
14882 static int
14883 dissect_ansi_map_OTASP_ResultCode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14884   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14885                                        NULL);
14886
14887   return offset;
14888 }
14889
14890
14891
14892 static int
14893 dissect_ansi_map_PrimitiveValue(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14894   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14895                                        NULL);
14896
14897   return offset;
14898 }
14899
14900
14901 static const ber_sequence_t OTASPRequestRes_U_set[] = {
14902   { &hf_ansi_map_aKeyProtocolVersion, BER_CLASS_CON, 181, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AKeyProtocolVersion },
14903   { &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
14904   { &hf_ansi_map_baseStationPartialKey, BER_CLASS_CON, 183, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationPartialKey },
14905   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
14906   { &hf_ansi_map_modulusValue, BER_CLASS_CON, 186, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ModulusValue },
14907   { &hf_ansi_map_otasp_ResultCode, BER_CLASS_CON, 189, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OTASP_ResultCode },
14908   { &hf_ansi_map_primitiveValue, BER_CLASS_CON, 190, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PrimitiveValue },
14909   { &hf_ansi_map_signalingMessageEncryptionReport, BER_CLASS_CON, 194, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionReport },
14910   { &hf_ansi_map_ssdUpdateReport, BER_CLASS_CON, 156, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDUpdateReport },
14911   { &hf_ansi_map_uniqueChallengeReport, BER_CLASS_CON, 124, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UniqueChallengeReport },
14912   { &hf_ansi_map_voicePrivacyReport, BER_CLASS_CON, 196, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyReport },
14913   { NULL, 0, 0, 0, NULL }
14914 };
14915
14916 static int
14917 dissect_ansi_map_OTASPRequestRes_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_) {
14918   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14919                               OTASPRequestRes_U_set, hf_index, ett_ansi_map_OTASPRequestRes_U);
14920
14921   return offset;
14922 }
14923
14924
14925
14926 static int
14927 dissect_ansi_map_OTASPRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14928   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14929                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OTASPRequestRes_U);
14930
14931   return offset;
14932 }
14933
14934
14935
14936 static int
14937 dissect_ansi_map_Record_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_) {
14938   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14939                                        NULL);
14940
14941   return offset;
14942 }
14943
14944
14945 static const ber_sequence_t StatusRequest_U_set[] = {
14946   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14947   { &hf_ansi_map_record_Type, BER_CLASS_CON, 392, BER_FLAGS_IMPLTAG, dissect_ansi_map_Record_Type },
14948   { NULL, 0, 0, 0, NULL }
14949 };
14950
14951 static int
14952 dissect_ansi_map_StatusRequest_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_) {
14953   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14954                               StatusRequest_U_set, hf_index, ett_ansi_map_StatusRequest_U);
14955
14956   return offset;
14957 }
14958
14959
14960
14961 static int
14962 dissect_ansi_map_StatusRequest(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14963   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14964                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_StatusRequest_U);
14965
14966   return offset;
14967 }
14968
14969
14970
14971 static int
14972 dissect_ansi_map_Information_Record(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14973   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14974                                        NULL);
14975
14976   return offset;
14977 }
14978
14979
14980 static const ber_sequence_t StatusRequestRes_U_set[] = {
14981   { &hf_ansi_map_information_Record, BER_CLASS_CON, 389, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Information_Record },
14982   { NULL, 0, 0, 0, NULL }
14983 };
14984
14985 static int
14986 dissect_ansi_map_StatusRequestRes_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_) {
14987   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14988                               StatusRequestRes_U_set, hf_index, ett_ansi_map_StatusRequestRes_U);
14989
14990   return offset;
14991 }
14992
14993
14994
14995 static int
14996 dissect_ansi_map_StatusRequestRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
14997   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14998                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_StatusRequestRes_U);
14999
15000   return offset;
15001 }
15002
15003
15004 static const ber_sequence_t InterSystemSMSDeliveryPointToPoint_U_set[] = {
15005   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
15006   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
15007   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15008   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
15009   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
15010   { &hf_ansi_map_sms_MessageCount, BER_CLASS_CON, 108, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageCount },
15011   { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
15012   { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
15013   { NULL, 0, 0, 0, NULL }
15014 };
15015
15016 static int
15017 dissect_ansi_map_InterSystemSMSDeliveryPointToPoint_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_) {
15018   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
15019                               InterSystemSMSDeliveryPointToPoint_U_set, hf_index, ett_ansi_map_InterSystemSMSDeliveryPointToPoint_U);
15020
15021   return offset;
15022 }
15023
15024
15025
15026 static int
15027 dissect_ansi_map_InterSystemSMSDeliveryPointToPoint(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15028   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15029                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemSMSDeliveryPointToPoint_U);
15030
15031   return offset;
15032 }
15033
15034
15035 static const ber_sequence_t InterSystemSMSDeliveryPointToPointRes_U_set[] = {
15036   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
15037   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
15038   { NULL, 0, 0, 0, NULL }
15039 };
15040
15041 static int
15042 dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes_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_) {
15043   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
15044                               InterSystemSMSDeliveryPointToPointRes_U_set, hf_index, ett_ansi_map_InterSystemSMSDeliveryPointToPointRes_U);
15045
15046   return offset;
15047 }
15048
15049
15050
15051 static int
15052 dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15053   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15054                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes_U);
15055
15056   return offset;
15057 }
15058
15059
15060
15061 static int
15062 dissect_ansi_map_CDMA2000MobileSupportedCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15063   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15064                                        NULL);
15065
15066   return offset;
15067 }
15068
15069
15070 static const ber_sequence_t InterSystemSMSPage_U_set[] = {
15071   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
15072   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
15073   { &hf_ansi_map_cdma2000MobileSupportedCapabilities, BER_CLASS_CON, 321, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000MobileSupportedCapabilities },
15074   { &hf_ansi_map_cdmaSlotCycleIndex, BER_CLASS_CON, 166, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASlotCycleIndex },
15075   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
15076   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
15077   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15078   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
15079   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
15080   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
15081   { &hf_ansi_map_pageIndicator, BER_CLASS_CON, 71, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageIndicator },
15082   { &hf_ansi_map_pageResponseTime, BER_CLASS_CON, 301, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageResponseTime },
15083   { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
15084   { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
15085   { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
15086   { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
15087   { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
15088   { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
15089   { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
15090   { NULL, 0, 0, 0, NULL }
15091 };
15092
15093 static int
15094 dissect_ansi_map_InterSystemSMSPage_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_) {
15095   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
15096                               InterSystemSMSPage_U_set, hf_index, ett_ansi_map_InterSystemSMSPage_U);
15097
15098   return offset;
15099 }
15100
15101
15102
15103 static int
15104 dissect_ansi_map_InterSystemSMSPage(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15105   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15106                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemSMSPage_U);
15107
15108   return offset;
15109 }
15110
15111
15112 static const ber_sequence_t QualificationRequest2_U_set[] = {
15113   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
15114   { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
15115   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
15116   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
15117   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
15118   { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
15119   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
15120   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
15121   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
15122   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
15123   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
15124   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
15125   { &hf_ansi_map_serviceRedirectionCause, BER_CLASS_CON, 237, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionCause },
15126   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
15127   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
15128   { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
15129   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
15130   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
15131   { NULL, 0, 0, 0, NULL }
15132 };
15133
15134 static int
15135 dissect_ansi_map_QualificationRequest2_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_) {
15136   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
15137                               QualificationRequest2_U_set, hf_index, ett_ansi_map_QualificationRequest2_U);
15138
15139   return offset;
15140 }
15141
15142
15143
15144 static int
15145 dissect_ansi_map_QualificationRequest2(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15146   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15147                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationRequest2_U);
15148
15149   return offset;
15150 }
15151
15152
15153 static const ber_sequence_t QualificationRequest2Res_U_set[] = {
15154   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
15155   { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
15156   { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
15157   { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
15158   { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
15159   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
15160   { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
15161   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
15162   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
15163   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
15164   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
15165   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
15166   { &hf_ansi_map_authenticationCapability, BER_CLASS_CON, 78, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationCapability },
15167   { &hf_ansi_map_callingFeaturesIndicator, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingFeaturesIndicator },
15168   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
15169   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
15170   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
15171   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
15172   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
15173   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
15174   { &hf_ansi_map_geographicAuthorization, BER_CLASS_CON, 143, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicAuthorization },
15175   { &hf_ansi_map_meidValidated, BER_CLASS_CON, 401, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDValidated },
15176   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
15177   { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 145, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
15178   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
15179   { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator },
15180   { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
15181   { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
15182   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
15183   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
15184   { &hf_ansi_map_restrictionDigits, BER_CLASS_CON, 227, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RestrictionDigits },
15185   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
15186   { &hf_ansi_map_pSID_RSIDList, BER_CLASS_CON, 203, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDList },
15187   { &hf_ansi_map_sms_OriginationRestrictions, BER_CLASS_CON, 115, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginationRestrictions },
15188   { &hf_ansi_map_sms_TerminationRestrictions, BER_CLASS_CON, 117, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TerminationRestrictions },
15189   { &hf_ansi_map_spinipin   , BER_CLASS_CON, 154, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINIPIN },
15190   { &hf_ansi_map_spiniTriggers, BER_CLASS_CON, 155, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINITriggers },
15191   { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
15192   { &hf_ansi_map_terminationRestrictionCode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationRestrictionCode },
15193   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
15194   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
15195   { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
15196   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
15197   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
15198   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
15199   { &hf_ansi_map_lirMode    , BER_CLASS_CON, 369, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRMode },
15200   { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
15201   { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
15202   { NULL, 0, 0, 0, NULL }
15203 };
15204
15205 static int
15206 dissect_ansi_map_QualificationRequest2Res_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_) {
15207   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
15208                               QualificationRequest2Res_U_set, hf_index, ett_ansi_map_QualificationRequest2Res_U);
15209
15210   return offset;
15211 }
15212
15213
15214
15215 static int
15216 dissect_ansi_map_QualificationRequest2Res(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15217   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
15218                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationRequest2Res_U);
15219
15220   return offset;
15221 }
15222
15223
15224 static const value_string ansi_map_DetectionPointType_vals[] = {
15225   {   1, "tDP-R" },
15226   {   2, "tDP-N" },
15227   {   3, "eDP-R" },
15228   {   4, "eDP-N" },
15229   { 0, NULL }
15230 };
15231
15232
15233 static int
15234 dissect_ansi_map_DetectionPointType(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15235   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
15236                                   NULL);
15237
15238   return offset;
15239 }
15240
15241
15242
15243 static int
15244 dissect_ansi_map_EnhancedPrivacyEncryptionReport(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15245   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15246                                        NULL);
15247
15248   return offset;
15249 }
15250
15251
15252
15253 static int
15254 dissect_ansi_map_MINExtension(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15255   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
15256                                        NULL);
15257
15258   return offset;
15259 }
15260
15261
15262 static const ber_sequence_t InvokeData_sequence[] = {
15263   { &hf_ansi_map_handoffMeasurementRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffMeasurementRequest },
15264   { &hf_ansi_map_facilitiesDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitiesDirective },
15265   { &hf_ansi_map_handoffBack, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffBack },
15266   { &hf_ansi_map_facilitiesRelease, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitiesRelease },
15267   { &hf_ansi_map_qualificationRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_QualificationRequest },
15268   { &hf_ansi_map_qualificationDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_QualificationDirective },
15269   { &hf_ansi_map_blocking   , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_Blocking },
15270   { &hf_ansi_map_unblocking , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_Unblocking },
15271   { &hf_ansi_map_resetCircuit, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ResetCircuit },
15272   { &hf_ansi_map_trunkTest  , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TrunkTest },
15273   { &hf_ansi_map_trunkTestDisconnect, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TrunkTestDisconnect },
15274   { &hf_ansi_map_registrationNotification, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RegistrationNotification },
15275   { &hf_ansi_map_registrationCancellation, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RegistrationCancellation },
15276   { &hf_ansi_map_locationRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_LocationRequest },
15277   { &hf_ansi_map_routingRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RoutingRequest },
15278   { &hf_ansi_map_featureRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FeatureRequest },
15279   { &hf_ansi_map_unreliableRoamerDataDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_UnreliableRoamerDataDirective },
15280   { &hf_ansi_map_mSInactive , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_MSInactive },
15281   { &hf_ansi_map_transferToNumberRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TransferToNumberRequest },
15282   { &hf_ansi_map_redirectionRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RedirectionRequest },
15283   { &hf_ansi_map_handoffToThird, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffToThird },
15284   { &hf_ansi_map_flashRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FlashRequest },
15285   { &hf_ansi_map_authenticationDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationDirective },
15286   { &hf_ansi_map_authenticationRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationRequest },
15287   { &hf_ansi_map_baseStationChallenge, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_BaseStationChallenge },
15288   { &hf_ansi_map_authenticationFailureReport, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationFailureReport },
15289   { &hf_ansi_map_countRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CountRequest },
15290   { &hf_ansi_map_interSystemPage, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPage },
15291   { &hf_ansi_map_unsolicitedResponse, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_UnsolicitedResponse },
15292   { &hf_ansi_map_bulkDeregistration, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_BulkDeregistration },
15293   { &hf_ansi_map_handoffMeasurementRequest2, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffMeasurementRequest2 },
15294   { &hf_ansi_map_facilitiesDirective2, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitiesDirective2 },
15295   { &hf_ansi_map_handoffBack2, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffBack2 },
15296   { &hf_ansi_map_handoffToThird2, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffToThird2 },
15297   { &hf_ansi_map_authenticationDirectiveForward, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationDirectiveForward },
15298   { &hf_ansi_map_authenticationStatusReport, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationStatusReport },
15299   { &hf_ansi_map_informationDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InformationDirective },
15300   { &hf_ansi_map_informationForward, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InformationForward },
15301   { &hf_ansi_map_interSystemAnswer, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemAnswer },
15302   { &hf_ansi_map_interSystemPage2, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPage2 },
15303   { &hf_ansi_map_interSystemSetup, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemSetup },
15304   { &hf_ansi_map_originationRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_OriginationRequest },
15305   { &hf_ansi_map_randomVariableRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RandomVariableRequest },
15306   { &hf_ansi_map_redirectionDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RedirectionDirective },
15307   { &hf_ansi_map_remoteUserInteractionDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RemoteUserInteractionDirective },
15308   { &hf_ansi_map_sMSDeliveryBackward, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSDeliveryBackward },
15309   { &hf_ansi_map_sMSDeliveryForward, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSDeliveryForward },
15310   { &hf_ansi_map_sMSDeliveryPointToPoint, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSDeliveryPointToPoint },
15311   { &hf_ansi_map_sMSNotification, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSNotification },
15312   { &hf_ansi_map_sMSRequest , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSRequest },
15313   { &hf_ansi_map_oTASPRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_OTASPRequest },
15314   { &hf_ansi_map_changeFacilities, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ChangeFacilities },
15315   { &hf_ansi_map_changeService, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ChangeService },
15316   { &hf_ansi_map_parameterRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ParameterRequest },
15317   { &hf_ansi_map_tMSIDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TMSIDirective },
15318   { &hf_ansi_map_numberPortabilityRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_NumberPortabilityRequest },
15319   { &hf_ansi_map_serviceRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ServiceRequest },
15320   { &hf_ansi_map_analyzedInformation, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AnalyzedInformation },
15321   { &hf_ansi_map_connectionFailureReport, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ConnectionFailureReport },
15322   { &hf_ansi_map_connectResource, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ConnectResource },
15323   { &hf_ansi_map_facilitySelectedAndAvailable, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitySelectedAndAvailable },
15324   { &hf_ansi_map_modify     , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_Modify },
15325   { &hf_ansi_map_search     , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_Search },
15326   { &hf_ansi_map_seizeResource, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SeizeResource },
15327   { &hf_ansi_map_sRFDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SRFDirective },
15328   { &hf_ansi_map_tBusy      , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TBusy },
15329   { &hf_ansi_map_tNoAnswer  , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TNoAnswer },
15330   { &hf_ansi_map_smsDeliveryPointToPointAck, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSDeliveryPointToPointAck },
15331   { &hf_ansi_map_messageDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_MessageDirective },
15332   { &hf_ansi_map_bulkDisconnection, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_BulkDisconnection },
15333   { &hf_ansi_map_callControlDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CallControlDirective },
15334   { &hf_ansi_map_oAnswer    , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_OAnswer },
15335   { &hf_ansi_map_oDisconnect, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ODisconnect },
15336   { &hf_ansi_map_callRecoveryReport, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CallRecoveryReport },
15337   { &hf_ansi_map_tAnswer    , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TAnswer },
15338   { &hf_ansi_map_tDisconnect, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TDisconnect },
15339   { &hf_ansi_map_unreliableCallData, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_UnreliableCallData },
15340   { &hf_ansi_map_oCalledPartyBusy, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_OCalledPartyBusy },
15341   { &hf_ansi_map_oNoAnswer  , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ONoAnswer },
15342   { &hf_ansi_map_positionRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_PositionRequest },
15343   { &hf_ansi_map_positionRequestForward, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_PositionRequestForward },
15344   { &hf_ansi_map_callTerminationReport, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CallTerminationReport },
15345   { &hf_ansi_map_geoPositionRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_GeoPositionRequest },
15346   { &hf_ansi_map_interSystemPositionRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPositionRequest },
15347   { &hf_ansi_map_interSystemPositionRequestForward, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPositionRequestForward },
15348   { &hf_ansi_map_aCGDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ACGDirective },
15349   { &hf_ansi_map_roamerDatabaseVerificationRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RoamerDatabaseVerificationRequest },
15350   { &hf_ansi_map_addService , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AddService },
15351   { &hf_ansi_map_dropService, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_DropService },
15352   { &hf_ansi_map_lcsParameterRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_LCSParameterRequest },
15353   { &hf_ansi_map_checkMEID  , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CheckMEID },
15354   { &hf_ansi_map_positionEventNotification, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_PositionEventNotification },
15355   { &hf_ansi_map_statusRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_StatusRequest },
15356   { &hf_ansi_map_interSystemSMSDeliveryPointToPoint, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemSMSDeliveryPointToPoint },
15357   { &hf_ansi_map_qualificationRequest2, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_QualificationRequest2 },
15358   { NULL, 0, 0, 0, NULL }
15359 };
15360
15361 static int
15362 dissect_ansi_map_InvokeData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15363   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15364                                    InvokeData_sequence, hf_index, ett_ansi_map_InvokeData);
15365
15366   return offset;
15367 }
15368
15369
15370 static const ber_sequence_t ReturnData_sequence[] = {
15371   { &hf_ansi_map_handoffMeasurementRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffMeasurementRequestRes },
15372   { &hf_ansi_map_facilitiesDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitiesDirectiveRes },
15373   { &hf_ansi_map_handoffBackRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffBackRes },
15374   { &hf_ansi_map_facilitiesReleaseRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitiesReleaseRes },
15375   { &hf_ansi_map_qualificationDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_QualificationDirectiveRes },
15376   { &hf_ansi_map_qualificationRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_QualificationRequestRes },
15377   { &hf_ansi_map_resetCircuitRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ResetCircuitRes },
15378   { &hf_ansi_map_registrationNotificationRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RegistrationNotificationRes },
15379   { &hf_ansi_map_registrationCancellationRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RegistrationCancellationRes },
15380   { &hf_ansi_map_locationRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_LocationRequestRes },
15381   { &hf_ansi_map_routingRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RoutingRequestRes },
15382   { &hf_ansi_map_featureRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FeatureRequestRes },
15383   { &hf_ansi_map_transferToNumberRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TransferToNumberRequestRes },
15384   { &hf_ansi_map_handoffToThirdRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffToThirdRes },
15385   { &hf_ansi_map_authenticationDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationDirectiveRes },
15386   { &hf_ansi_map_authenticationRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationRequestRes },
15387   { &hf_ansi_map_baseStationChallengeRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_BaseStationChallengeRes },
15388   { &hf_ansi_map_authenticationFailureReportRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationFailureReportRes },
15389   { &hf_ansi_map_countRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CountRequestRes },
15390   { &hf_ansi_map_interSystemPageRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPageRes },
15391   { &hf_ansi_map_unsolicitedResponseRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_UnsolicitedResponseRes },
15392   { &hf_ansi_map_handoffMeasurementRequest2Res, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffMeasurementRequest2Res },
15393   { &hf_ansi_map_facilitiesDirective2Res, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitiesDirective2Res },
15394   { &hf_ansi_map_handoffBack2Res, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffBack2Res },
15395   { &hf_ansi_map_handoffToThird2Res, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffToThird2Res },
15396   { &hf_ansi_map_authenticationDirectiveForwardRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationDirectiveForwardRes },
15397   { &hf_ansi_map_authenticationStatusReportRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationStatusReportRes },
15398   { &hf_ansi_map_informationDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InformationDirectiveRes },
15399   { &hf_ansi_map_informationForwardRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InformationForwardRes },
15400   { &hf_ansi_map_interSystemPage2Res, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPage2Res },
15401   { &hf_ansi_map_interSystemSetupRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemSetupRes },
15402   { &hf_ansi_map_originationRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_OriginationRequestRes },
15403   { &hf_ansi_map_randomVariableRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RandomVariableRequestRes },
15404   { &hf_ansi_map_remoteUserInteractionDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RemoteUserInteractionDirectiveRes },
15405   { &hf_ansi_map_sMSDeliveryBackwardRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSDeliveryBackwardRes },
15406   { &hf_ansi_map_sMSDeliveryForwardRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSDeliveryForwardRes },
15407   { &hf_ansi_map_sMSDeliveryPointToPointRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSDeliveryPointToPointRes },
15408   { &hf_ansi_map_sMSNotificationRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSNotificationRes },
15409   { &hf_ansi_map_sMSRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSRequestRes },
15410   { &hf_ansi_map_oTASPRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_OTASPRequestRes },
15411   { &hf_ansi_map_changeFacilitiesRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ChangeFacilitiesRes },
15412   { &hf_ansi_map_changeServiceRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ChangeServiceRes },
15413   { &hf_ansi_map_parameterRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ParameterRequestRes },
15414   { &hf_ansi_map_tMSIDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TMSIDirectiveRes },
15415   { &hf_ansi_map_serviceRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ServiceRequestRes },
15416   { &hf_ansi_map_analyzedInformationRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AnalyzedInformationRes },
15417   { &hf_ansi_map_facilitySelectedAndAvailableRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitySelectedAndAvailableRes },
15418   { &hf_ansi_map_modifyRes  , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ModifyRes },
15419   { &hf_ansi_map_searchRes  , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SearchRes },
15420   { &hf_ansi_map_seizeResourceRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SeizeResourceRes },
15421   { &hf_ansi_map_sRFDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SRFDirectiveRes },
15422   { &hf_ansi_map_tBusyRes   , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TBusyRes },
15423   { &hf_ansi_map_tNoAnswerRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TNoAnswerRes },
15424   { &hf_ansi_map_callControlDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CallControlDirectiveRes },
15425   { &hf_ansi_map_oDisconnectRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ODisconnectRes },
15426   { &hf_ansi_map_tDisconnectRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TDisconnectRes },
15427   { &hf_ansi_map_oCalledPartyBusyRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_OCalledPartyBusyRes },
15428   { &hf_ansi_map_oNoAnswerRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ONoAnswerRes },
15429   { &hf_ansi_map_positionRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_PositionRequestRes },
15430   { &hf_ansi_map_positionRequestForwardRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_PositionRequestForwardRes },
15431   { &hf_ansi_map_interSystemPositionRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPositionRequestRes },
15432   { &hf_ansi_map_interSystemPositionRequestForwardRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPositionRequestForwardRes },
15433   { &hf_ansi_map_roamerDatabaseVerificationRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RoamerDatabaseVerificationRequestRes },
15434   { &hf_ansi_map_addServiceRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AddServiceRes },
15435   { &hf_ansi_map_dropServiceRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_DropServiceRes },
15436   { &hf_ansi_map_interSystemSMSPage, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemSMSPage },
15437   { &hf_ansi_map_lcsParameterRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_LCSParameterRequestRes },
15438   { &hf_ansi_map_checkMEIDRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CheckMEIDRes },
15439   { &hf_ansi_map_statusRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_StatusRequestRes },
15440   { &hf_ansi_map_interSystemSMSDeliveryPointToPointRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes },
15441   { &hf_ansi_map_qualificationRequest2Res, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_QualificationRequest2Res },
15442   { NULL, 0, 0, 0, NULL }
15443 };
15444
15445 static int
15446 dissect_ansi_map_ReturnData(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
15447   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15448                                    ReturnData_sequence, hf_index, ett_ansi_map_ReturnData);
15449
15450   return offset;
15451 }
15452
15453
15454 /*--- End of included file: packet-ansi_map-fn.c ---*/
15455 #line 3634 "packet-ansi_map-template.c"
15456
15457 /*
15458  * 6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301
15459  */
15460 static void
15461 dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
15462
15463     int offset = 0;
15464     int end_offset = 0;
15465     int j = 0;
15466     proto_tree *subtree;
15467     guint8 octet;
15468
15469     end_offset = tvb_length_remaining(tvb,offset);
15470     subtree = proto_item_add_subtree(actx->created_item, ett_win_trigger_list);
15471
15472     while(offset< end_offset) {
15473         octet = tvb_get_guint8(tvb,offset);
15474         switch (octet){
15475         case 0xdc:
15476             proto_tree_add_text(subtree, tvb, offset, 1, "TDP-R's armed");
15477             j=0;
15478             break;
15479         case 0xdd:
15480             proto_tree_add_text(subtree, tvb, offset, 1, "TDP-N's armed");
15481             j=0;
15482             break;
15483         case 0xde:
15484             proto_tree_add_text(subtree, tvb, offset, 1, "EDP-R's armed");
15485             j=0;
15486             break;
15487         case 0xdf:
15488             proto_tree_add_text(subtree, tvb, offset, 1, "EDP-N's armed");
15489             j=0;
15490             break;
15491         default:
15492             proto_tree_add_text(subtree, tvb, offset, 1, "[%u] (%u) %s",j,octet,val_to_str(octet, ansi_map_TriggerType_vals, "Unknown TriggerType (%u)"));
15493             j++;
15494             break;
15495         }
15496         offset++;
15497     }
15498 }
15499
15500
15501 static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
15502
15503
15504     switch(OperationCode){
15505     case 1: /*Handoff Measurement Request*/
15506         offset = dissect_ansi_map_HandoffMeasurementRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest);
15507         break;
15508     case 2: /*Facilities Directive*/
15509         offset = dissect_ansi_map_FacilitiesDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective);
15510         break;
15511     case 3: /*Mobile On Channel*/
15512         proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
15513         break;
15514     case 4: /*Handoff Back*/
15515         offset = dissect_ansi_map_HandoffBack(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack);
15516         break;
15517     case 5: /*Facilities Release*/
15518         offset = dissect_ansi_map_FacilitiesRelease(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesRelease);
15519         break;
15520     case 6: /*Qualification Request*/
15521         offset = dissect_ansi_map_QualificationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest);
15522         break;
15523     case 7: /*Qualification Directive*/
15524         offset = dissect_ansi_map_QualificationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationDirective);
15525         break;
15526     case 8: /*Blocking*/
15527         offset = dissect_ansi_map_Blocking(TRUE, tvb, offset, actx, tree, hf_ansi_map_blocking);
15528         break;
15529     case 9: /*Unblocking*/
15530         offset = dissect_ansi_map_Unblocking(TRUE, tvb, offset, actx, tree, hf_ansi_map_unblocking);
15531         break;
15532     case 10: /*Reset Circuit*/
15533         offset = dissect_ansi_map_ResetCircuit(TRUE, tvb, offset, actx, tree, hf_ansi_map_resetCircuit);
15534         break;
15535     case 11: /*Trunk Test*/
15536         offset = dissect_ansi_map_TrunkTest(TRUE, tvb, offset, actx, tree, hf_ansi_map_trunkTest);
15537         break;
15538     case 12: /*Trunk Test Disconnect*/
15539         offset = dissect_ansi_map_TrunkTestDisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_trunkTestDisconnect);
15540         break;
15541     case  13: /*Registration Notification*/
15542         offset = dissect_ansi_map_RegistrationNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationNotification);
15543         break;
15544     case  14: /*Registration Cancellation*/
15545         offset = dissect_ansi_map_RegistrationCancellation(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationCancellation);
15546         break;
15547     case  15: /*Location Request*/
15548         offset = dissect_ansi_map_LocationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_locationRequest);
15549         break;
15550     case  16: /*Routing Request*/
15551         offset = dissect_ansi_map_RoutingRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_routingRequest);
15552         break;
15553     case  17: /*Feature Request*/
15554         offset = dissect_ansi_map_FeatureRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_featureRequest);
15555         break;
15556     case  18: /*Reserved 18 (Service Profile Request, IS-41-C)*/
15557         proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob(18 (Service Profile Request, IS-41-C)");
15558         break;
15559     case  19: /*Reserved 19 (Service Profile Directive, IS-41-C)*/
15560         proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob(19 Service Profile Directive, IS-41-C)");
15561         break;
15562     case  20: /*Unreliable Roamer Data Directive*/
15563         offset = dissect_ansi_map_UnreliableRoamerDataDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_unreliableRoamerDataDirective);
15564         break;
15565     case  21: /*Reserved 21 (Call Data Request, IS-41-C)*/
15566         proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob(Reserved 21 (Call Data Request, IS-41-C)");
15567         break;
15568     case  22: /*MS Inactive*/
15569         offset = dissect_ansi_map_MSInactive(TRUE, tvb, offset, actx, tree, hf_ansi_map_mSInactive);
15570         break;
15571     case  23: /*Transfer To Number Request*/
15572         offset = dissect_ansi_map_TransferToNumberRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_transferToNumberRequest);
15573         break;
15574     case  24: /*Redirection Request*/
15575         offset = dissect_ansi_map_RedirectionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_redirectionRequest);
15576         break;
15577     case  25: /*Handoff To Third*/
15578         offset = dissect_ansi_map_HandoffToThird(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird);
15579         break;
15580     case  26: /*Flash Request*/
15581         offset = dissect_ansi_map_FlashRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_flashRequest);
15582         break;
15583     case  27: /*Authentication Directive*/
15584         offset = dissect_ansi_map_AuthenticationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirective);
15585         break;
15586     case  28: /*Authentication Request*/
15587         offset = dissect_ansi_map_AuthenticationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationRequest);
15588         break;
15589     case  29: /*Base Station Challenge*/
15590         offset = dissect_ansi_map_BaseStationChallenge(TRUE, tvb, offset, actx, tree, hf_ansi_map_baseStationChallenge);
15591         break;
15592     case  30: /*Authentication Failure Report*/
15593         offset = dissect_ansi_map_AuthenticationFailureReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationFailureReport);
15594         break;
15595     case  31: /*Count Request*/
15596         offset = dissect_ansi_map_CountRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_countRequest);
15597         break;
15598     case  32: /*Inter System Page*/
15599         offset = dissect_ansi_map_InterSystemPage(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage);
15600         break;
15601     case  33: /*Unsolicited Response*/
15602         offset = dissect_ansi_map_UnsolicitedResponse(TRUE, tvb, offset, actx, tree, hf_ansi_map_unsolicitedResponse);
15603         break;
15604     case  34: /*Bulk Deregistration*/
15605         offset = dissect_ansi_map_BulkDeregistration(TRUE, tvb, offset, actx, tree, hf_ansi_map_bulkDeregistration);
15606         break;
15607     case  35: /*Handoff Measurement Request 2*/
15608         offset = dissect_ansi_map_HandoffMeasurementRequest2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest2);
15609         break;
15610     case  36: /*Facilities Directive 2*/
15611         offset = dissect_ansi_map_FacilitiesDirective2(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective2);
15612         break;
15613     case  37: /*Handoff Back 2*/
15614         offset = dissect_ansi_map_HandoffBack2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack2);
15615         break;
15616     case  38: /*Handoff To Third 2*/
15617         offset = dissect_ansi_map_HandoffToThird2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird2);
15618         break;
15619     case  39: /*Authentication Directive Forward*/
15620         offset = dissect_ansi_map_AuthenticationDirectiveForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveForward);
15621         break;
15622     case  40: /*Authentication Status Report*/
15623         offset = dissect_ansi_map_AuthenticationStatusReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationStatusReport);
15624         break;
15625     case  41: /*Reserved 41*/
15626         proto_tree_add_text(tree, tvb, offset, -1, "Reserved 41, Unknown invokeData blob");
15627         break;
15628     case  42: /*Information Directive*/
15629         offset = dissect_ansi_map_InformationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationDirective);
15630         break;
15631     case  43: /*Information Forward*/
15632         offset = dissect_ansi_map_InformationForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationForward);
15633         break;
15634     case  44: /*Inter System Answer*/
15635         offset = dissect_ansi_map_InterSystemAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemAnswer);
15636         break;
15637     case  45: /*Inter System Page 2*/
15638         offset = dissect_ansi_map_InterSystemPage2(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage2);
15639         break;
15640     case  46: /*Inter System Setup*/
15641         offset = dissect_ansi_map_InterSystemSetup(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSetup);
15642         break;
15643     case  47: /*OriginationRequest*/
15644         offset = dissect_ansi_map_OriginationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_originationRequest);
15645         break;
15646     case  48: /*Random Variable Request*/
15647         offset = dissect_ansi_map_RandomVariableRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_randomVariableRequest);
15648         break;
15649     case  49: /*Redirection Directive*/
15650         offset = dissect_ansi_map_RedirectionDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_redirectionDirective);
15651         break;
15652     case  50: /*Remote User Interaction Directive*/
15653         offset = dissect_ansi_map_RemoteUserInteractionDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_remoteUserInteractionDirective);
15654         break;
15655     case  51: /*SMS Delivery Backward*/
15656         offset = dissect_ansi_map_SMSDeliveryBackward(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryBackward);
15657         break;
15658     case  52: /*SMS Delivery Forward*/
15659         offset = dissect_ansi_map_SMSDeliveryForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryForward);
15660         break;
15661     case  53: /*SMS Delivery Point to Point*/
15662         offset = dissect_ansi_map_SMSDeliveryPointToPoint(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryPointToPoint);
15663         break;
15664     case  54: /*SMS Notification*/
15665         offset = dissect_ansi_map_SMSNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSNotification);
15666         break;
15667     case  55: /*SMS Request*/
15668         offset = dissect_ansi_map_SMSRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSRequest);
15669         break;
15670         /* End N.S0005*/
15671         /* N.S0010-0 v 1.0 */
15672         /* N.S0011-0 v 1.0 */
15673     case  56: /*OTASP Request 6.4.2.CC*/
15674         offset = dissect_ansi_map_OTASPRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_oTASPRequest);
15675         break;
15676         /*End N.S0011-0 v 1.0 */
15677     case  57: /*Information Backward*/
15678         offset = offset;
15679         break;
15680         /*  N.S0008-0 v 1.0 */
15681     case  58: /*Change Facilities*/
15682         offset = dissect_ansi_map_ChangeFacilities(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeFacilities);
15683         break;
15684     case  59: /*Change Service*/
15685         offset = dissect_ansi_map_ChangeService(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeService);
15686         break;
15687         /* End N.S0008-0 v 1.0 */       
15688     case  60: /*Parameter Request*/
15689         offset = dissect_ansi_map_ParameterRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_parameterRequest);
15690         break;
15691     case  61: /*TMSI Directive*/
15692         offset = dissect_ansi_map_TMSIDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_tMSIDirective);
15693         break;
15694         /*End  N.S0010-0 v 1.0 */
15695     case  62: /*NumberPortabilityRequest 62*/
15696         offset = dissect_ansi_map_NumberPortabilityRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_numberPortabilityRequest);
15697         break;
15698     case  63: /*Service Request N.S0012-0 v 1.0*/
15699         offset = dissect_ansi_map_ServiceRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_serviceRequest);
15700         break;
15701         /* N.S0013 */
15702     case  64: /*Analyzed Information Request*/
15703         offset = dissect_ansi_map_AnalyzedInformation(TRUE, tvb, offset, actx, tree, hf_ansi_map_analyzedInformation);
15704         break;
15705     case  65: /*Connection Failure Report*/
15706         offset = dissect_ansi_map_ConnectionFailureReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_connectionFailureReport);
15707         break;
15708     case  66: /*Connect Resource*/
15709         offset = dissect_ansi_map_ConnectResource(TRUE, tvb, offset, actx, tree, hf_ansi_map_connectResource);
15710         break;
15711     case  67: /*Disconnect Resource*/
15712         /* No data */
15713         break;
15714     case  68: /*Facility Selected and Available*/
15715         offset = dissect_ansi_map_FacilitySelectedAndAvailable(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailable);
15716         break;
15717     case  69: /*Instruction Request*/
15718         /* No data */
15719         break;
15720     case  70: /*Modify*/
15721         offset = dissect_ansi_map_Modify(TRUE, tvb, offset, actx, tree, hf_ansi_map_modify);
15722         break;
15723     case  71: /*Reset Timer*/
15724         /*No Data*/
15725         break;
15726     case  72: /*Search*/
15727         offset = dissect_ansi_map_Search(TRUE, tvb, offset, actx, tree, hf_ansi_map_search);
15728         break;
15729     case  73: /*Seize Resource*/
15730         offset = dissect_ansi_map_SeizeResource(TRUE, tvb, offset, actx, tree, hf_ansi_map_seizeResource);
15731         break;
15732     case  74: /*SRF Directive*/
15733         offset = dissect_ansi_map_SRFDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_sRFDirective);
15734         break;
15735     case  75: /*T Busy*/
15736         offset = dissect_ansi_map_TBusy(TRUE, tvb, offset, actx, tree, hf_ansi_map_tBusy);
15737         break;
15738     case  76: /*T NoAnswer*/
15739         offset = dissect_ansi_map_TNoAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_tNoAnswer);
15740         break;
15741         /*END N.S0013 */
15742     case  77: /*Release*/
15743         offset = offset;
15744         break;
15745     case  78: /*SMS Delivery Point to Point Ack*/
15746         offset = dissect_ansi_map_SMSDeliveryPointToPointAck(TRUE, tvb, offset, actx, tree, hf_ansi_map_smsDeliveryPointToPointAck);
15747         break;
15748         /* N.S0024*/
15749     case  79: /*Message Directive*/
15750         offset = dissect_ansi_map_MessageDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_messageDirective);
15751         break;
15752         /*END N.S0024*/
15753         /* N.S0018 PN-4287*/
15754     case  80: /*Bulk Disconnection*/
15755         offset = dissect_ansi_map_BulkDisconnection(TRUE, tvb, offset, actx, tree, hf_ansi_map_bulkDisconnection);
15756         break;
15757     case  81: /*Call Control Directive*/
15758         offset = dissect_ansi_map_CallControlDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_callControlDirective);
15759         break;
15760     case  82: /*O Answer*/
15761         offset = dissect_ansi_map_OAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_oAnswer);
15762         break;
15763     case  83: /*O Disconnect*/
15764         offset = dissect_ansi_map_ODisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_oDisconnect);
15765         break;
15766     case  84: /*Call Recovery Report*/
15767         offset = dissect_ansi_map_CallRecoveryReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_callRecoveryReport);
15768         break;
15769     case  85: /*T Answer*/
15770         offset = dissect_ansi_map_TAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_tAnswer);
15771         break;
15772     case  86: /*T Disconnect*/
15773         offset = dissect_ansi_map_TDisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_tDisconnect);
15774         break;
15775     case  87: /*Unreliable Call Data*/
15776         offset = dissect_ansi_map_UnreliableCallData(TRUE, tvb, offset, actx, tree, hf_ansi_map_unreliableCallData);
15777         break;
15778         /* N.S0018 PN-4287*/
15779         /*N.S0004 */
15780     case  88: /*O CalledPartyBusy*/
15781         offset = dissect_ansi_map_OCalledPartyBusy(TRUE, tvb, offset, actx, tree, hf_ansi_map_oCalledPartyBusy);
15782         break;
15783     case  89: /*O NoAnswer*/
15784         offset = dissect_ansi_map_ONoAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_oNoAnswer);
15785         break;
15786     case  90: /*Position Request*/
15787         offset = dissect_ansi_map_PositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequest);
15788         break;
15789     case  91: /*Position Request Forward*/
15790         offset = dissect_ansi_map_PositionRequestForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestForward);
15791         break;
15792         /*END N.S0004 */
15793     case  92: /*Call Termination Report*/
15794         offset = dissect_ansi_map_CallTerminationReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_callTerminationReport);
15795         break;
15796     case  93: /*Geo Position Directive*/
15797         offset = offset;
15798         break;
15799     case  94: /*Geo Position Request*/
15800         offset = dissect_ansi_map_GeoPositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequest);
15801         break;
15802     case  95: /*Inter System Position Request*/
15803         offset = dissect_ansi_map_InterSystemPositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequest);
15804         break;
15805     case  96: /*Inter System Position Request Forward*/
15806         offset = dissect_ansi_map_InterSystemPositionRequestForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestForward);
15807         break;
15808         /* 3GPP2 N.S0023-0 */
15809     case  97: /*ACG Directive*/
15810         offset = dissect_ansi_map_ACGDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_aCGDirective);
15811         break;
15812         /* END 3GPP2 N.S0023-0 */
15813     case  98: /*Roamer Database Verification Request*/
15814         offset = dissect_ansi_map_RoamerDatabaseVerificationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_roamerDatabaseVerificationRequest);
15815         break;
15816         /* N.S0029 X.S0001-A v1.0*/
15817     case  99: /*Add Service*/
15818         offset = dissect_ansi_map_AddService(TRUE, tvb, offset, actx, tree, hf_ansi_map_addService);
15819         break;
15820     case  100: /*Drop Service*/
15821         offset = dissect_ansi_map_DropService(TRUE, tvb, offset, actx, tree, hf_ansi_map_dropService);
15822         break;
15823         /*End N.S0029 X.S0001-A v1.0*/
15824         /* X.S0002-0 v1.0 */
15825         /* LCSParameterRequest */
15826         case 101:       /* InterSystemSMSPage 101 */
15827                 offset = dissect_ansi_map_InterSystemSMSPage(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSMSPage);
15828                 break;
15829     case 102:
15830         offset = dissect_ansi_map_LCSParameterRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_lcsParameterRequest);
15831         break;
15832         /* CheckMEID X.S0008-0 v1.0*/
15833     case 104:
15834         offset = dissect_ansi_map_CheckMEID(TRUE, tvb, offset, actx, tree, hf_ansi_map_checkMEID);
15835         break;  
15836         /* PositionEventNotification */
15837     case 106:
15838         offset = dissect_ansi_map_PositionEventNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionEventNotification);
15839         break;
15840     case 107:
15841         /* StatusRequest X.S0008-0 v1.0*/
15842         offset = dissect_ansi_map_StatusRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_statusRequest);
15843         break;
15844                 /* InterSystemSMSDelivery-PointToPoint 111 X.S0004-540-E v2.0*/
15845         case 111:
15846                 /* InterSystemSMSDeliveryPointToPoint X.S0004-540-E v2.0 */
15847                 offset = dissect_ansi_map_InterSystemSMSDeliveryPointToPoint(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSMSDeliveryPointToPoint);
15848                 break;
15849         case 112:
15850                 /* QualificationRequest2 112 X.S0004-540-E v2.0*/
15851                 offset = dissect_ansi_map_QualificationRequest2(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest2);
15852                 break;
15853     default:
15854         proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
15855         break;
15856     }
15857
15858     return offset;
15859
15860 }
15861
15862 static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
15863
15864     switch(OperationCode){
15865     case 1: /*Handoff Measurement Request*/
15866         offset = dissect_ansi_map_HandoffMeasurementRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequestRes);
15867         break;
15868     case 2: /*Facilities Directive*/
15869         offset = dissect_ansi_map_FacilitiesDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirectiveRes);
15870         break;
15871     case 4: /*Handoff Back*/
15872         offset = dissect_ansi_map_HandoffBackRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBackRes);
15873         break;
15874     case 5: /*Facilities Release*/
15875         offset = dissect_ansi_map_FacilitiesReleaseRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesReleaseRes);
15876         break;
15877     case 6: /*Qualification Request*/
15878         offset = dissect_ansi_map_QualificationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequestRes);
15879         break;
15880     case 7: /*Qualification Directive*/
15881         offset = dissect_ansi_map_QualificationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationDirectiveRes);
15882         break;
15883     case 10: /*Reset Circuit*/
15884         offset = dissect_ansi_map_ResetCircuitRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_resetCircuitRes);
15885         break;
15886     case 13: /*Registration Notification*/
15887         offset = dissect_ansi_map_RegistrationNotificationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationNotificationRes);
15888         break;
15889     case  14: /*Registration Cancellation*/
15890         offset = dissect_ansi_map_RegistrationCancellationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationCancellationRes);
15891         break;
15892     case  15: /*Location Request*/
15893         offset = dissect_ansi_map_LocationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_locationRequestRes);
15894         break;
15895     case  16: /*Routing Request*/
15896         offset = dissect_ansi_map_RoutingRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_routingRequestRes);
15897         break;
15898     case  17: /*Feature Request*/
15899         offset = dissect_ansi_map_FeatureRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_featureRequestRes);
15900         break;
15901     case  23: /*Transfer To Number Request*/
15902         offset = dissect_ansi_map_TransferToNumberRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_transferToNumberRequestRes);
15903         break;
15904     case  25: /*Handoff To Third*/
15905         offset = dissect_ansi_map_HandoffToThirdRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThirdRes);
15906         break;
15907     case  26: /*Flash Request*/
15908         /* No data */
15909         proto_tree_add_text(tree, tvb, offset, -1, "No Data");
15910         break;
15911     case  27: /*Authentication Directive*/
15912         offset = dissect_ansi_map_AuthenticationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveRes);
15913         break;
15914     case  28: /*Authentication Request*/
15915         offset = dissect_ansi_map_AuthenticationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationRequestRes);
15916         break;
15917     case  29: /*Base Station Challenge*/
15918         offset = dissect_ansi_map_BaseStationChallengeRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_baseStationChallengeRes);
15919         break;
15920     case  30: /*Authentication Failure Report*/
15921         offset = dissect_ansi_map_AuthenticationFailureReportRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationFailureReportRes);
15922         break;
15923     case  31: /*Count Request*/
15924         offset = dissect_ansi_map_CountRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_countRequestRes);
15925         break;
15926     case  32: /*Inter System Page*/
15927         offset = dissect_ansi_map_InterSystemPageRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPageRes);
15928         break;
15929     case  33: /*Unsolicited Response*/
15930         offset = dissect_ansi_map_UnsolicitedResponseRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_unsolicitedResponseRes);
15931         break;
15932     case  35: /*Handoff Measurement Request 2*/
15933         offset = dissect_ansi_map_HandoffMeasurementRequest2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest2Res);
15934         break;
15935     case  36: /*Facilities Directive 2*/
15936         offset = dissect_ansi_map_FacilitiesDirective2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective2Res);
15937         break;
15938     case  37: /*Handoff Back 2*/
15939         offset = dissect_ansi_map_HandoffBack2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack2Res);
15940         break;
15941     case  38: /*Handoff To Third 2*/
15942         offset = dissect_ansi_map_HandoffToThird2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird2Res);
15943         break;
15944     case  39: /*Authentication Directive Forward*/
15945         offset = dissect_ansi_map_AuthenticationDirectiveForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveForwardRes);
15946         break;
15947     case  40: /*Authentication Status Report*/
15948         offset = dissect_ansi_map_AuthenticationStatusReportRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationStatusReportRes);
15949         break;
15950         /*Reserved 41*/
15951     case  42: /*Information Directive*/
15952         offset = dissect_ansi_map_InformationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationDirectiveRes);
15953         break;
15954     case  43: /*Information Forward*/
15955         offset = dissect_ansi_map_InformationForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationForwardRes);
15956         break;
15957     case  45: /*Inter System Page 2*/
15958         offset = dissect_ansi_map_InterSystemPage2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage2Res);
15959         break;
15960     case  46: /*Inter System Setup*/
15961         offset = dissect_ansi_map_InterSystemSetupRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSetupRes);
15962         break;
15963     case  47: /*OriginationRequest*/
15964         offset = dissect_ansi_map_OriginationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_originationRequestRes);
15965         break;
15966     case  48: /*Random Variable Request*/
15967         offset = dissect_ansi_map_RandomVariableRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_randomVariableRequestRes);
15968         break;
15969     case  50: /*Remote User Interaction Directive*/
15970         offset = dissect_ansi_map_RemoteUserInteractionDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_remoteUserInteractionDirectiveRes);
15971         break;
15972     case  51: /*SMS Delivery Backward*/
15973         offset = dissect_ansi_map_SMSDeliveryBackwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryBackwardRes);
15974         break;
15975     case  52: /*SMS Delivery Forward*/
15976         offset = dissect_ansi_map_SMSDeliveryForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryForwardRes);
15977         break;
15978     case  53: /*SMS Delivery Point to Point*/
15979         offset = dissect_ansi_map_SMSDeliveryPointToPointRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryPointToPointRes);
15980         break;
15981     case  54: /*SMS Notification*/
15982         offset = dissect_ansi_map_SMSNotificationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSNotificationRes);
15983         break;
15984     case  55: /*SMS Request*/
15985         offset = dissect_ansi_map_SMSRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSRequestRes);
15986         break;
15987         /*  N.S0008-0 v 1.0 */
15988     case  56: /*OTASP Request 6.4.2.CC*/
15989         offset = dissect_ansi_map_OTASPRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oTASPRequestRes);
15990         break;
15991     case  58: /*Change Facilities*/
15992         offset = dissect_ansi_map_ChangeFacilitiesRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeFacilitiesRes);
15993         break;
15994     case  59: /*Change Service*/
15995         offset = dissect_ansi_map_ChangeServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeServiceRes);
15996         break;
15997     case  60: /*Parameter Request*/
15998         offset = dissect_ansi_map_ParameterRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_parameterRequestRes);
15999         break;
16000     case  61: /*TMSI Directive*/
16001         offset = dissect_ansi_map_TMSIDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tMSIDirectiveRes);
16002         break;
16003     case  63: /*Service Request*/
16004         offset = dissect_ansi_map_ServiceRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_serviceRequestRes);
16005         break;
16006         /* N.S0013 */
16007     case  64: /*Analyzed Information Request*/
16008         offset = dissect_ansi_map_AnalyzedInformationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_analyzedInformationRes);
16009         break;
16010     case  68: /*Facility Selected and Available*/
16011         offset = dissect_ansi_map_FacilitySelectedAndAvailableRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailableRes);
16012         break;
16013     case  70: /*Modify*/
16014         offset = dissect_ansi_map_ModifyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_modifyRes);
16015         break;
16016     case  72: /*Search*/
16017         offset = dissect_ansi_map_SearchRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_searchRes);;
16018         break;
16019     case  73: /*Seize Resource*/
16020         offset = dissect_ansi_map_SeizeResourceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_seizeResourceRes);
16021         break;
16022     case  74: /*SRF Directive*/
16023         offset = dissect_ansi_map_SRFDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sRFDirectiveRes);
16024         break;
16025     case  75: /*T Busy*/
16026         offset = dissect_ansi_map_TBusyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tBusyRes);
16027         break;
16028     case  76: /*T NoAnswer*/
16029         offset = dissect_ansi_map_TNoAnswerRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tNoAnswerRes);
16030         break;
16031     case  81: /*Call Control Directive*/
16032         offset = dissect_ansi_map_CallControlDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_callControlDirectiveRes);
16033         break;
16034     case  83: /*O Disconnect*/
16035         offset = dissect_ansi_map_ODisconnectRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oDisconnectRes);
16036         break;
16037     case  86: /*T Disconnect*/
16038         offset = dissect_ansi_map_TDisconnectRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tDisconnectRes);
16039         break;
16040     case  88: /*O CalledPartyBusy*/
16041         offset = dissect_ansi_map_OCalledPartyBusyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oCalledPartyBusyRes);
16042         break;
16043     case  89: /*O NoAnswer*/
16044         offset = dissect_ansi_map_ONoAnswerRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oNoAnswerRes);
16045         break;
16046     case  90: /*Position Request*/
16047         offset = dissect_ansi_map_PositionRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestRes);
16048         break;
16049     case  91: /*Position Request Forward*/
16050         offset = dissect_ansi_map_PositionRequestForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestForwardRes);
16051         break;
16052     case  95: /*Inter System Position Request*/
16053         offset = dissect_ansi_map_InterSystemPositionRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestRes);
16054         break;
16055     case  96: /*Inter System Position Request Forward*/
16056         offset = dissect_ansi_map_InterSystemPositionRequestForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestRes);
16057         break;
16058     case  98: /*Roamer Database Verification Request*/
16059         offset = dissect_ansi_map_RoamerDatabaseVerificationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_roamerDatabaseVerificationRequestRes);
16060         break;
16061     case  99: /*Add Service*/
16062         offset = dissect_ansi_map_AddServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_addServiceRes);
16063         break;
16064     case  100: /*Drop Service*/
16065         offset = dissect_ansi_map_DropServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_dropServiceRes);
16066         break;
16067         /*End N.S0029 */
16068         /* X.S0002-0 v1.0 */
16069         /* LCSParameterRequest */
16070     case 102:
16071         offset = dissect_ansi_map_LCSParameterRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_lcsParameterRequestRes);
16072         break;
16073         /* CheckMEID X.S0008-0 v1.0*/
16074     case 104:
16075         offset = dissect_ansi_map_CheckMEIDRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_checkMEIDRes);
16076         break;  
16077         /* PositionEventNotification *
16078            case 106:
16079            offset = dissect_ansi_map_PositionEventNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionEventNotificationRes);
16080            break;
16081         */
16082     case 107:
16083         /* StatusRequest X.S0008-0 v1.0*/
16084         offset = dissect_ansi_map_StatusRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_statusRequestRes);
16085         break;
16086         case 111:
16087                 /* InterSystemSMSDeliveryPointToPointRes X.S0004-540-E v2.0 */
16088                 offset = dissect_ansi_map_InterSystemSMSDeliveryPointToPointRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSMSDeliveryPointToPointRes);
16089                 break;
16090         case 112:
16091                 /* QualificationRequest2Res 112 X.S0004-540-E v2.0*/
16092                 offset = dissect_ansi_map_QualificationRequest2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest2Res);
16093                 break;
16094     default:
16095         proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
16096         break;
16097     }
16098
16099     return offset;
16100
16101 }
16102
16103 static int
16104 find_saved_invokedata(asn1_ctx_t *actx){
16105     struct ansi_map_invokedata_t *ansi_map_saved_invokedata;
16106     struct ansi_tcap_private_t *p_private_tcap;
16107     address* src = &(actx->pinfo->src);
16108     address* dst = &(actx->pinfo->dst);
16109     guint8 *src_str;
16110     guint8 *dst_str;
16111     char *buf;
16112
16113     buf=ep_alloc(1024);
16114     src_str = address_to_str(src);
16115     dst_str = address_to_str(dst);
16116
16117     /* Data from the TCAP dissector */
16118     if (actx->pinfo->private_data != NULL){
16119         p_private_tcap=actx->pinfo->private_data;
16120         /* The hash string needs to contain src and dest to distiguish differnt flows */
16121         src_str = address_to_str(src);
16122         dst_str = address_to_str(dst);
16123         /* Reverse order to invoke */
16124         g_snprintf(buf,1024,"%s%s%s",p_private_tcap->TransactionID_str,dst_str,src_str);
16125         /*
16126           g_warning("Find Hash string %s",buf);
16127         */
16128         ansi_map_saved_invokedata = g_hash_table_lookup(TransactionId_table, buf);
16129         if(ansi_map_saved_invokedata){
16130             OperationCode = ansi_map_saved_invokedata->opcode & 0xff;
16131             ServiceIndicator = ansi_map_saved_invokedata->ServiceIndicator;
16132         }else{
16133             OperationCode = OperationCode & 0x00ff;
16134         }
16135     }else{
16136         OperationCode = OperationCode & 0x00ff;
16137     }
16138     return OperationCode;
16139 }
16140
16141 static void
16142 dissect_ansi_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
16143 {
16144     proto_item *ansi_map_item;
16145     proto_tree *ansi_map_tree = NULL;
16146     int        offset = 0;
16147     struct ansi_tcap_private_t *p_private_tcap;
16148     asn1_ctx_t asn1_ctx;
16149     asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
16150
16151     SMS_BearerData_tvb = NULL;
16152     ansi_map_sms_tele_id = -1;
16153     g_pinfo = pinfo;
16154     g_tree = tree;
16155     /*
16156      * Make entry in the Protocol column on summary display
16157      */
16158     if (check_col(pinfo->cinfo, COL_PROTOCOL))
16159     {
16160         col_set_str(pinfo->cinfo, COL_PROTOCOL, "ANSI MAP");
16161     }
16162
16163     /* Data from the TCAP dissector */
16164     if (pinfo->private_data == NULL){
16165         proto_tree_add_text(tree, tvb, 0, -1, "Dissector ERROR this dissector relays on private data");
16166         return;
16167     }
16168
16169     /*
16170      * create the ansi_map protocol tree
16171      */
16172     ansi_map_item = proto_tree_add_item(tree, proto_ansi_map, tvb, 0, -1, FALSE);
16173     ansi_map_tree = proto_item_add_subtree(ansi_map_item, ett_ansi_map);
16174     ansi_map_is_invoke = FALSE;
16175     is683_ota = FALSE;
16176     is801_pld = FALSE;
16177     ServiceIndicator = 0;
16178
16179     p_private_tcap=pinfo->private_data;
16180
16181     switch(p_private_tcap->d.pdu){
16182         /* 
16183            1 : invoke, 
16184            2 : returnResult, 
16185            3 : returnError,
16186            4 : reject
16187         */
16188     case 1:
16189         OperationCode = p_private_tcap->d.OperationCode_private & 0x00ff;
16190         ansi_map_is_invoke = TRUE;
16191         if (check_col(pinfo->cinfo, COL_INFO)){
16192             col_clear(pinfo->cinfo, COL_INFO);
16193             col_add_fstr(pinfo->cinfo, COL_INFO,"%s Invoke", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
16194         }
16195         proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
16196         offset = dissect_invokeData(ansi_map_tree, tvb, 0, &asn1_ctx);
16197         update_saved_invokedata(pinfo, ansi_map_tree, tvb);
16198         break;
16199     case 2:
16200         OperationCode = find_saved_invokedata(&asn1_ctx);
16201         if (check_col(pinfo->cinfo, COL_INFO)){
16202             col_clear(pinfo->cinfo, COL_INFO);
16203             col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnResult", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
16204         }
16205         proto_item_append_text(p_private_tcap->d.OperationCode_item," %s",val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
16206         offset = dissect_returnData(ansi_map_tree, tvb, 0, &asn1_ctx);
16207         break;
16208     case 3:
16209         if (check_col(pinfo->cinfo, COL_INFO)){
16210             col_clear(pinfo->cinfo, COL_INFO);
16211             col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnError", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
16212         }
16213         break;
16214     case 4:
16215         if (check_col(pinfo->cinfo, COL_INFO)){
16216             col_clear(pinfo->cinfo, COL_INFO);
16217             col_add_fstr(pinfo->cinfo, COL_INFO,"%s Reject", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
16218         }
16219         break;
16220     default:
16221         /* Must be Invoke ReturnResult ReturnError or Reject */
16222         DISSECTOR_ASSERT_NOT_REACHED();
16223         break;
16224     }
16225 }
16226
16227 static void range_delete_callback(guint32 ssn)
16228 {
16229     if (ssn) {
16230         delete_ansi_tcap_subdissector(ssn , ansi_map_handle);
16231     }
16232 }
16233
16234 static void range_add_callback(guint32 ssn)
16235 {
16236     if (ssn) {
16237         add_ansi_tcap_subdissector(ssn , ansi_map_handle);
16238     }
16239 }
16240
16241 void
16242 proto_reg_handoff_ansi_map(void)
16243 {
16244     static gboolean ansi_map_prefs_initialized = FALSE;
16245     static range_t *ssn_range;
16246
16247     if(!ansi_map_prefs_initialized)
16248     {
16249         ansi_map_prefs_initialized = TRUE;
16250         ansi_map_handle = find_dissector("ansi_map");
16251     }
16252     else
16253     {
16254         range_foreach(ssn_range, range_delete_callback);
16255         g_free(ssn_range);
16256     }
16257
16258     ssn_range = range_copy(global_ssn_range);
16259
16260     range_foreach(ssn_range, range_add_callback);
16261 }
16262
16263 /*--- proto_register_ansi_map -------------------------------------------*/
16264 void proto_register_ansi_map(void) {
16265
16266     module_t    *ansi_map_module;
16267
16268     /* List of fields */
16269     static hf_register_info hf[] = {
16270
16271         { &hf_ansi_map_op_code_fam,
16272           { "Operation Code Family", "ansi_map.op_code_fam",
16273             FT_UINT8, BASE_DEC, NULL, 0,
16274             NULL, HFILL }},
16275         { &hf_ansi_map_reservedBitH,
16276           { "Reserved", "ansi_map.reserved_bitH",
16277             FT_BOOLEAN, 8, NULL,0x80,
16278             NULL, HFILL }},
16279         { &hf_ansi_map_reservedBitD,
16280           { "Reserved", "ansi_map.reserved_bitD",
16281             FT_BOOLEAN, 8, NULL,0x08,
16282             NULL, HFILL }},
16283         { &hf_ansi_map_reservedBitHG,
16284           { "Reserved", "ansi_map.reserved_bitHG",
16285             FT_UINT8, BASE_DEC, NULL, 0xc0,
16286             NULL, HFILL }},
16287         { &hf_ansi_map_reservedBitHGFE,
16288           { "Reserved", "ansi_map.reserved_bitHGFE",
16289             FT_UINT8, BASE_DEC, NULL, 0xf0,
16290             NULL, HFILL }},
16291         { &hf_ansi_map_reservedBitFED,
16292           { "Reserved", "ansi_map.reserved_bitFED",
16293             FT_UINT8, BASE_DEC, NULL, 0x38,
16294             NULL, HFILL }},
16295         { &hf_ansi_map_reservedBitED,
16296           { "Reserved", "ansi_map.reserved_bitED",
16297             FT_UINT8, BASE_DEC, NULL, 0x18,
16298             NULL, HFILL }},
16299         { &hf_ansi_map_op_code,
16300           { "Operation Code", "ansi_map.op_code",
16301             FT_UINT8, BASE_DEC, VALS(ansi_map_opr_code_strings), 0x0,
16302             NULL, HFILL }},
16303         { &hf_ansi_map_type_of_digits,
16304           { "Type of Digits", "ansi_map.type_of_digits",
16305             FT_UINT8, BASE_DEC, VALS(ansi_map_type_of_digits_vals), 0x0,
16306             NULL, HFILL }},
16307         { &hf_ansi_map_na,
16308           { "Nature of Number", "ansi_map.na",
16309             FT_BOOLEAN, 8, TFS(&ansi_map_na_bool_val),0x01,
16310             NULL, HFILL }},
16311         { &hf_ansi_map_pi,
16312           { "Presentation Indication", "ansi_map.type_of_pi",
16313             FT_BOOLEAN, 8, TFS(&ansi_map_pi_bool_val),0x02,
16314             NULL, HFILL }},
16315         { &hf_ansi_map_navail,
16316           { "Number available indication", "ansi_map.navail",
16317             FT_BOOLEAN, 8, TFS(&ansi_map_navail_bool_val),0x04,
16318             NULL, HFILL }},
16319         { &hf_ansi_map_si,
16320           { "Screening indication", "ansi_map.si",
16321             FT_UINT8, BASE_DEC, VALS(ansi_map_si_vals), 0x30,
16322             NULL, HFILL }},
16323         { &hf_ansi_map_digits_enc,
16324           { "Encoding", "ansi_map.enc",
16325             FT_UINT8, BASE_DEC, VALS(ansi_map_digits_enc_vals), 0x0f,
16326             NULL, HFILL }},
16327         { &hf_ansi_map_np,
16328           { "Numbering Plan", "ansi_map.np",
16329             FT_UINT8, BASE_DEC, VALS(ansi_map_np_vals), 0xf0,
16330             NULL, HFILL }},
16331         { &hf_ansi_map_nr_digits,
16332           { "Number of Digits", "ansi_map.nr_digits",
16333             FT_UINT8, BASE_DEC, NULL, 0x0,
16334             NULL, HFILL }},
16335         { &hf_ansi_map_bcd_digits,
16336           { "BCD digits", "ansi_map.bcd_digits",
16337             FT_STRING, BASE_NONE, NULL, 0,
16338             NULL, HFILL }},
16339         { &hf_ansi_map_ia5_digits,
16340           { "IA5 digits", "ansi_map.ia5_digits",
16341             FT_STRING, BASE_NONE, NULL, 0,
16342             NULL, HFILL }},
16343         { &hf_ansi_map_subaddr_type,
16344           { "Type of Subaddress", "ansi_map.subaddr_type",
16345             FT_UINT8, BASE_DEC, VALS(ansi_map_sub_addr_type_vals), 0x70,
16346             NULL, HFILL }},
16347         { &hf_ansi_map_subaddr_odd_even,
16348           { "Odd/Even Indicator", "ansi_map.subaddr_odd_even",
16349             FT_BOOLEAN, 8, TFS(&ansi_map_navail_bool_val),0x08,
16350             NULL, HFILL }},
16351
16352         { &hf_ansi_alertcode_cadence,
16353           { "Cadence", "ansi_map.alertcode.cadence",
16354             FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Cadence_vals), 0x3f,
16355             NULL, HFILL }},
16356         { &hf_ansi_alertcode_pitch,
16357           { "Pitch", "ansi_map.alertcode.pitch",
16358             FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Pitch_vals), 0xc0,
16359             NULL, HFILL }},
16360         { &hf_ansi_alertcode_alertaction,
16361           { "Alert Action", "ansi_map.alertcode.alertaction",
16362             FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Alert_Action_vals), 0x07,
16363             NULL, HFILL }},
16364         { &hf_ansi_map_announcementcode_tone,
16365           { "Tone", "ansi_map.announcementcode.tone",
16366             FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_tone_vals), 0x0,
16367             NULL, HFILL }},
16368         { &hf_ansi_map_announcementcode_class,
16369           { "Tone", "ansi_map.announcementcode.class",
16370             FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_class_vals), 0xf,
16371             NULL, HFILL }},
16372         { &hf_ansi_map_announcementcode_std_ann,
16373           { "Standard Announcement", "ansi_map.announcementcode.std_ann",
16374             FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_std_ann_vals), 0x0,
16375             NULL, HFILL }},
16376         { &hf_ansi_map_announcementcode_cust_ann,
16377           { "Custom Announcement", "ansi_map.announcementcode.cust_ann",
16378             FT_UINT8, BASE_DEC, NULL, 0x0,
16379             NULL, HFILL }},
16380         { &hf_ansi_map_authorizationperiod_period,
16381           { "Period", "ansi_map.authorizationperiod.period",
16382             FT_UINT8, BASE_DEC, VALS(ansi_map_authorizationperiod_period_vals), 0x0,
16383             NULL, HFILL }},
16384         { &hf_ansi_map_value,
16385           { "Value", "ansi_map.value",
16386             FT_UINT8, BASE_DEC, NULL, 0x0,
16387             NULL, HFILL }},
16388         { &hf_ansi_map_msc_type,
16389           { "Type", "ansi_map.extendedmscid.type",
16390             FT_UINT8, BASE_DEC, VALS(ansi_map_msc_type_vals), 0x0,
16391             NULL, HFILL }},
16392         { &hf_ansi_map_handoffstate_pi,
16393           { "Party Involved (PI)", "ansi_map.handoffstate.pi",
16394             FT_BOOLEAN, 8, TFS(&ansi_map_HandoffState_pi_bool_val),0x01,
16395             NULL, HFILL }},
16396         { &hf_ansi_map_tgn,
16397           { "Trunk Group Number (G)", "ansi_map.tgn",
16398             FT_UINT8, BASE_DEC, NULL,0x0,
16399             NULL, HFILL }},
16400         { &hf_ansi_map_tmn,
16401           { "Trunk Member Number (M)", "ansi_map.tgn",
16402             FT_UINT8, BASE_DEC, NULL,0x0,
16403             NULL, HFILL }},
16404         { &hf_ansi_map_messagewaitingnotificationcount_tom,
16405           { "Type of messages", "ansi_map.messagewaitingnotificationcount.tom",
16406             FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationCount_type_vals), 0x0,
16407             NULL, HFILL }},
16408         { &hf_ansi_map_messagewaitingnotificationcount_no_mw,
16409           { "Number of Messages Waiting", "ansi_map.messagewaitingnotificationcount.nomw",
16410             FT_UINT8, BASE_DEC, NULL,0x0,
16411             NULL, HFILL }},
16412         { &hf_ansi_map_messagewaitingnotificationtype_mwi,
16413           { "Message Waiting Indication (MWI)", "ansi_map.messagewaitingnotificationcount.mwi",
16414             FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationType_mwi_vals), 0x0,
16415             NULL, HFILL }},
16416         { &hf_ansi_map_messagewaitingnotificationtype_apt,
16417           { "Alert Pip Tone (APT)", "ansi_map.messagewaitingnotificationtype.apt",
16418             FT_BOOLEAN, 8, TFS(&ansi_map_HandoffState_pi_bool_val),0x02,
16419             NULL, HFILL }},
16420         { &hf_ansi_map_messagewaitingnotificationtype_pt,
16421           { "Pip Tone (PT)", "ansi_map.messagewaitingnotificationtype.pt",
16422             FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationType_mwi_vals), 0xc0,
16423             NULL, HFILL }},
16424
16425         { &hf_ansi_map_trans_cap_prof,
16426           { "Profile (PROF)", "ansi_map.trans_cap_prof",
16427             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_prof_bool_val),0x01,
16428             NULL, HFILL }},
16429         { &hf_ansi_map_trans_cap_busy,
16430           { "Busy Detection (BUSY)", "ansi_map.trans_cap_busy",
16431             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_busy_bool_val),0x02,
16432             NULL, HFILL }},
16433         { &hf_ansi_map_trans_cap_ann,
16434           { "Announcements (ANN)", "ansi_map.trans_cap_ann",
16435             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_ann_bool_val),0x04,
16436             NULL, HFILL }},
16437         { &hf_ansi_map_trans_cap_rui,
16438           { "Remote User Interaction (RUI)", "ansi_map.trans_cap_rui",
16439             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_rui_bool_val),0x08,
16440             NULL, HFILL }},
16441         { &hf_ansi_map_trans_cap_spini,
16442           { "Subscriber PIN Intercept (SPINI)", "ansi_map.trans_cap_spini",
16443             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_spini_bool_val),0x10,
16444             NULL, HFILL }},
16445         { &hf_ansi_map_trans_cap_uzci,
16446           { "UZ Capability Indicator (UZCI)", "ansi_map.trans_cap_uzci",
16447             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_uzci_bool_val),0x20,
16448             NULL, HFILL }},
16449         { &hf_ansi_map_trans_cap_ndss,
16450           { "NDSS Capability (NDSS)", "ansi_map.trans_cap_ndss",
16451             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_ndss_bool_val),0x40,
16452             NULL, HFILL }},         
16453         { &hf_ansi_map_trans_cap_nami,
16454           { "NAME Capability Indicator (NAMI)", "ansi_map.trans_cap_nami",
16455             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_nami_bool_val),0x80,
16456             NULL, HFILL }},
16457         { &hf_ansi_trans_cap_multerm,
16458           { "Multiple Terminations", "ansi_map.trans_cap_multerm",
16459             FT_UINT8, BASE_DEC, VALS(ansi_map_trans_cap_multerm_vals), 0x0f,
16460             NULL, HFILL }},
16461         { &hf_ansi_map_terminationtriggers_busy,
16462           { "Busy", "ansi_map.terminationtriggers.busy",
16463             FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_busy_vals), 0x03,
16464             NULL, HFILL }},
16465         { &hf_ansi_map_terminationtriggers_rf,
16466           { "Routing Failure (RF)", "ansi_map.terminationtriggers.rf",
16467             FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_rf_vals), 0x0c,
16468             NULL, HFILL }},
16469         { &hf_ansi_map_terminationtriggers_npr,
16470           { "No Page Response (NPR)", "ansi_map.terminationtriggers.npr",
16471             FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_npr_vals), 0x30,
16472             NULL, HFILL }},
16473         { &hf_ansi_map_terminationtriggers_na,
16474           { "No Answer (NA)", "ansi_map.terminationtriggers.na",
16475             FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_na_vals), 0xc0,
16476             NULL, HFILL }},
16477         { &hf_ansi_map_terminationtriggers_nr,
16478           { "None Reachable (NR)", "ansi_map.terminationtriggers.nr",
16479             FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_nr_vals), 0x01,
16480             NULL, HFILL }},
16481         { &hf_ansi_trans_cap_tl,
16482           { "TerminationList (TL)", "ansi_map.trans_cap_tl",
16483             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_tl_bool_val),0x10,
16484             NULL, HFILL }},
16485         { &hf_ansi_map_cdmaserviceoption,
16486           { "CDMAServiceOption", "ansi_map.cdmaserviceoption",
16487             FT_UINT16, BASE_RANGE_STRING | BASE_DEC, RVALS(&cdmaserviceoption_vals), 0x0,
16488             NULL, HFILL }},
16489         { &hf_ansi_trans_cap_waddr,
16490           { "WIN Addressing (WADDR)", "ansi_map.trans_cap_waddr",
16491             FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_waddr_bool_val),0x20,
16492             NULL, HFILL }},
16493
16494         { &hf_ansi_map_MarketID,
16495           { "MarketID", "ansi_map.marketid",
16496             FT_UINT16, BASE_DEC, NULL, 0,
16497             NULL, HFILL }},
16498         { &hf_ansi_map_swno,
16499           { "Switch Number (SWNO)", "ansi_map.swno",
16500             FT_UINT8, BASE_DEC, NULL, 0,
16501             NULL, HFILL }},
16502         { &hf_ansi_map_idno,
16503           { "ID Number", "ansi_map.idno",
16504             FT_UINT32, BASE_DEC, NULL, 0,
16505             NULL, HFILL }},
16506         { &hf_ansi_map_segcount,
16507           { "Segment Counter", "ansi_map.segcount",
16508             FT_UINT8, BASE_DEC, NULL, 0,
16509             NULL, HFILL }},
16510         { &hf_ansi_map_sms_originationrestrictions_direct,
16511           { "DIRECT", "ansi_map.originationrestrictions.direct",
16512             FT_BOOLEAN, 8, TFS(&ansi_map_SMS_OriginationRestrictions_direct_bool_val),0x04,
16513             NULL, HFILL }},
16514         { &hf_ansi_map_sms_originationrestrictions_default,
16515           { "DEFAULT", "ansi_map.originationrestrictions.default",
16516             FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_OriginationRestrictions_default_vals), 0x03,
16517             NULL, HFILL }},
16518         { &hf_ansi_map_sms_originationrestrictions_fmc,
16519           { "Force Message Center (FMC)", "ansi_map.originationrestrictions.fmc",
16520             FT_BOOLEAN, 8, TFS(&ansi_map_SMS_OriginationRestrictions_fmc_bool_val),0x08,
16521             NULL, HFILL }},
16522
16523         { &hf_ansi_map_systemcapabilities_auth,
16524           { "Authentication Parameters Requested (AUTH)", "ansi_map.systemcapabilities.auth",
16525             FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_auth_bool_val),0x01,
16526             NULL, HFILL }},
16527         { &hf_ansi_map_systemcapabilities_se,
16528           { "Signaling Message Encryption Capable (SE )", "ansi_map.systemcapabilities.se",
16529             FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_se_bool_val),0x02,
16530             NULL, HFILL }},
16531         { &hf_ansi_map_systemcapabilities_vp,
16532           { "Voice Privacy Capable (VP )", "ansi_map.systemcapabilities.vp",
16533             FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_vp_bool_val),0x04,
16534             NULL, HFILL }},
16535         { &hf_ansi_map_systemcapabilities_cave,
16536           { "CAVE Algorithm Capable (CAVE)", "ansi_map.systemcapabilities.cave",
16537             FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_cave_bool_val),0x08,
16538             NULL, HFILL }},
16539         { &hf_ansi_map_systemcapabilities_ssd,
16540           { "Shared SSD (SSD)", "ansi_map.systemcapabilities.ssd",
16541             FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_ssd_bool_val),0x10,
16542             NULL, HFILL }},
16543         { &hf_ansi_map_systemcapabilities_dp,
16544           { "Data Privacy (DP)", "ansi_map.systemcapabilities.dp",
16545             FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_dp_bool_val),0x20,
16546             NULL, HFILL }},
16547
16548         { &hf_ansi_map_mslocation_lat,
16549           { "Latitude in tenths of a second", "ansi_map.mslocation.lat",
16550             FT_UINT8, BASE_DEC, NULL, 0,
16551             NULL, HFILL }},
16552         { &hf_ansi_map_mslocation_long,
16553           { "Longitude in tenths of a second", "ansi_map.mslocation.long",
16554             FT_UINT8, BASE_DEC, NULL, 0,
16555             "Switch Number (SWNO)", HFILL }},
16556         { &hf_ansi_map_mslocation_res,
16557           { "Resolution in units of 1 foot", "ansi_map.mslocation.res",
16558             FT_UINT8, BASE_DEC, NULL, 0,
16559             NULL, HFILL }},
16560         { &hf_ansi_map_nampscallmode_namps,
16561           { "Call Mode", "ansi_map.nampscallmode.namps",
16562             FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_namps_bool_val),0x01,
16563             NULL, HFILL }},
16564         { &hf_ansi_map_nampscallmode_amps,
16565           { "Call Mode", "ansi_map.nampscallmode.amps",
16566             FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_amps_bool_val),0x02,
16567             NULL, HFILL }},
16568         { &hf_ansi_map_nampschanneldata_navca,
16569           { "Narrow Analog Voice Channel Assignment (NAVCA)", "ansi_map.nampschanneldata.navca",
16570             FT_UINT8, BASE_DEC, VALS(ansi_map_NAMPSChannelData_navca_vals), 0x03,
16571             NULL, HFILL }},
16572         { &hf_ansi_map_nampschanneldata_CCIndicator,
16573           { "Color Code Indicator (CCIndicator)", "ansi_map.nampschanneldata.ccindicator",
16574             FT_UINT8, BASE_DEC, VALS(ansi_map_NAMPSChannelData_ccinidicator_vals), 0x1c,
16575             NULL, HFILL }},
16576
16577
16578         { &hf_ansi_map_callingfeaturesindicator_cfufa,
16579           { "Call Forwarding Unconditional FeatureActivity, CFU-FA", "ansi_map.callingfeaturesindicator.cfufa",
16580             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16581             NULL, HFILL }},
16582         { &hf_ansi_map_callingfeaturesindicator_cfbfa,
16583           { "Call Forwarding Busy FeatureActivity, CFB-FA", "ansi_map.callingfeaturesindicator.cfbafa",
16584             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16585             NULL, HFILL }},
16586         { &hf_ansi_map_callingfeaturesindicator_cfnafa,
16587           { "Call Forwarding No Answer FeatureActivity, CFNA-FA", "ansi_map.callingfeaturesindicator.cfnafa",
16588             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16589             NULL, HFILL }},
16590         { &hf_ansi_map_callingfeaturesindicator_cwfa,
16591           { "Call Waiting: FeatureActivity, CW-FA", "ansi_map.callingfeaturesindicator.cwfa",
16592             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16593             NULL, HFILL }},
16594
16595         { &hf_ansi_map_callingfeaturesindicator_3wcfa,
16596           { "Three-Way Calling FeatureActivity, 3WC-FA", "ansi_map.callingfeaturesindicator.3wcfa",
16597             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16598             NULL, HFILL }},
16599
16600         { &hf_ansi_map_callingfeaturesindicator_pcwfa,
16601           { "Priority Call Waiting FeatureActivity PCW-FA", "ansi_map.callingfeaturesindicator.pcwfa",
16602             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16603             NULL, HFILL }},
16604           
16605         { &hf_ansi_map_callingfeaturesindicator_dpfa,
16606           { "Data Privacy Feature Activity DP-FA", "ansi_map.callingfeaturesindicator.dpfa",
16607             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16608             NULL, HFILL }},
16609         { &hf_ansi_map_callingfeaturesindicator_ahfa,
16610           { "Answer Hold: FeatureActivity AH-FA", "ansi_map.callingfeaturesindicator.ahfa",
16611             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16612             NULL, HFILL }},
16613         { &hf_ansi_map_callingfeaturesindicator_uscfvmfa,
16614           { "USCF divert to voice mail: FeatureActivity USCFvm-FA", "ansi_map.callingfeaturesindicator.uscfvmfa",
16615             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16616             NULL, HFILL }},
16617
16618         { &hf_ansi_map_callingfeaturesindicator_uscfmsfa,
16619           { "USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA", "ansi_map.callingfeaturesindicator.uscfmsfa",
16620             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16621             NULL, HFILL }},
16622         { &hf_ansi_map_callingfeaturesindicator_uscfnrfa,
16623           { "USCF divert to network registered DN:FeatureActivity. USCFnr-FA", "ansi_map.callingfeaturesindicator.uscfmsfa",
16624             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16625             NULL, HFILL }},
16626         { &hf_ansi_map_callingfeaturesindicator_cpdsfa,
16627           { "CDMA-Packet Data Service: FeatureActivity. CPDS-FA", "ansi_map.callingfeaturesindicator.cpdfa",
16628             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16629             NULL, HFILL }},
16630         { &hf_ansi_map_callingfeaturesindicator_ccsfa,
16631           { "CDMA-Concurrent Service:FeatureActivity. CCS-FA", "ansi_map.callingfeaturesindicator.ccsfa",
16632             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16633             NULL, HFILL }},
16634
16635         { &hf_ansi_map_callingfeaturesindicator_epefa,
16636           { "TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA", "ansi_map.callingfeaturesindicator.epefa",
16637             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16638             NULL, HFILL }},
16639
16640
16641         { &hf_ansi_map_callingfeaturesindicator_cdfa,
16642           { "Call Delivery: FeatureActivity, CD-FA", "ansi_map.callingfeaturesindicator.cdfa",
16643             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16644             NULL, HFILL }},
16645         { &hf_ansi_map_callingfeaturesindicator_vpfa,
16646           { "Voice Privacy FeatureActivity, VP-FA", "ansi_map.callingfeaturesindicator.vpfa",
16647             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16648             NULL, HFILL }},
16649         { &hf_ansi_map_callingfeaturesindicator_ctfa,
16650           { "Call Transfer: FeatureActivity, CT-FA", "ansi_map.callingfeaturesindicator.ctfa",
16651             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16652             NULL, HFILL }},
16653
16654         { &hf_ansi_map_callingfeaturesindicator_cnip1fa,
16655           { "One number (network-provided only) Calling Number Identification Presentation: FeatureActivity CNIP1-FA", "ansi_map.callingfeaturesindicator.cnip1fa",
16656             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16657             NULL, HFILL }},
16658         { &hf_ansi_map_callingfeaturesindicator_cnip2fa,
16659           { "Two number (network-provided and user-provided) Calling Number Identification Presentation: FeatureActivity CNIP2-FA", "ansi_map.callingfeaturesindicator.cnip2fa",
16660             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16661             NULL, HFILL }},
16662         { &hf_ansi_map_callingfeaturesindicator_cnirfa,
16663           { "Calling Number Identification Restriction: FeatureActivity CNIR-FA", "ansi_map.callingfeaturesindicator.cnirfa",
16664             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16665             NULL, HFILL }},
16666         { &hf_ansi_map_callingfeaturesindicator_cniroverfa,
16667           { "Calling Number Identification Restriction Override FeatureActivity CNIROver-FA", "ansi_map.callingfeaturesindicator.cniroverfa",
16668             FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16669             NULL, HFILL }},
16670
16671         { &hf_ansi_map_cdmacallmode_cdma,
16672           { "Call Mode", "ansi_map.cdmacallmode.cdma",
16673             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cdma_bool_val),0x01,
16674             NULL, HFILL }},
16675         { &hf_ansi_map_cdmacallmode_amps,
16676           { "Call Mode", "ansi_map.cdmacallmode.amps",
16677             FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_amps_bool_val),0x02,
16678             NULL, HFILL }},
16679         { &hf_ansi_map_cdmacallmode_namps,
16680           { "Call Mode", "ansi_map.cdmacallmode.namps",
16681             FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_namps_bool_val),0x04,
16682             NULL, HFILL }},
16683         { &hf_ansi_map_cdmacallmode_cls1,
16684           { "Call Mode", "ansi_map.cdmacallmode.cls1",
16685             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls1_bool_val),0x08,
16686             NULL, HFILL }},
16687         { &hf_ansi_map_cdmacallmode_cls2,
16688           { "Call Mode", "ansi_map.cdmacallmode.cls2",
16689             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls2_bool_val),0x10,
16690             NULL, HFILL }},
16691         { &hf_ansi_map_cdmacallmode_cls3,
16692           { "Call Mode", "ansi_map.cdmacallmode.cls3",
16693             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls3_bool_val),0x20,
16694             NULL, HFILL }},
16695         { &hf_ansi_map_cdmacallmode_cls4,
16696           { "Call Mode", "ansi_map.cdmacallmode.cls4",
16697             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls4_bool_val),0x40,
16698             NULL, HFILL }},
16699         { &hf_ansi_map_cdmacallmode_cls5,
16700           { "Call Mode", "ansi_map.cdmacallmode.cls5",
16701             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls5_bool_val),0x80,
16702             NULL, HFILL }},
16703         { &hf_ansi_map_cdmacallmode_cls6,
16704           { "Call Mode", "ansi_map.cdmacallmode.cls6",
16705             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls6_bool_val),0x01,
16706             NULL, HFILL }},
16707         { &hf_ansi_map_cdmacallmode_cls7,
16708           { "Call Mode", "ansi_map.cdmacallmode.cls7",
16709             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls7_bool_val),0x02,
16710             NULL, HFILL }},
16711         { &hf_ansi_map_cdmacallmode_cls8,
16712           { "Call Mode", "ansi_map.cdmacallmode.cls8",
16713             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls8_bool_val),0x04,
16714             NULL, HFILL }},
16715         { &hf_ansi_map_cdmacallmode_cls9,
16716           { "Call Mode", "ansi_map.cdmacallmode.cls9",
16717             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls9_bool_val),0x08,
16718             NULL, HFILL }},
16719         { &hf_ansi_map_cdmacallmode_cls10,
16720           { "Call Mode", "ansi_map.cdmacallmode.cls10",
16721             FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls10_bool_val),0x10,
16722             NULL, HFILL }},
16723         {&hf_ansi_map_cdmachanneldata_Frame_Offset,
16724          { "Frame Offset", "ansi_map.cdmachanneldata.frameoffset",
16725            FT_UINT8, BASE_DEC, NULL, 0x78,
16726            NULL, HFILL }},
16727         {&hf_ansi_map_cdmachanneldata_CDMA_ch_no,
16728          { "CDMA Channel Number", "ansi_map.cdmachanneldata.cdma_ch_no",
16729            FT_UINT16, BASE_DEC, NULL, 0x07FF,
16730            NULL, HFILL }},
16731         {&hf_ansi_map_cdmachanneldata_band_cls,
16732          { "Band Class", "ansi_map.cdmachanneldata.band_cls",
16733            FT_UINT8, BASE_DEC, VALS(ansi_map_cdmachanneldata_band_cls_vals), 0x7c,
16734            NULL, HFILL }},
16735         {&hf_ansi_map_cdmachanneldata_lc_mask_b6,
16736          { "Long Code Mask (byte 6) MSB", "ansi_map.cdmachanneldata.lc_mask_b6",
16737            FT_UINT8, BASE_HEX, NULL, 0x03,
16738            "Long Code Mask MSB (byte 6)", HFILL }},
16739         {&hf_ansi_map_cdmachanneldata_lc_mask_b5,
16740          { "Long Code Mask (byte 5)", "ansi_map.cdmachanneldata.lc_mask_b5",
16741            FT_UINT8, BASE_HEX, NULL, 0xff,
16742            NULL, HFILL }},
16743         {&hf_ansi_map_cdmachanneldata_lc_mask_b4,
16744          { "Long Code Mask (byte 4)", "ansi_map.cdmachanneldata.lc_mask_b4",
16745            FT_UINT8, BASE_HEX, NULL, 0xff,
16746            NULL, HFILL }},
16747         {&hf_ansi_map_cdmachanneldata_lc_mask_b3,
16748          { "Long Code Mask (byte 3)", "ansi_map.cdmachanneldata.lc_mask_b3",
16749            FT_UINT8, BASE_HEX, NULL, 0xff,
16750            NULL, HFILL }},
16751         {&hf_ansi_map_cdmachanneldata_lc_mask_b2,
16752          { "Long Code Mask (byte 2)", "ansi_map.cdmachanneldata.lc_mask_b2",
16753            FT_UINT8, BASE_HEX, NULL, 0xff,
16754            NULL, HFILL }},
16755         {&hf_ansi_map_cdmachanneldata_lc_mask_b1,
16756          { "Long Code Mask LSB(byte 1)", "ansi_map.cdmachanneldata.lc_mask_b1",
16757            FT_UINT8, BASE_HEX, NULL, 0xff,
16758            "Long Code Mask (byte 1)LSB", HFILL }},
16759         {&hf_ansi_map_cdmachanneldata_np_ext,
16760          { "NP EXT", "ansi_map.cdmachanneldata.np_ext",
16761            FT_BOOLEAN, 8, NULL,0x80,
16762            NULL, HFILL }},
16763         {&hf_ansi_map_cdmachanneldata_nominal_pwr,
16764          { "Nominal Power", "ansi_map.cdmachanneldata.nominal_pwr",
16765            FT_UINT8, BASE_DEC, NULL, 0x71,
16766            NULL, HFILL }},
16767         {&hf_ansi_map_cdmachanneldata_nr_preamble,
16768          { "Number Preamble", "ansi_map.cdmachanneldata.nr_preamble",
16769            FT_UINT8, BASE_DEC, NULL, 0x07,
16770            NULL, HFILL }},
16771
16772         { &hf_ansi_map_cdmastationclassmark_pc,
16773           { "Power Class(PC)", "ansi_map.cdmastationclassmark.pc",
16774             FT_UINT8, BASE_DEC, VALS(ansi_map_CDMAStationClassMark_pc_vals), 0x03,
16775             NULL, HFILL }},
16776
16777         { &hf_ansi_map_cdmastationclassmark_dtx,
16778           { "Analog Transmission: (DTX)", "ansi_map.cdmastationclassmark.dtx",
16779             FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_dtx_bool_val),0x04,
16780             NULL, HFILL }},
16781         { &hf_ansi_map_cdmastationclassmark_smi,
16782           { "Slotted Mode Indicator: (SMI)", "ansi_map.cdmastationclassmark.smi",
16783             FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_smi_bool_val),0x20,
16784             NULL, HFILL }},
16785         { &hf_ansi_map_cdmastationclassmark_dmi,
16786           { "Dual-mode Indicator(DMI)", "ansi_map.cdmastationclassmark.dmi",
16787             FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_dmi_bool_val),0x40,
16788             NULL, HFILL }},
16789         { &hf_ansi_map_channeldata_vmac,
16790           { "Voice Mobile Attenuation Code (VMAC)", "ansi_map.channeldata.vmac",
16791             FT_UINT8, BASE_DEC, NULL, 0x07,
16792             NULL, HFILL }},
16793         { &hf_ansi_map_channeldata_dtx,
16794           { "Discontinuous Transmission Mode (DTX)", "ansi_map.channeldata.dtx",
16795             FT_UINT8, BASE_DEC, VALS(ansi_map_ChannelData_dtx_vals), 0x18,
16796             NULL, HFILL }},
16797         { &hf_ansi_map_channeldata_scc,
16798           { "SAT Color Code (SCC)", "ansi_map.channeldata.scc",
16799             FT_UINT8, BASE_DEC, NULL, 0xc0,
16800             NULL, HFILL }},
16801         { &hf_ansi_map_channeldata_chno,
16802           { "Channel Number (CHNO)", "ansi_map.channeldata.chno",
16803             FT_UINT16, BASE_DEC, NULL, 0x0,
16804             NULL, HFILL }},
16805         { &hf_ansi_map_ConfidentialityModes_vp,
16806           { "Voice Privacy (VP) Confidentiality Status", "ansi_map.confidentialitymodes.vp",
16807             FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x01,
16808             NULL, HFILL }},
16809         { &hf_ansi_map_controlchanneldata_dcc,
16810           { "Digital Color Code (DCC)", "ansi_map.controlchanneldata.dcc",
16811             FT_UINT8, BASE_DEC, NULL, 0xc0,
16812             NULL, HFILL }},
16813         { &hf_ansi_map_controlchanneldata_cmac,
16814           { "Control Mobile Attenuation Code (CMAC)", "ansi_map.controlchanneldata.cmac",
16815             FT_UINT8, BASE_DEC, NULL, 0x07,
16816             NULL, HFILL }},
16817         { &hf_ansi_map_controlchanneldata_chno,
16818           { "Channel Number (CHNO)", "ansi_map.controlchanneldata.cmac",
16819             FT_UINT16, BASE_DEC, NULL, 0x0,
16820             NULL, HFILL }},
16821         { &hf_ansi_map_controlchanneldata_sdcc1,
16822           { "Supplementary Digital Color Codes (SDCC1)", "ansi_map.controlchanneldata.ssdc1",
16823             FT_UINT8, BASE_DEC, NULL, 0x0c,
16824             NULL, HFILL }},
16825         { &hf_ansi_map_controlchanneldata_sdcc2,
16826           { "Supplementary Digital Color Codes (SDCC2)", "ansi_map.controlchanneldata.ssdc2",
16827             FT_UINT8, BASE_DEC, NULL, 0x03,
16828             NULL, HFILL }},
16829         { &hf_ansi_map_ConfidentialityModes_se,
16830           { "Signaling Message Encryption (SE) Confidentiality Status", "ansi_map.confidentialitymodes.se",
16831             FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x02,
16832             NULL, HFILL }},
16833         { &hf_ansi_map_ConfidentialityModes_dp,
16834           { "DataPrivacy (DP) Confidentiality Status", "ansi_map.confidentialitymodes.dp",
16835             FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x04,
16836             NULL, HFILL }},
16837
16838         { &hf_ansi_map_deniedauthorizationperiod_period,
16839           { "Period", "ansi_map.deniedauthorizationperiod.period",
16840             FT_UINT8, BASE_DEC, VALS(ansi_map_deniedauthorizationperiod_period_vals), 0x0,
16841             NULL, HFILL }},
16842
16843
16844         { &hf_ansi_map_originationtriggers_all,
16845           { "All Origination (All)", "ansi_map.originationtriggers.all",
16846             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_all_bool_val),0x01,
16847             NULL, HFILL }},
16848         { &hf_ansi_map_originationtriggers_local,
16849           { "Local", "ansi_map.originationtriggers.all",
16850             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_local_bool_val),0x02,
16851             NULL, HFILL }},
16852         { &hf_ansi_map_originationtriggers_ilata,
16853           { "Intra-LATA Toll (ILATA)", "ansi_map.originationtriggers.ilata",
16854             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ilata_bool_val),0x04,
16855             NULL, HFILL }},
16856         { &hf_ansi_map_originationtriggers_olata,
16857           { "Inter-LATA Toll (OLATA)", "ansi_map.originationtriggers.olata",
16858             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_olata_bool_val),0x08,
16859             NULL, HFILL }},
16860         { &hf_ansi_map_originationtriggers_int,
16861           { "International (Int'l )", "ansi_map.originationtriggers.int",
16862             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_int_bool_val),0x10,
16863             NULL, HFILL }},
16864         { &hf_ansi_map_originationtriggers_wz,
16865           { "World Zone (WZ)", "ansi_map.originationtriggers.wz",
16866             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_wz_bool_val),0x20,
16867             NULL, HFILL }},
16868         { &hf_ansi_map_originationtriggers_unrec,
16869           { "Unrecognized Number (Unrec)", "ansi_map.originationtriggers.unrec",
16870             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_unrec_bool_val),0x40,
16871             NULL, HFILL }},
16872         { &hf_ansi_map_originationtriggers_rvtc,
16873           { "Revertive Call (RvtC)", "ansi_map.originationtriggers.rvtc",
16874             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_rvtc_bool_val),0x80,
16875             NULL, HFILL }},
16876         { &hf_ansi_map_originationtriggers_star,
16877           { "Star", "ansi_map.originationtriggers.star",
16878             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_star_bool_val),0x01,
16879             NULL, HFILL }},
16880         { &hf_ansi_map_originationtriggers_ds,
16881           { "Double Star (DS)", "ansi_map.originationtriggers.ds",
16882             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ds_bool_val),0x02,
16883             NULL, HFILL }},
16884         { &hf_ansi_map_originationtriggers_pound,
16885           { "Pound", "ansi_map.originationtriggers.pound",
16886             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_pound_bool_val),0x04,
16887             NULL, HFILL }},
16888         { &hf_ansi_map_originationtriggers_dp,
16889           { "Double Pound (DP)", "ansi_map.originationtriggers.dp",
16890             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_dp_bool_val),0x08,
16891             NULL, HFILL }},
16892         { &hf_ansi_map_originationtriggers_pa,
16893           { "Prior Agreement (PA)", "ansi_map.originationtriggers.pa",
16894             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_pa_bool_val),0x10,
16895             NULL, HFILL }},
16896         { &hf_ansi_map_originationtriggers_nodig,
16897           { "No digits", "ansi_map.originationtriggers.nodig",
16898             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_nodig_bool_val),0x01,
16899             NULL, HFILL }},
16900         { &hf_ansi_map_originationtriggers_onedig,
16901           { "1 digit", "ansi_map.originationtriggers.onedig",
16902             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_onedig_bool_val),0x02,
16903             NULL, HFILL }},
16904         { &hf_ansi_map_originationtriggers_twodig,
16905           { "2 digits", "ansi_map.originationtriggers.twodig",
16906             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_twodig_bool_val),0x04,
16907             NULL, HFILL }},
16908         { &hf_ansi_map_originationtriggers_threedig,
16909           { "3 digits", "ansi_map.originationtriggers.threedig",
16910             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_threedig_bool_val),0x08,
16911             NULL, HFILL }},
16912         { &hf_ansi_map_originationtriggers_fourdig,
16913           { "4 digits", "ansi_map.originationtriggers.fourdig",
16914             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fourdig_bool_val),0x10,
16915             NULL, HFILL }},
16916         { &hf_ansi_map_originationtriggers_fivedig,
16917           { "5 digits", "ansi_map.originationtriggers.fivedig",
16918             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fivedig_bool_val),0x20,
16919             NULL, HFILL }},
16920         { &hf_ansi_map_originationtriggers_sixdig,
16921           { "6 digits", "ansi_map.originationtriggers.sixdig",
16922             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_sixdig_bool_val),0x40,
16923             NULL, HFILL }},
16924         { &hf_ansi_map_originationtriggers_sevendig,
16925           { "7 digits", "ansi_map.originationtriggers.sevendig",
16926             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_sevendig_bool_val),0x80,
16927             NULL, HFILL }},
16928         { &hf_ansi_map_originationtriggers_eightdig,
16929           { "8 digits", "ansi_map.originationtriggers.eight",
16930             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_eightdig_bool_val),0x01,
16931             NULL, HFILL }},
16932         { &hf_ansi_map_originationtriggers_ninedig,
16933           { "9 digits", "ansi_map.originationtriggers.nine",
16934             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ninedig_bool_val),0x02,
16935             NULL, HFILL }},
16936         { &hf_ansi_map_originationtriggers_tendig,
16937           { "10 digits", "ansi_map.originationtriggers.ten",
16938             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_tendig_bool_val),0x04,
16939             NULL, HFILL }},
16940         { &hf_ansi_map_originationtriggers_elevendig,
16941           { "11 digits", "ansi_map.originationtriggers.eleven",
16942             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_elevendig_bool_val),0x08,
16943             NULL, HFILL }},
16944         { &hf_ansi_map_originationtriggers_twelvedig,
16945           { "12 digits", "ansi_map.originationtriggers.twelve",
16946             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_twelvedig_bool_val),0x10,
16947             NULL, HFILL }},
16948         { &hf_ansi_map_originationtriggers_thirteendig,
16949           { "13 digits", "ansi_map.originationtriggers.thirteen",
16950             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_thirteendig_bool_val),0x20,
16951             NULL, HFILL }},
16952         { &hf_ansi_map_originationtriggers_fourteendig,
16953           { "14 digits", "ansi_map.originationtriggers.fourteen",
16954             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fourteendig_bool_val),0x40,
16955             NULL, HFILL }},
16956         { &hf_ansi_map_originationtriggers_fifteendig,
16957           { "15 digits", "ansi_map.originationtriggers.fifteen",
16958             FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fifteendig_bool_val),0x80,
16959             NULL, HFILL }},
16960
16961         { &hf_ansi_map_triggercapability_init,
16962           { "Introducing Star/Pound (INIT)", "ansi_map.triggercapability.init",
16963             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
16964             NULL, HFILL }},
16965         { &hf_ansi_map_triggercapability_kdigit,
16966           { "K-digit (K-digit)", "ansi_map.triggercapability.kdigit",
16967             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
16968             NULL, HFILL }},
16969         { &hf_ansi_map_triggercapability_all,
16970           { "All_Calls (All)", "ansi_map.triggercapability.all",
16971             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
16972             NULL, HFILL }},
16973         { &hf_ansi_map_triggercapability_rvtc,
16974           { "Revertive_Call (RvtC)", "ansi_map.triggercapability.rvtc",
16975             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
16976             NULL, HFILL }},
16977         { &hf_ansi_map_triggercapability_oaa,
16978           { "Origination_Attempt_Authorized (OAA)", "ansi_map.triggercapability.oaa",
16979             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
16980             NULL, HFILL }},
16981         { &hf_ansi_map_triggercapability_oans,
16982           { "O_Answer (OANS)", "ansi_map.triggercapability.oans",
16983             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x20,
16984             NULL, HFILL }},
16985         { &hf_ansi_map_triggercapability_odisc,
16986           { "O_Disconnect (ODISC)", "ansi_map.triggercapability.odisc",
16987             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x40,
16988             NULL, HFILL }},
16989         { &hf_ansi_map_triggercapability_ona,
16990           { "O_No_Answer (ONA)", "ansi_map.triggercapability.ona",
16991             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x80,
16992             NULL, HFILL }},
16993
16994         { &hf_ansi_map_triggercapability_ct ,
16995           { "Call Types (CT)", "ansi_map.triggercapability.ona",
16996             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
16997             NULL, HFILL }},
16998         { &hf_ansi_map_triggercapability_unrec,
16999           { "Unrecognized_Number (Unrec)", "ansi_map.triggercapability.unrec",
17000             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
17001             NULL, HFILL }},
17002         { &hf_ansi_map_triggercapability_pa,
17003           { "Prior_Agreement (PA)", "ansi_map.triggercapability.pa",
17004             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
17005             NULL, HFILL }},
17006         { &hf_ansi_map_triggercapability_at,
17007           { "Advanced_Termination (AT)", "ansi_map.triggercapability.at",
17008             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
17009             NULL, HFILL }},
17010         { &hf_ansi_map_triggercapability_cgraa,
17011           { "Calling_Routing_Address_Available (CgRAA)", "ansi_map.triggercapability.cgraa",
17012             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
17013             NULL, HFILL }},
17014         { &hf_ansi_map_triggercapability_it,
17015           { "Initial_Termination (IT)", "ansi_map.triggercapability.it",
17016             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x20,
17017             NULL, HFILL }},
17018         { &hf_ansi_map_triggercapability_cdraa,
17019           { "Called_Routing_Address_Available (CdRAA)", "ansi_map.triggercapability.cdraa",
17020             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x40,
17021             NULL, HFILL }},
17022         { &hf_ansi_map_triggercapability_obsy,
17023           { "O_Called_Party_Busy (OBSY)", "ansi_map.triggercapability.ona",
17024             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x80,
17025             NULL, HFILL }},
17026
17027         { &hf_ansi_map_triggercapability_tra ,
17028           { "Terminating_Resource_Available (TRA)", "ansi_map.triggercapability.tra",
17029             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
17030             NULL, HFILL }},
17031         { &hf_ansi_map_triggercapability_tbusy,
17032           { "T_Busy (TBusy)", "ansi_map.triggercapability.tbusy",
17033             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
17034             NULL, HFILL }},
17035         { &hf_ansi_map_triggercapability_tna,
17036           { "T_No_Answer (TNA)", "ansi_map.triggercapability.tna",
17037             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
17038             NULL, HFILL }},
17039         { &hf_ansi_map_triggercapability_tans,
17040           { "T_Answer (TANS)", "ansi_map.triggercapability.tans",
17041             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
17042             NULL, HFILL }},
17043         { &hf_ansi_map_triggercapability_tdisc,
17044           { "T_Disconnect (TDISC)", "ansi_map.triggercapability.tdisc",
17045             FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
17046             NULL, HFILL }},
17047         { &hf_ansi_map_winoperationscapability_conn,
17048           { "ConnectResource (CONN)", "ansi_map.winoperationscapability.conn",
17049             FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_conn_bool_val),0x01,
17050             NULL, HFILL }},
17051         { &hf_ansi_map_winoperationscapability_ccdir,
17052           { "CallControlDirective(CCDIR)", "ansi_map.winoperationscapability.ccdir",
17053             FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_ccdir_bool_val),0x02,
17054             NULL, HFILL }},
17055         { &hf_ansi_map_winoperationscapability_pos,
17056           { "PositionRequest (POS)", "ansi_map.winoperationscapability.pos",
17057             FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_pos_bool_val),0x04,
17058             NULL, HFILL }},
17059         { &hf_ansi_map_pacaindicator_pa,
17060           { "Permanent Activation (PA)", "ansi_map.pacaindicator_pa",
17061             FT_BOOLEAN, 8, TFS(&ansi_map_pacaindicator_pa_bool_val),0x01,
17062             NULL, HFILL }},
17063         { &hf_ansi_map_PACA_Level,
17064           { "PACA Level", "ansi_map.PACA_Level",
17065             FT_UINT8, BASE_DEC, VALS(ansi_map_PACA_Level_vals), 0x1e,
17066             NULL, HFILL }},
17067                 
17068
17069 /*--- Included file: packet-ansi_map-hfarr.c ---*/
17070 #line 1 "packet-ansi_map-hfarr.c"
17071     { &hf_ansi_map_electronicSerialNumber,
17072       { "electronicSerialNumber", "ansi_map.electronicSerialNumber",
17073         FT_BYTES, BASE_NONE, NULL, 0,
17074         "ansi_map.ElectronicSerialNumber", HFILL }},
17075     { &hf_ansi_map_msid,
17076       { "msid", "ansi_map.msid",
17077         FT_UINT32, BASE_DEC, VALS(ansi_map_MSID_vals), 0,
17078         "ansi_map.MSID", HFILL }},
17079     { &hf_ansi_map_authenticationAlgorithmVersion,
17080       { "authenticationAlgorithmVersion", "ansi_map.authenticationAlgorithmVersion",
17081         FT_BYTES, BASE_NONE, NULL, 0,
17082         "ansi_map.AuthenticationAlgorithmVersion", HFILL }},
17083     { &hf_ansi_map_authenticationResponseReauthentication,
17084       { "authenticationResponseReauthentication", "ansi_map.authenticationResponseReauthentication",
17085         FT_BYTES, BASE_NONE, NULL, 0,
17086         "ansi_map.AuthenticationResponseReauthentication", HFILL }},
17087     { &hf_ansi_map_authenticationResponseUniqueChallenge,
17088       { "authenticationResponseUniqueChallenge", "ansi_map.authenticationResponseUniqueChallenge",
17089         FT_BYTES, BASE_NONE, NULL, 0,
17090         "ansi_map.AuthenticationResponseUniqueChallenge", HFILL }},
17091     { &hf_ansi_map_callHistoryCount,
17092       { "callHistoryCount", "ansi_map.callHistoryCount",
17093         FT_UINT32, BASE_DEC, NULL, 0,
17094         "ansi_map.CallHistoryCount", HFILL }},
17095     { &hf_ansi_map_cdmaPrivateLongCodeMask,
17096       { "cdmaPrivateLongCodeMask", "ansi_map.cdmaPrivateLongCodeMask",
17097         FT_BYTES, BASE_NONE, NULL, 0,
17098         "ansi_map.CDMAPrivateLongCodeMask", HFILL }},
17099     { &hf_ansi_map_carrierDigits,
17100       { "carrierDigits", "ansi_map.carrierDigits",
17101         FT_BYTES, BASE_NONE, NULL, 0,
17102         "ansi_map.CarrierDigits", HFILL }},
17103     { &hf_ansi_map_caveKey,
17104       { "caveKey", "ansi_map.caveKey",
17105         FT_BYTES, BASE_NONE, NULL, 0,
17106         "ansi_map.CaveKey", HFILL }},
17107     { &hf_ansi_map_denyAccess,
17108       { "denyAccess", "ansi_map.denyAccess",
17109         FT_UINT32, BASE_DEC, VALS(ansi_map_DenyAccess_vals), 0,
17110         "ansi_map.DenyAccess", HFILL }},
17111     { &hf_ansi_map_destinationDigits,
17112       { "destinationDigits", "ansi_map.destinationDigits",
17113         FT_BYTES, BASE_NONE, NULL, 0,
17114         "ansi_map.DestinationDigits", HFILL }},
17115     { &hf_ansi_map_locationAreaID,
17116       { "locationAreaID", "ansi_map.locationAreaID",
17117         FT_BYTES, BASE_NONE, NULL, 0,
17118         "ansi_map.LocationAreaID", HFILL }},
17119     { &hf_ansi_map_randomVariableReauthentication,
17120       { "randomVariableReauthentication", "ansi_map.randomVariableReauthentication",
17121         FT_BYTES, BASE_NONE, NULL, 0,
17122         "ansi_map.RandomVariableReauthentication", HFILL }},
17123     { &hf_ansi_map_meid,
17124       { "meid", "ansi_map.meid",
17125         FT_BYTES, BASE_NONE, NULL, 0,
17126         "ansi_map.MEID", HFILL }},
17127     { &hf_ansi_map_mobileStationMIN,
17128       { "mobileStationMIN", "ansi_map.mobileStationMIN",
17129         FT_NONE, BASE_NONE, NULL, 0,
17130         "ansi_map.MobileStationMIN", HFILL }},
17131     { &hf_ansi_map_mscid,
17132       { "mscid", "ansi_map.mscid",
17133         FT_BYTES, BASE_NONE, NULL, 0,
17134         "ansi_map.MSCID", HFILL }},
17135     { &hf_ansi_map_randomVariableSSD,
17136       { "randomVariableSSD", "ansi_map.randomVariableSSD",
17137         FT_BYTES, BASE_NONE, NULL, 0,
17138         "ansi_map.RandomVariableSSD", HFILL }},
17139     { &hf_ansi_map_randomVariableUniqueChallenge,
17140       { "randomVariableUniqueChallenge", "ansi_map.randomVariableUniqueChallenge",
17141         FT_BYTES, BASE_NONE, NULL, 0,
17142         "ansi_map.RandomVariableUniqueChallenge", HFILL }},
17143     { &hf_ansi_map_routingDigits,
17144       { "routingDigits", "ansi_map.routingDigits",
17145         FT_BYTES, BASE_NONE, NULL, 0,
17146         "ansi_map.RoutingDigits", HFILL }},
17147     { &hf_ansi_map_senderIdentificationNumber,
17148       { "senderIdentificationNumber", "ansi_map.senderIdentificationNumber",
17149         FT_NONE, BASE_NONE, NULL, 0,
17150         "ansi_map.SenderIdentificationNumber", HFILL }},
17151     { &hf_ansi_map_sharedSecretData,
17152       { "sharedSecretData", "ansi_map.sharedSecretData",
17153         FT_BYTES, BASE_NONE, NULL, 0,
17154         "ansi_map.SharedSecretData", HFILL }},
17155     { &hf_ansi_map_signalingMessageEncryptionKey,
17156       { "signalingMessageEncryptionKey", "ansi_map.signalingMessageEncryptionKey",
17157         FT_BYTES, BASE_NONE, NULL, 0,
17158         "ansi_map.SignalingMessageEncryptionKey", HFILL }},
17159     { &hf_ansi_map_ssdnotShared,
17160       { "ssdnotShared", "ansi_map.ssdnotShared",
17161         FT_UINT32, BASE_DEC, VALS(ansi_map_SSDNotShared_vals), 0,
17162         "ansi_map.SSDNotShared", HFILL }},
17163     { &hf_ansi_map_updateCount,
17164       { "updateCount", "ansi_map.updateCount",
17165         FT_UINT32, BASE_DEC, VALS(ansi_map_UpdateCount_vals), 0,
17166         "ansi_map.UpdateCount", HFILL }},
17167     { &hf_ansi_map_interMSCCircuitID,
17168       { "interMSCCircuitID", "ansi_map.interMSCCircuitID",
17169         FT_NONE, BASE_NONE, NULL, 0,
17170         "ansi_map.InterMSCCircuitID", HFILL }},
17171     { &hf_ansi_map_mobileIdentificationNumber,
17172       { "mobileIdentificationNumber", "ansi_map.mobileIdentificationNumber",
17173         FT_NONE, BASE_NONE, NULL, 0,
17174         "ansi_map.MobileIdentificationNumber", HFILL }},
17175     { &hf_ansi_map_countUpdateReport,
17176       { "countUpdateReport", "ansi_map.countUpdateReport",
17177         FT_UINT8, BASE_DEC, VALS(ansi_map_CountUpdateReport_vals), 0,
17178         "ansi_map.CountUpdateReport", HFILL }},
17179     { &hf_ansi_map_uniqueChallengeReport,
17180       { "uniqueChallengeReport", "ansi_map.uniqueChallengeReport",
17181         FT_UINT8, BASE_DEC, VALS(ansi_map_UniqueChallengeReport_vals), 0,
17182         "ansi_map.UniqueChallengeReport", HFILL }},
17183     { &hf_ansi_map_reportType,
17184       { "reportType", "ansi_map.reportType",
17185         FT_UINT32, BASE_DEC, VALS(ansi_map_ReportType_vals), 0,
17186         "ansi_map.ReportType", HFILL }},
17187     { &hf_ansi_map_systemAccessType,
17188       { "systemAccessType", "ansi_map.systemAccessType",
17189         FT_UINT32, BASE_DEC, VALS(ansi_map_SystemAccessType_vals), 0,
17190         "ansi_map.SystemAccessType", HFILL }},
17191     { &hf_ansi_map_systemCapabilities,
17192       { "systemCapabilities", "ansi_map.systemCapabilities",
17193         FT_BYTES, BASE_NONE, NULL, 0,
17194         "ansi_map.SystemCapabilities", HFILL }},
17195     { &hf_ansi_map_callHistoryCountExpected,
17196       { "callHistoryCountExpected", "ansi_map.callHistoryCountExpected",
17197         FT_UINT32, BASE_DEC, NULL, 0,
17198         "ansi_map.CallHistoryCountExpected", HFILL }},
17199     { &hf_ansi_map_reportType2,
17200       { "reportType2", "ansi_map.reportType2",
17201         FT_UINT32, BASE_DEC, VALS(ansi_map_ReportType_vals), 0,
17202         "ansi_map.ReportType", HFILL }},
17203     { &hf_ansi_map_terminalType,
17204       { "terminalType", "ansi_map.terminalType",
17205         FT_UINT32, BASE_DEC, VALS(ansi_map_TerminalType_vals), 0,
17206         "ansi_map.TerminalType", HFILL }},
17207     { &hf_ansi_map_authenticationData,
17208       { "authenticationData", "ansi_map.authenticationData",
17209         FT_BYTES, BASE_NONE, NULL, 0,
17210         "ansi_map.AuthenticationData", HFILL }},
17211     { &hf_ansi_map_authenticationResponse,
17212       { "authenticationResponse", "ansi_map.authenticationResponse",
17213         FT_BYTES, BASE_NONE, NULL, 0,
17214         "ansi_map.AuthenticationResponse", HFILL }},
17215     { &hf_ansi_map_cdmaNetworkIdentification,
17216       { "cdmaNetworkIdentification", "ansi_map.cdmaNetworkIdentification",
17217         FT_BYTES, BASE_NONE, NULL, 0,
17218         "ansi_map.CDMANetworkIdentification", HFILL }},
17219     { &hf_ansi_map_confidentialityModes,
17220       { "confidentialityModes", "ansi_map.confidentialityModes",
17221         FT_BYTES, BASE_NONE, NULL, 0,
17222         "ansi_map.ConfidentialityModes", HFILL }},
17223     { &hf_ansi_map_controlChannelMode,
17224       { "controlChannelMode", "ansi_map.controlChannelMode",
17225         FT_UINT8, BASE_DEC, VALS(ansi_map_ControlChannelMode_vals), 0,
17226         "ansi_map.ControlChannelMode", HFILL }},
17227     { &hf_ansi_map_digits,
17228       { "digits", "ansi_map.digits",
17229         FT_NONE, BASE_NONE, NULL, 0,
17230         "ansi_map.Digits", HFILL }},
17231     { &hf_ansi_map_pc_ssn,
17232       { "pc-ssn", "ansi_map.pc_ssn",
17233         FT_BYTES, BASE_NONE, NULL, 0,
17234         "ansi_map.PC_SSN", HFILL }},
17235     { &hf_ansi_map_randomVariable,
17236       { "randomVariable", "ansi_map.randomVariable",
17237         FT_BYTES, BASE_NONE, NULL, 0,
17238         "ansi_map.RandomVariable", HFILL }},
17239     { &hf_ansi_map_serviceRedirectionCause,
17240       { "serviceRedirectionCause", "ansi_map.serviceRedirectionCause",
17241         FT_UINT8, BASE_DEC, VALS(ansi_map_ServiceRedirectionCause_type_vals), 0,
17242         "ansi_map.ServiceRedirectionCause", HFILL }},
17243     { &hf_ansi_map_suspiciousAccess,
17244       { "suspiciousAccess", "ansi_map.suspiciousAccess",
17245         FT_UINT32, BASE_DEC, VALS(ansi_map_SuspiciousAccess_vals), 0,
17246         "ansi_map.SuspiciousAccess", HFILL }},
17247     { &hf_ansi_map_transactionCapability,
17248       { "transactionCapability", "ansi_map.transactionCapability",
17249         FT_BYTES, BASE_NONE, NULL, 0,
17250         "ansi_map.TransactionCapability", HFILL }},
17251     { &hf_ansi_map_analogRedirectRecord,
17252       { "analogRedirectRecord", "ansi_map.analogRedirectRecord",
17253         FT_NONE, BASE_NONE, NULL, 0,
17254         "ansi_map.AnalogRedirectRecord", HFILL }},
17255     { &hf_ansi_map_cdmaRedirectRecord,
17256       { "cdmaRedirectRecord", "ansi_map.cdmaRedirectRecord",
17257         FT_NONE, BASE_NONE, NULL, 0,
17258         "ansi_map.CDMARedirectRecord", HFILL }},
17259     { &hf_ansi_map_dataKey,
17260       { "dataKey", "ansi_map.dataKey",
17261         FT_BYTES, BASE_NONE, NULL, 0,
17262         "ansi_map.DataKey", HFILL }},
17263     { &hf_ansi_map_roamingIndication,
17264       { "roamingIndication", "ansi_map.roamingIndication",
17265         FT_BYTES, BASE_NONE, NULL, 0,
17266         "ansi_map.RoamingIndication", HFILL }},
17267     { &hf_ansi_map_serviceRedirectionInfo,
17268       { "serviceRedirectionInfo", "ansi_map.serviceRedirectionInfo",
17269         FT_BYTES, BASE_NONE, NULL, 0,
17270         "ansi_map.ServiceRedirectionInfo", HFILL }},
17271     { &hf_ansi_map_voicePrivacyMask,
17272       { "voicePrivacyMask", "ansi_map.voicePrivacyMask",
17273         FT_BYTES, BASE_NONE, NULL, 0,
17274         "ansi_map.VoicePrivacyMask", HFILL }},
17275     { &hf_ansi_map_reauthenticationReport,
17276       { "reauthenticationReport", "ansi_map.reauthenticationReport",
17277         FT_UINT8, BASE_DEC, VALS(ansi_map_ReauthenticationReport_vals), 0,
17278         "ansi_map.ReauthenticationReport", HFILL }},
17279     { &hf_ansi_map_serviceIndicator,
17280       { "serviceIndicator", "ansi_map.serviceIndicator",
17281         FT_UINT8, BASE_DEC, VALS(ansi_map_ServiceIndicator_vals), 0,
17282         "ansi_map.ServiceIndicator", HFILL }},
17283     { &hf_ansi_map_signalingMessageEncryptionReport,
17284       { "signalingMessageEncryptionReport", "ansi_map.signalingMessageEncryptionReport",
17285         FT_UINT8, BASE_DEC, VALS(ansi_map_SMEReport_vals), 0,
17286         "ansi_map.SignalingMessageEncryptionReport", HFILL }},
17287     { &hf_ansi_map_ssdUpdateReport,
17288       { "ssdUpdateReport", "ansi_map.ssdUpdateReport",
17289         FT_UINT16, BASE_DEC, VALS(ansi_map_SSDUpdateReport_vals), 0,
17290         "ansi_map.SSDUpdateReport", HFILL }},
17291     { &hf_ansi_map_voicePrivacyReport,
17292       { "voicePrivacyReport", "ansi_map.voicePrivacyReport",
17293         FT_UINT8, BASE_DEC, VALS(ansi_map_VoicePrivacyReport_vals), 0,
17294         "ansi_map.VoicePrivacyReport", HFILL }},
17295     { &hf_ansi_map_randomVariableBaseStation,
17296       { "randomVariableBaseStation", "ansi_map.randomVariableBaseStation",
17297         FT_BYTES, BASE_NONE, NULL, 0,
17298         "ansi_map.RandomVariableBaseStation", HFILL }},
17299     { &hf_ansi_map_authenticationResponseBaseStation,
17300       { "authenticationResponseBaseStation", "ansi_map.authenticationResponseBaseStation",
17301         FT_BYTES, BASE_NONE, NULL, 0,
17302         "ansi_map.AuthenticationResponseBaseStation", HFILL }},
17303     { &hf_ansi_map_billingID,
17304       { "billingID", "ansi_map.billingID",
17305         FT_BYTES, BASE_NONE, NULL, 0,
17306         "ansi_map.BillingID", HFILL }},
17307     { &hf_ansi_map_channelData,
17308       { "channelData", "ansi_map.channelData",
17309         FT_BYTES, BASE_NONE, NULL, 0,
17310         "ansi_map.ChannelData", HFILL }},
17311     { &hf_ansi_map_interSwitchCount,
17312       { "interSwitchCount", "ansi_map.interSwitchCount",
17313         FT_UINT32, BASE_DEC, NULL, 0,
17314         "ansi_map.InterSwitchCount", HFILL }},
17315     { &hf_ansi_map_servingCellID,
17316       { "servingCellID", "ansi_map.servingCellID",
17317         FT_BYTES, BASE_NONE, NULL, 0,
17318         "ansi_map.ServingCellID", HFILL }},
17319     { &hf_ansi_map_stationClassMark,
17320       { "stationClassMark", "ansi_map.stationClassMark",
17321         FT_BYTES, BASE_NONE, NULL, 0,
17322         "ansi_map.StationClassMark", HFILL }},
17323     { &hf_ansi_map_targetCellID,
17324       { "targetCellID", "ansi_map.targetCellID",
17325         FT_BYTES, BASE_NONE, NULL, 0,
17326         "ansi_map.TargetCellID", HFILL }},
17327     { &hf_ansi_map_handoffReason,
17328       { "handoffReason", "ansi_map.handoffReason",
17329         FT_UINT32, BASE_DEC, VALS(ansi_map_HandoffReason_vals), 0,
17330         "ansi_map.HandoffReason", HFILL }},
17331     { &hf_ansi_map_handoffState,
17332       { "handoffState", "ansi_map.handoffState",
17333         FT_BYTES, BASE_NONE, NULL, 0,
17334         "ansi_map.HandoffState", HFILL }},
17335     { &hf_ansi_map_tdmaBurstIndicator,
17336       { "tdmaBurstIndicator", "ansi_map.tdmaBurstIndicator",
17337         FT_BYTES, BASE_NONE, NULL, 0,
17338         "ansi_map.TDMABurstIndicator", HFILL }},
17339     { &hf_ansi_map_tdmaCallMode,
17340       { "tdmaCallMode", "ansi_map.tdmaCallMode",
17341         FT_BYTES, BASE_NONE, NULL, 0,
17342         "ansi_map.TDMACallMode", HFILL }},
17343     { &hf_ansi_map_tdmaChannelData,
17344       { "tdmaChannelData", "ansi_map.tdmaChannelData",
17345         FT_BYTES, BASE_NONE, NULL, 0,
17346         "ansi_map.TDMAChannelData", HFILL }},
17347     { &hf_ansi_map_baseStationManufacturerCode,
17348       { "baseStationManufacturerCode", "ansi_map.baseStationManufacturerCode",
17349         FT_BYTES, BASE_NONE, NULL, 0,
17350         "ansi_map.BaseStationManufacturerCode", HFILL }},
17351     { &hf_ansi_map_alertCode,
17352       { "alertCode", "ansi_map.alertCode",
17353         FT_BYTES, BASE_NONE, NULL, 0,
17354         "ansi_map.AlertCode", HFILL }},
17355     { &hf_ansi_map_cdma2000HandoffInvokeIOSData,
17356       { "cdma2000HandoffInvokeIOSData", "ansi_map.cdma2000HandoffInvokeIOSData",
17357         FT_NONE, BASE_NONE, NULL, 0,
17358         "ansi_map.CDMA2000HandoffInvokeIOSData", HFILL }},
17359     { &hf_ansi_map_cdmaBandClassList,
17360       { "cdmaBandClassList", "ansi_map.cdmaBandClassList",
17361         FT_UINT32, BASE_DEC, NULL, 0,
17362         "ansi_map.CDMABandClassList", HFILL }},
17363     { &hf_ansi_map_cdmaCallMode,
17364       { "cdmaCallMode", "ansi_map.cdmaCallMode",
17365         FT_BYTES, BASE_NONE, NULL, 0,
17366         "ansi_map.CDMACallMode", HFILL }},
17367     { &hf_ansi_map_cdmaChannelData,
17368       { "cdmaChannelData", "ansi_map.cdmaChannelData",
17369         FT_BYTES, BASE_NONE, NULL, 0,
17370         "ansi_map.CDMAChannelData", HFILL }},
17371     { &hf_ansi_map_cdmaConnectionReferenceList,
17372       { "cdmaConnectionReferenceList", "ansi_map.cdmaConnectionReferenceList",
17373         FT_UINT32, BASE_DEC, NULL, 0,
17374         "ansi_map.CDMAConnectionReferenceList", HFILL }},
17375     { &hf_ansi_map_cdmaMobileProtocolRevision,
17376       { "cdmaMobileProtocolRevision", "ansi_map.cdmaMobileProtocolRevision",
17377         FT_BYTES, BASE_NONE, NULL, 0,
17378         "ansi_map.CDMAMobileProtocolRevision", HFILL }},
17379     { &hf_ansi_map_cdmaMSMeasuredChannelIdentity,
17380       { "cdmaMSMeasuredChannelIdentity", "ansi_map.cdmaMSMeasuredChannelIdentity",
17381         FT_BYTES, BASE_NONE, NULL, 0,
17382         "ansi_map.CDMAMSMeasuredChannelIdentity", HFILL }},
17383     { &hf_ansi_map_cdmaServiceConfigurationRecord,
17384       { "cdmaServiceConfigurationRecord", "ansi_map.cdmaServiceConfigurationRecord",
17385         FT_BYTES, BASE_NONE, NULL, 0,
17386         "ansi_map.CDMAServiceConfigurationRecord", HFILL }},
17387     { &hf_ansi_map_cdmaServiceOptionList,
17388       { "cdmaServiceOptionList", "ansi_map.cdmaServiceOptionList",
17389         FT_UINT32, BASE_DEC, NULL, 0,
17390         "ansi_map.CDMAServiceOptionList", HFILL }},
17391     { &hf_ansi_map_cdmaServingOneWayDelay,
17392       { "cdmaServingOneWayDelay", "ansi_map.cdmaServingOneWayDelay",
17393         FT_BYTES, BASE_NONE, NULL, 0,
17394         "ansi_map.CDMAServingOneWayDelay", HFILL }},
17395     { &hf_ansi_map_cdmaStationClassMark,
17396       { "cdmaStationClassMark", "ansi_map.cdmaStationClassMark",
17397         FT_BYTES, BASE_NONE, NULL, 0,
17398         "ansi_map.CDMAStationClassMark", HFILL }},
17399     { &hf_ansi_map_cdmaStationClassMark2,
17400       { "cdmaStationClassMark2", "ansi_map.cdmaStationClassMark2",
17401         FT_BYTES, BASE_NONE, NULL, 0,
17402         "ansi_map.CDMAStationClassMark2", HFILL }},
17403     { &hf_ansi_map_cdmaTargetMAHOList,
17404       { "cdmaTargetMAHOList", "ansi_map.cdmaTargetMAHOList",
17405         FT_UINT32, BASE_DEC, NULL, 0,
17406         "ansi_map.CDMATargetMAHOList", HFILL }},
17407     { &hf_ansi_map_cdmaTargetMeasurementList,
17408       { "cdmaTargetMeasurementList", "ansi_map.cdmaTargetMeasurementList",
17409         FT_UINT32, BASE_DEC, NULL, 0,
17410         "ansi_map.CDMATargetMeasurementList", HFILL }},
17411     { &hf_ansi_map_dataPrivacyParameters,
17412       { "dataPrivacyParameters", "ansi_map.dataPrivacyParameters",
17413         FT_BYTES, BASE_NONE, NULL, 0,
17414         "ansi_map.DataPrivacyParameters", HFILL }},
17415     { &hf_ansi_map_ilspInformation,
17416       { "ilspInformation", "ansi_map.ilspInformation",
17417         FT_UINT8, BASE_DEC, VALS(ansi_map_islp_type_vals), 0,
17418         "ansi_map.ISLPInformation", HFILL }},
17419     { &hf_ansi_map_msLocation,
17420       { "msLocation", "ansi_map.msLocation",
17421         FT_BYTES, BASE_NONE, NULL, 0,
17422         "ansi_map.MSLocation", HFILL }},
17423     { &hf_ansi_map_nampsCallMode,
17424       { "nampsCallMode", "ansi_map.nampsCallMode",
17425         FT_BYTES, BASE_NONE, NULL, 0,
17426         "ansi_map.NAMPSCallMode", HFILL }},
17427     { &hf_ansi_map_nampsChannelData,
17428       { "nampsChannelData", "ansi_map.nampsChannelData",
17429         FT_BYTES, BASE_NONE, NULL, 0,
17430         "ansi_map.NAMPSChannelData", HFILL }},
17431     { &hf_ansi_map_nonPublicData,
17432       { "nonPublicData", "ansi_map.nonPublicData",
17433         FT_BYTES, BASE_NONE, NULL, 0,
17434         "ansi_map.NonPublicData", HFILL }},
17435     { &hf_ansi_map_pdsnAddress,
17436       { "pdsnAddress", "ansi_map.pdsnAddress",
17437         FT_BYTES, BASE_NONE, NULL, 0,
17438         "ansi_map.PDSNAddress", HFILL }},
17439     { &hf_ansi_map_pdsnProtocolType,
17440       { "pdsnProtocolType", "ansi_map.pdsnProtocolType",
17441         FT_BYTES, BASE_NONE, NULL, 0,
17442         "ansi_map.PDSNProtocolType", HFILL }},
17443     { &hf_ansi_map_qosPriority,
17444       { "qosPriority", "ansi_map.qosPriority",
17445         FT_BYTES, BASE_NONE, NULL, 0,
17446         "ansi_map.QoSPriority", HFILL }},
17447     { &hf_ansi_map_systemOperatorCode,
17448       { "systemOperatorCode", "ansi_map.systemOperatorCode",
17449         FT_BYTES, BASE_NONE, NULL, 0,
17450         "ansi_map.SystemOperatorCode", HFILL }},
17451     { &hf_ansi_map_tdmaBandwidth,
17452       { "tdmaBandwidth", "ansi_map.tdmaBandwidth",
17453         FT_UINT8, BASE_DEC, VALS(ansi_map_TDMABandwidth_vals), 0x0f,
17454         "ansi_map.TDMABandwidth", HFILL }},
17455     { &hf_ansi_map_tdmaServiceCode,
17456       { "tdmaServiceCode", "ansi_map.tdmaServiceCode",
17457         FT_UINT8, BASE_DEC, VALS(ansi_map_TDMAServiceCode_vals), 0,
17458         "ansi_map.TDMAServiceCode", HFILL }},
17459     { &hf_ansi_map_tdmaTerminalCapability,
17460       { "tdmaTerminalCapability", "ansi_map.tdmaTerminalCapability",
17461         FT_BYTES, BASE_NONE, NULL, 0,
17462         "ansi_map.TDMATerminalCapability", HFILL }},
17463     { &hf_ansi_map_tdmaVoiceCoder,
17464       { "tdmaVoiceCoder", "ansi_map.tdmaVoiceCoder",
17465         FT_BYTES, BASE_NONE, NULL, 0,
17466         "ansi_map.TDMAVoiceCoder", HFILL }},
17467     { &hf_ansi_map_userZoneData,
17468       { "userZoneData", "ansi_map.userZoneData",
17469         FT_BYTES, BASE_NONE, NULL, 0,
17470         "ansi_map.UserZoneData", HFILL }},
17471     { &hf_ansi_map_bsmcstatus,
17472       { "bsmcstatus", "ansi_map.bsmcstatus",
17473         FT_UINT8, BASE_DEC, VALS(ansi_map_BSMCStatus_vals), 0x03,
17474         "ansi_map.BSMCStatus", HFILL }},
17475     { &hf_ansi_map_cdma2000HandoffResponseIOSData,
17476       { "cdma2000HandoffResponseIOSData", "ansi_map.cdma2000HandoffResponseIOSData",
17477         FT_NONE, BASE_NONE, NULL, 0,
17478         "ansi_map.CDMA2000HandoffResponseIOSData", HFILL }},
17479     { &hf_ansi_map_cdmaCodeChannelList,
17480       { "cdmaCodeChannelList", "ansi_map.cdmaCodeChannelList",
17481         FT_UINT32, BASE_DEC, NULL, 0,
17482         "ansi_map.CDMACodeChannelList", HFILL }},
17483     { &hf_ansi_map_cdmaSearchParameters,
17484       { "cdmaSearchParameters", "ansi_map.cdmaSearchParameters",
17485         FT_BYTES, BASE_NONE, NULL, 0,
17486         "ansi_map.CDMASearchParameters", HFILL }},
17487     { &hf_ansi_map_cdmaSearchWindow,
17488       { "cdmaSearchWindow", "ansi_map.cdmaSearchWindow",
17489         FT_BYTES, BASE_NONE, NULL, 0,
17490         "ansi_map.CDMASearchWindow", HFILL }},
17491     { &hf_ansi_map_sOCStatus,
17492       { "sOCStatus", "ansi_map.sOCStatus",
17493         FT_UINT8, BASE_DEC, VALS(ansi_map_SOCStatus_vals), 0x03,
17494         "ansi_map.SOCStatus", HFILL }},
17495     { &hf_ansi_map_releaseReason,
17496       { "releaseReason", "ansi_map.releaseReason",
17497         FT_UINT32, BASE_DEC, VALS(ansi_map_ReleaseReason_vals), 0,
17498         "ansi_map.ReleaseReason", HFILL }},
17499     { &hf_ansi_map_acgencountered,
17500       { "acgencountered", "ansi_map.acgencountered",
17501         FT_BYTES, BASE_NONE, NULL, 0,
17502         "ansi_map.ACGEncountered", HFILL }},
17503     { &hf_ansi_map_callingPartyName,
17504       { "callingPartyName", "ansi_map.callingPartyName",
17505         FT_BYTES, BASE_NONE, NULL, 0,
17506         "ansi_map.CallingPartyName", HFILL }},
17507     { &hf_ansi_map_callingPartyNumberDigits1,
17508       { "callingPartyNumberDigits1", "ansi_map.callingPartyNumberDigits1",
17509         FT_BYTES, BASE_NONE, NULL, 0,
17510         "ansi_map.CallingPartyNumberDigits1", HFILL }},
17511     { &hf_ansi_map_callingPartyNumberDigits2,
17512       { "callingPartyNumberDigits2", "ansi_map.callingPartyNumberDigits2",
17513         FT_BYTES, BASE_NONE, NULL, 0,
17514         "ansi_map.CallingPartyNumberDigits2", HFILL }},
17515     { &hf_ansi_map_callingPartySubaddress,
17516       { "callingPartySubaddress", "ansi_map.callingPartySubaddress",
17517         FT_BYTES, BASE_NONE, NULL, 0,
17518         "ansi_map.CallingPartySubaddress", HFILL }},
17519     { &hf_ansi_map_conferenceCallingIndicator,
17520       { "conferenceCallingIndicator", "ansi_map.conferenceCallingIndicator",
17521         FT_BYTES, BASE_NONE, NULL, 0,
17522         "ansi_map.ConferenceCallingIndicator", HFILL }},
17523     { &hf_ansi_map_mobileDirectoryNumber,
17524       { "mobileDirectoryNumber", "ansi_map.mobileDirectoryNumber",
17525         FT_NONE, BASE_NONE, NULL, 0,
17526         "ansi_map.MobileDirectoryNumber", HFILL }},
17527     { &hf_ansi_map_mSCIdentificationNumber,
17528       { "mSCIdentificationNumber", "ansi_map.mSCIdentificationNumber",
17529         FT_NONE, BASE_NONE, NULL, 0,
17530         "ansi_map.MSCIdentificationNumber", HFILL }},
17531     { &hf_ansi_map_oneTimeFeatureIndicator,
17532       { "oneTimeFeatureIndicator", "ansi_map.oneTimeFeatureIndicator",
17533         FT_BYTES, BASE_NONE, NULL, 0,
17534         "ansi_map.OneTimeFeatureIndicator", HFILL }},
17535     { &hf_ansi_map_systemMyTypeCode,
17536       { "systemMyTypeCode", "ansi_map.systemMyTypeCode",
17537         FT_UINT32, BASE_DEC, VALS(ansi_map_SystemMyTypeCode_vals), 0,
17538         "ansi_map.SystemMyTypeCode", HFILL }},
17539     { &hf_ansi_map_featureResult,
17540       { "featureResult", "ansi_map.featureResult",
17541         FT_UINT32, BASE_DEC, VALS(ansi_map_FeatureResult_vals), 0,
17542         "ansi_map.FeatureResult", HFILL }},
17543     { &hf_ansi_map_accessDeniedReason,
17544       { "accessDeniedReason", "ansi_map.accessDeniedReason",
17545         FT_UINT32, BASE_DEC, VALS(ansi_map_AccessDeniedReason_vals), 0,
17546         "ansi_map.AccessDeniedReason", HFILL }},
17547     { &hf_ansi_map_actionCode,
17548       { "actionCode", "ansi_map.actionCode",
17549         FT_UINT8, BASE_DEC, VALS(ansi_map_ActionCode_vals), 0,
17550         "ansi_map.ActionCode", HFILL }},
17551     { &hf_ansi_map_announcementList,
17552       { "announcementList", "ansi_map.announcementList",
17553         FT_NONE, BASE_NONE, NULL, 0,
17554         "ansi_map.AnnouncementList", HFILL }},
17555     { &hf_ansi_map_callingPartyNumberString1,
17556       { "callingPartyNumberString1", "ansi_map.callingPartyNumberString1",
17557         FT_NONE, BASE_NONE, NULL, 0,
17558         "ansi_map.CallingPartyNumberString1", HFILL }},
17559     { &hf_ansi_map_callingPartyNumberString2,
17560       { "callingPartyNumberString2", "ansi_map.callingPartyNumberString2",
17561         FT_NONE, BASE_NONE, NULL, 0,
17562         "ansi_map.CallingPartyNumberString2", HFILL }},
17563     { &hf_ansi_map_digits_Destination,
17564       { "digits-Destination", "ansi_map.digits_Destination",
17565         FT_NONE, BASE_NONE, NULL, 0,
17566         "ansi_map.Digits", HFILL }},
17567     { &hf_ansi_map_displayText,
17568       { "displayText", "ansi_map.displayText",
17569         FT_BYTES, BASE_NONE, NULL, 0,
17570         "ansi_map.DisplayText", HFILL }},
17571     { &hf_ansi_map_displayText2,
17572       { "displayText2", "ansi_map.displayText2",
17573         FT_BYTES, BASE_NONE, NULL, 0,
17574         "ansi_map.DisplayText2", HFILL }},
17575     { &hf_ansi_map_dmh_AccountCodeDigits,
17576       { "dmh-AccountCodeDigits", "ansi_map.dmh_AccountCodeDigits",
17577         FT_BYTES, BASE_NONE, NULL, 0,
17578         "ansi_map.DMH_AccountCodeDigits", HFILL }},
17579     { &hf_ansi_map_dmh_AlternateBillingDigits,
17580       { "dmh-AlternateBillingDigits", "ansi_map.dmh_AlternateBillingDigits",
17581         FT_BYTES, BASE_NONE, NULL, 0,
17582         "ansi_map.DMH_AlternateBillingDigits", HFILL }},
17583     { &hf_ansi_map_dmh_BillingDigits,
17584       { "dmh-BillingDigits", "ansi_map.dmh_BillingDigits",
17585         FT_BYTES, BASE_NONE, NULL, 0,
17586         "ansi_map.DMH_BillingDigits", HFILL }},
17587     { &hf_ansi_map_dmh_RedirectionIndicator,
17588       { "dmh-RedirectionIndicator", "ansi_map.dmh_RedirectionIndicator",
17589         FT_UINT32, BASE_DEC, VALS(ansi_map_DMH_RedirectionIndicator_vals), 0,
17590         "ansi_map.DMH_RedirectionIndicator", HFILL }},
17591     { &hf_ansi_map_groupInformation,
17592       { "groupInformation", "ansi_map.groupInformation",
17593         FT_BYTES, BASE_NONE, NULL, 0,
17594         "ansi_map.GroupInformation", HFILL }},
17595     { &hf_ansi_map_noAnswerTime,
17596       { "noAnswerTime", "ansi_map.noAnswerTime",
17597         FT_BYTES, BASE_NONE, NULL, 0,
17598         "ansi_map.NoAnswerTime", HFILL }},
17599     { &hf_ansi_map_pACAIndicator,
17600       { "pACAIndicator", "ansi_map.pACAIndicator",
17601         FT_BYTES, BASE_NONE, NULL, 0,
17602         "ansi_map.PACAIndicator", HFILL }},
17603     { &hf_ansi_map_pilotNumber,
17604       { "pilotNumber", "ansi_map.pilotNumber",
17605         FT_BYTES, BASE_NONE, NULL, 0,
17606         "ansi_map.PilotNumber", HFILL }},
17607     { &hf_ansi_map_preferredLanguageIndicator,
17608       { "preferredLanguageIndicator", "ansi_map.preferredLanguageIndicator",
17609         FT_UINT8, BASE_DEC, VALS(ansi_map_PreferredLanguageIndicator_vals), 0,
17610         "ansi_map.PreferredLanguageIndicator", HFILL }},
17611     { &hf_ansi_map_redirectingNumberDigits,
17612       { "redirectingNumberDigits", "ansi_map.redirectingNumberDigits",
17613         FT_BYTES, BASE_NONE, NULL, 0,
17614         "ansi_map.RedirectingNumberDigits", HFILL }},
17615     { &hf_ansi_map_redirectingNumberString,
17616       { "redirectingNumberString", "ansi_map.redirectingNumberString",
17617         FT_BYTES, BASE_NONE, NULL, 0,
17618         "ansi_map.RedirectingNumberString", HFILL }},
17619     { &hf_ansi_map_redirectingSubaddress,
17620       { "redirectingSubaddress", "ansi_map.redirectingSubaddress",
17621         FT_BYTES, BASE_NONE, NULL, 0,
17622         "ansi_map.RedirectingSubaddress", HFILL }},
17623     { &hf_ansi_map_resumePIC,
17624       { "resumePIC", "ansi_map.resumePIC",
17625         FT_UINT32, BASE_DEC, VALS(ansi_map_ResumePIC_vals), 0,
17626         "ansi_map.ResumePIC", HFILL }},
17627     { &hf_ansi_map_terminationList,
17628       { "terminationList", "ansi_map.terminationList",
17629         FT_UINT32, BASE_DEC, NULL, 0,
17630         "ansi_map.TerminationList", HFILL }},
17631     { &hf_ansi_map_terminationTriggers,
17632       { "terminationTriggers", "ansi_map.terminationTriggers",
17633         FT_BYTES, BASE_NONE, NULL, 0,
17634         "ansi_map.TerminationTriggers", HFILL }},
17635     { &hf_ansi_map_triggerAddressList,
17636       { "triggerAddressList", "ansi_map.triggerAddressList",
17637         FT_NONE, BASE_NONE, NULL, 0,
17638         "ansi_map.TriggerAddressList", HFILL }},
17639     { &hf_ansi_map_emergencyServicesRoutingDigits,
17640       { "emergencyServicesRoutingDigits", "ansi_map.emergencyServicesRoutingDigits",
17641         FT_BYTES, BASE_NONE, NULL, 0,
17642         "ansi_map.EmergencyServicesRoutingDigits", HFILL }},
17643     { &hf_ansi_map_targetCellIDList,
17644       { "targetCellIDList", "ansi_map.targetCellIDList",
17645         FT_NONE, BASE_NONE, NULL, 0,
17646         "ansi_map.TargetCellIDList", HFILL }},
17647     { &hf_ansi_map_signalQuality,
17648       { "signalQuality", "ansi_map.signalQuality",
17649         FT_UINT32, BASE_DEC, VALS(ansi_map_SignalQuality_vals), 0,
17650         "ansi_map.SignalQuality", HFILL }},
17651     { &hf_ansi_map_targetMeasurementList,
17652       { "targetMeasurementList", "ansi_map.targetMeasurementList",
17653         FT_UINT32, BASE_DEC, NULL, 0,
17654         "ansi_map.TargetMeasurementList", HFILL }},
17655     { &hf_ansi_map_alertResult,
17656       { "alertResult", "ansi_map.alertResult",
17657         FT_UINT8, BASE_DEC, VALS(ansi_map_AlertResult_result_vals), 0,
17658         "ansi_map.AlertResult", HFILL }},
17659     { &hf_ansi_map_messageWaitingNotificationCount,
17660       { "messageWaitingNotificationCount", "ansi_map.messageWaitingNotificationCount",
17661         FT_BYTES, BASE_NONE, NULL, 0,
17662         "ansi_map.MessageWaitingNotificationCount", HFILL }},
17663     { &hf_ansi_map_messageWaitingNotificationType,
17664       { "messageWaitingNotificationType", "ansi_map.messageWaitingNotificationType",
17665         FT_BYTES, BASE_NONE, NULL, 0,
17666         "ansi_map.MessageWaitingNotificationType", HFILL }},
17667     { &hf_ansi_map_cdmaBandClass,
17668       { "cdmaBandClass", "ansi_map.cdmaBandClass",
17669         FT_BYTES, BASE_NONE, NULL, 0,
17670         "ansi_map.CDMABandClass", HFILL }},
17671     { &hf_ansi_map_cdmaServiceOption,
17672       { "cdmaServiceOption", "ansi_map.cdmaServiceOption",
17673         FT_BYTES, BASE_NONE, NULL, 0,
17674         "ansi_map.CDMAServiceOption", HFILL }},
17675     { &hf_ansi_map_cdmaSlotCycleIndex,
17676       { "cdmaSlotCycleIndex", "ansi_map.cdmaSlotCycleIndex",
17677         FT_BYTES, BASE_NONE, NULL, 0,
17678         "ansi_map.CDMASlotCycleIndex", HFILL }},
17679     { &hf_ansi_map_extendedMSCID,
17680       { "extendedMSCID", "ansi_map.extendedMSCID",
17681         FT_BYTES, BASE_NONE, NULL, 0,
17682         "ansi_map.ExtendedMSCID", HFILL }},
17683     { &hf_ansi_map_extendedSystemMyTypeCode,
17684       { "extendedSystemMyTypeCode", "ansi_map.extendedSystemMyTypeCode",
17685         FT_BYTES, BASE_NONE, NULL, 0,
17686         "ansi_map.ExtendedSystemMyTypeCode", HFILL }},
17687     { &hf_ansi_map_imsi,
17688       { "imsi", "ansi_map.imsi",
17689         FT_BYTES, BASE_NONE, NULL, 0,
17690         "gsm_map.IMSI", HFILL }},
17691     { &hf_ansi_map_legInformation,
17692       { "legInformation", "ansi_map.legInformation",
17693         FT_BYTES, BASE_NONE, NULL, 0,
17694         "ansi_map.LegInformation", HFILL }},
17695     { &hf_ansi_map_mSIDUsage,
17696       { "mSIDUsage", "ansi_map.mSIDUsage",
17697         FT_UINT8, BASE_DEC, VALS(ansi_MSIDUsage_m_or_i_vals), 0x03,
17698         "ansi_map.MSIDUsage", HFILL }},
17699     { &hf_ansi_map_networkTMSI,
17700       { "networkTMSI", "ansi_map.networkTMSI",
17701         FT_BYTES, BASE_NONE, NULL, 0,
17702         "ansi_map.NetworkTMSI", HFILL }},
17703     { &hf_ansi_map_pageCount,
17704       { "pageCount", "ansi_map.pageCount",
17705         FT_BYTES, BASE_NONE, NULL, 0,
17706         "ansi_map.PageCount", HFILL }},
17707     { &hf_ansi_map_pageIndicator,
17708       { "pageIndicator", "ansi_map.pageIndicator",
17709         FT_UINT8, BASE_DEC, VALS(ansi_map_PageIndicator_vals), 0,
17710         "ansi_map.PageIndicator", HFILL }},
17711     { &hf_ansi_map_pageResponseTime,
17712       { "pageResponseTime", "ansi_map.pageResponseTime",
17713         FT_BYTES, BASE_NONE, NULL, 0,
17714         "ansi_map.PageResponseTime", HFILL }},
17715     { &hf_ansi_map_pilotBillingID,
17716       { "pilotBillingID", "ansi_map.pilotBillingID",
17717         FT_BYTES, BASE_NONE, NULL, 0,
17718         "ansi_map.PilotBillingID", HFILL }},
17719     { &hf_ansi_map_redirectingPartyName,
17720       { "redirectingPartyName", "ansi_map.redirectingPartyName",
17721         FT_BYTES, BASE_NONE, NULL, 0,
17722         "ansi_map.RedirectingPartyName", HFILL }},
17723     { &hf_ansi_map_tdmaDataFeaturesIndicator,
17724       { "tdmaDataFeaturesIndicator", "ansi_map.tdmaDataFeaturesIndicator",
17725         FT_BYTES, BASE_NONE, NULL, 0,
17726         "ansi_map.TDMADataFeaturesIndicator", HFILL }},
17727     { &hf_ansi_map_terminationTreatment,
17728       { "terminationTreatment", "ansi_map.terminationTreatment",
17729         FT_UINT8, BASE_DEC, VALS(ansi_map_TerminationTreatment_vals), 0,
17730         "ansi_map.TerminationTreatment", HFILL }},
17731     { &hf_ansi_map_conditionallyDeniedReason,
17732       { "conditionallyDeniedReason", "ansi_map.conditionallyDeniedReason",
17733         FT_UINT32, BASE_DEC, VALS(ansi_map_ConditionallyDeniedReason_vals), 0,
17734         "ansi_map.ConditionallyDeniedReason", HFILL }},
17735     { &hf_ansi_map_pagingFrameClass,
17736       { "pagingFrameClass", "ansi_map.pagingFrameClass",
17737         FT_UINT8, BASE_DEC, VALS(ansi_map_PagingFrameClass_vals), 0x03,
17738         "ansi_map.PagingFrameClass", HFILL }},
17739     { &hf_ansi_map_pSID_RSIDList,
17740       { "pSID-RSIDList", "ansi_map.pSID_RSIDList",
17741         FT_NONE, BASE_NONE, NULL, 0,
17742         "ansi_map.PSID_RSIDList", HFILL }},
17743     { &hf_ansi_map_randc,
17744       { "randc", "ansi_map.randc",
17745         FT_BYTES, BASE_NONE, NULL, 0,
17746         "ansi_map.RANDC", HFILL }},
17747     { &hf_ansi_map_tdmaDataMode,
17748       { "tdmaDataMode", "ansi_map.tdmaDataMode",
17749         FT_BYTES, BASE_NONE, NULL, 0,
17750         "ansi_map.TDMADataMode", HFILL }},
17751     { &hf_ansi_map_changeServiceAttributes,
17752       { "changeServiceAttributes", "ansi_map.changeServiceAttributes",
17753         FT_BYTES, BASE_NONE, NULL, 0,
17754         "ansi_map.ChangeServiceAttributes", HFILL }},
17755     { &hf_ansi_map_edirectingSubaddress,
17756       { "edirectingSubaddress", "ansi_map.edirectingSubaddress",
17757         FT_BYTES, BASE_NONE, NULL, 0,
17758         "ansi_map.RedirectingSubaddress", HFILL }},
17759     { &hf_ansi_map_setupResult,
17760       { "setupResult", "ansi_map.setupResult",
17761         FT_UINT8, BASE_DEC, VALS(ansi_map_SetupResult_vals), 0,
17762         "ansi_map.SetupResult", HFILL }},
17763     { &hf_ansi_map_terminationAccessType,
17764       { "terminationAccessType", "ansi_map.terminationAccessType",
17765         FT_UINT8, BASE_DEC, VALS(ansi_map_TerminationAccessType_vals), 0,
17766         "ansi_map.TerminationAccessType", HFILL }},
17767     { &hf_ansi_map_triggerType,
17768       { "triggerType", "ansi_map.triggerType",
17769         FT_UINT32, BASE_DEC, VALS(ansi_map_TriggerType_vals), 0,
17770         "ansi_map.TriggerType", HFILL }},
17771     { &hf_ansi_map_winCapability,
17772       { "winCapability", "ansi_map.winCapability",
17773         FT_NONE, BASE_NONE, NULL, 0,
17774         "ansi_map.WINCapability", HFILL }},
17775     { &hf_ansi_map_callingPartyCategory,
17776       { "callingPartyCategory", "ansi_map.callingPartyCategory",
17777         FT_BYTES, BASE_NONE, NULL, 0,
17778         "ansi_map.CallingPartyCategory", HFILL }},
17779     { &hf_ansi_map_controlNetworkID,
17780       { "controlNetworkID", "ansi_map.controlNetworkID",
17781         FT_BYTES, BASE_NONE, NULL, 0,
17782         "ansi_map.ControlNetworkID", HFILL }},
17783     { &hf_ansi_map_digits_carrier,
17784       { "digits-carrier", "ansi_map.digits_carrier",
17785         FT_NONE, BASE_NONE, NULL, 0,
17786         "ansi_map.Digits", HFILL }},
17787     { &hf_ansi_map_digits_dest,
17788       { "digits-dest", "ansi_map.digits_dest",
17789         FT_NONE, BASE_NONE, NULL, 0,
17790         "ansi_map.Digits", HFILL }},
17791     { &hf_ansi_map_dmh_ServiceID,
17792       { "dmh-ServiceID", "ansi_map.dmh_ServiceID",
17793         FT_BYTES, BASE_NONE, NULL, 0,
17794         "ansi_map.DMH_ServiceID", HFILL }},
17795     { &hf_ansi_map_lectronicSerialNumber,
17796       { "lectronicSerialNumber", "ansi_map.lectronicSerialNumber",
17797         FT_BYTES, BASE_NONE, NULL, 0,
17798         "ansi_map.ElectronicSerialNumber", HFILL }},
17799     { &hf_ansi_map_deregistrationType,
17800       { "deregistrationType", "ansi_map.deregistrationType",
17801         FT_UINT32, BASE_DEC, VALS(ansi_map_DeregistrationType_vals), 0,
17802         "ansi_map.DeregistrationType", HFILL }},
17803     { &hf_ansi_map_servicesResult,
17804       { "servicesResult", "ansi_map.servicesResult",
17805         FT_UINT8, BASE_DEC, VALS(ansi_map_ServicesResult_ppr_vals), 0x03,
17806         "ansi_map.ServicesResult", HFILL }},
17807     { &hf_ansi_map_sms_MessageWaitingIndicator,
17808       { "sms-MessageWaitingIndicator", "ansi_map.sms_MessageWaitingIndicator",
17809         FT_NONE, BASE_NONE, NULL, 0,
17810         "ansi_map.SMS_MessageWaitingIndicator", HFILL }},
17811     { &hf_ansi_map_originationTriggers,
17812       { "originationTriggers", "ansi_map.originationTriggers",
17813         FT_BYTES, BASE_NONE, NULL, 0,
17814         "ansi_map.OriginationTriggers", HFILL }},
17815     { &hf_ansi_map_featureIndicator,
17816       { "featureIndicator", "ansi_map.featureIndicator",
17817         FT_UINT32, BASE_DEC, VALS(ansi_map_FeatureIndicator_vals), 0,
17818         "ansi_map.FeatureIndicator", HFILL }},
17819     { &hf_ansi_map_dmh_ChargeInformation,
17820       { "dmh-ChargeInformation", "ansi_map.dmh_ChargeInformation",
17821         FT_BYTES, BASE_NONE, NULL, 0,
17822         "ansi_map.DMH_ChargeInformation", HFILL }},
17823     { &hf_ansi_map_qualificationInformationCode,
17824       { "qualificationInformationCode", "ansi_map.qualificationInformationCode",
17825         FT_UINT32, BASE_DEC, VALS(ansi_map_QualificationInformationCode_vals), 0,
17826         "ansi_map.QualificationInformationCode", HFILL }},
17827     { &hf_ansi_map_authorizationDenied,
17828       { "authorizationDenied", "ansi_map.authorizationDenied",
17829         FT_UINT32, BASE_DEC, VALS(ansi_map_AuthorizationDenied_vals), 0,
17830         "ansi_map.AuthorizationDenied", HFILL }},
17831     { &hf_ansi_map_authorizationPeriod,
17832       { "authorizationPeriod", "ansi_map.authorizationPeriod",
17833         FT_BYTES, BASE_NONE, NULL, 0,
17834         "ansi_map.AuthorizationPeriod", HFILL }},
17835     { &hf_ansi_map_deniedAuthorizationPeriod,
17836       { "deniedAuthorizationPeriod", "ansi_map.deniedAuthorizationPeriod",
17837         FT_BYTES, BASE_NONE, NULL, 0,
17838         "ansi_map.DeniedAuthorizationPeriod", HFILL }},
17839     { &hf_ansi_map_authenticationCapability,
17840       { "authenticationCapability", "ansi_map.authenticationCapability",
17841         FT_UINT8, BASE_DEC, VALS(ansi_map_AuthenticationCapability_vals), 0,
17842         "ansi_map.AuthenticationCapability", HFILL }},
17843     { &hf_ansi_map_callingFeaturesIndicator,
17844       { "callingFeaturesIndicator", "ansi_map.callingFeaturesIndicator",
17845         FT_BYTES, BASE_NONE, NULL, 0,
17846         "ansi_map.CallingFeaturesIndicator", HFILL }},
17847     { &hf_ansi_map_geographicAuthorization,
17848       { "geographicAuthorization", "ansi_map.geographicAuthorization",
17849         FT_UINT8, BASE_DEC, VALS(ansi_map_GeographicAuthorization_vals), 0,
17850         "ansi_map.GeographicAuthorization", HFILL }},
17851     { &hf_ansi_map_meidValidated,
17852       { "meidValidated", "ansi_map.meidValidated",
17853         FT_NONE, BASE_NONE, NULL, 0,
17854         "ansi_map.MEIDValidated", HFILL }},
17855     { &hf_ansi_map_originationIndicator,
17856       { "originationIndicator", "ansi_map.originationIndicator",
17857         FT_UINT32, BASE_DEC, VALS(ansi_map_OriginationIndicator_vals), 0,
17858         "ansi_map.OriginationIndicator", HFILL }},
17859     { &hf_ansi_map_restrictionDigits,
17860       { "restrictionDigits", "ansi_map.restrictionDigits",
17861         FT_BYTES, BASE_NONE, NULL, 0,
17862         "ansi_map.RestrictionDigits", HFILL }},
17863     { &hf_ansi_map_sms_OriginationRestrictions,
17864       { "sms-OriginationRestrictions", "ansi_map.sms_OriginationRestrictions",
17865         FT_BYTES, BASE_NONE, NULL, 0,
17866         "ansi_map.SMS_OriginationRestrictions", HFILL }},
17867     { &hf_ansi_map_sms_TerminationRestrictions,
17868       { "sms-TerminationRestrictions", "ansi_map.sms_TerminationRestrictions",
17869         FT_BYTES, BASE_NONE, NULL, 0,
17870         "ansi_map.SMS_TerminationRestrictions", HFILL }},
17871     { &hf_ansi_map_spinipin,
17872       { "spinipin", "ansi_map.spinipin",
17873         FT_BYTES, BASE_NONE, NULL, 0,
17874         "ansi_map.SPINIPIN", HFILL }},
17875     { &hf_ansi_map_spiniTriggers,
17876       { "spiniTriggers", "ansi_map.spiniTriggers",
17877         FT_BYTES, BASE_NONE, NULL, 0,
17878         "ansi_map.SPINITriggers", HFILL }},
17879     { &hf_ansi_map_terminationRestrictionCode,
17880       { "terminationRestrictionCode", "ansi_map.terminationRestrictionCode",
17881         FT_UINT32, BASE_DEC, VALS(ansi_map_TerminationRestrictionCode_vals), 0,
17882         "ansi_map.TerminationRestrictionCode", HFILL }},
17883     { &hf_ansi_map_userGroup,
17884       { "userGroup", "ansi_map.userGroup",
17885         FT_BYTES, BASE_NONE, NULL, 0,
17886         "ansi_map.UserGroup", HFILL }},
17887     { &hf_ansi_map_lirMode,
17888       { "lirMode", "ansi_map.lirMode",
17889         FT_UINT32, BASE_DEC, VALS(ansi_map_LIRMode_vals), 0,
17890         "ansi_map.LIRMode", HFILL }},
17891     { &hf_ansi_map_randValidTime,
17892       { "randValidTime", "ansi_map.randValidTime",
17893         FT_BYTES, BASE_NONE, NULL, 0,
17894         "ansi_map.RANDValidTime", HFILL }},
17895     { &hf_ansi_map_redirectionReason,
17896       { "redirectionReason", "ansi_map.redirectionReason",
17897         FT_UINT32, BASE_DEC, VALS(ansi_map_RedirectionReason_vals), 0,
17898         "ansi_map.RedirectionReason", HFILL }},
17899     { &hf_ansi_map_cancellationType,
17900       { "cancellationType", "ansi_map.cancellationType",
17901         FT_UINT8, BASE_DEC, VALS(ansi_map_CancellationType_vals), 0,
17902         "ansi_map.CancellationType", HFILL }},
17903     { &hf_ansi_map_controlChannelData,
17904       { "controlChannelData", "ansi_map.controlChannelData",
17905         FT_BYTES, BASE_NONE, NULL, 0,
17906         "ansi_map.ControlChannelData", HFILL }},
17907     { &hf_ansi_map_receivedSignalQuality,
17908       { "receivedSignalQuality", "ansi_map.receivedSignalQuality",
17909         FT_UINT32, BASE_DEC, NULL, 0,
17910         "ansi_map.ReceivedSignalQuality", HFILL }},
17911     { &hf_ansi_map_systemAccessData,
17912       { "systemAccessData", "ansi_map.systemAccessData",
17913         FT_BYTES, BASE_NONE, NULL, 0,
17914         "ansi_map.SystemAccessData", HFILL }},
17915     { &hf_ansi_map_cancellationDenied,
17916       { "cancellationDenied", "ansi_map.cancellationDenied",
17917         FT_UINT32, BASE_DEC, VALS(ansi_map_CancellationDenied_vals), 0,
17918         "ansi_map.CancellationDenied", HFILL }},
17919     { &hf_ansi_map_availabilityType,
17920       { "availabilityType", "ansi_map.availabilityType",
17921         FT_UINT8, BASE_DEC, VALS(ansi_map_AvailabilityType_vals), 0,
17922         "ansi_map.AvailabilityType", HFILL }},
17923     { &hf_ansi_map_borderCellAccess,
17924       { "borderCellAccess", "ansi_map.borderCellAccess",
17925         FT_UINT32, BASE_DEC, VALS(ansi_map_BorderCellAccess_vals), 0,
17926         "ansi_map.BorderCellAccess", HFILL }},
17927     { &hf_ansi_map_msc_Address,
17928       { "msc-Address", "ansi_map.msc_Address",
17929         FT_BYTES, BASE_NONE, NULL, 0,
17930         "ansi_map.MSC_Address", HFILL }},
17931     { &hf_ansi_map_sms_Address,
17932       { "sms-Address", "ansi_map.sms_Address",
17933         FT_NONE, BASE_NONE, NULL, 0,
17934         "ansi_map.SMS_Address", HFILL }},
17935     { &hf_ansi_map_mpcAddress,
17936       { "mpcAddress", "ansi_map.mpcAddress",
17937         FT_BYTES, BASE_NONE, NULL, 0,
17938         "ansi_map.MPCAddress", HFILL }},
17939     { &hf_ansi_map_mpcAddressList,
17940       { "mpcAddressList", "ansi_map.mpcAddressList",
17941         FT_NONE, BASE_NONE, NULL, 0,
17942         "ansi_map.MPCAddressList", HFILL }},
17943     { &hf_ansi_map_digits_Carrier,
17944       { "digits-Carrier", "ansi_map.digits_Carrier",
17945         FT_NONE, BASE_NONE, NULL, 0,
17946         "ansi_map.Digits", HFILL }},
17947     { &hf_ansi_map_digitCollectionControl,
17948       { "digitCollectionControl", "ansi_map.digitCollectionControl",
17949         FT_BYTES, BASE_NONE, NULL, 0,
17950         "ansi_map.DigitCollectionControl", HFILL }},
17951     { &hf_ansi_map_trunkStatus,
17952       { "trunkStatus", "ansi_map.trunkStatus",
17953         FT_UINT32, BASE_DEC, VALS(ansi_map_TrunkStatus_vals), 0,
17954         "ansi_map.TrunkStatus", HFILL }},
17955     { &hf_ansi_map_voiceMailboxNumber,
17956       { "voiceMailboxNumber", "ansi_map.voiceMailboxNumber",
17957         FT_BYTES, BASE_NONE, NULL, 0,
17958         "ansi_map.VoiceMailboxNumber", HFILL }},
17959     { &hf_ansi_map_voiceMailboxPIN,
17960       { "voiceMailboxPIN", "ansi_map.voiceMailboxPIN",
17961         FT_BYTES, BASE_NONE, NULL, 0,
17962         "ansi_map.VoiceMailboxPIN", HFILL }},
17963     { &hf_ansi_map_sms_BearerData,
17964       { "sms-BearerData", "ansi_map.sms_BearerData",
17965         FT_BYTES, BASE_NONE, NULL, 0,
17966         "ansi_map.SMS_BearerData", HFILL }},
17967     { &hf_ansi_map_sms_TeleserviceIdentifier,
17968       { "sms-TeleserviceIdentifier", "ansi_map.sms_TeleserviceIdentifier",
17969         FT_BYTES, BASE_NONE, NULL, 0,
17970         "ansi_map.SMS_TeleserviceIdentifier", HFILL }},
17971     { &hf_ansi_map_sms_ChargeIndicator,
17972       { "sms-ChargeIndicator", "ansi_map.sms_ChargeIndicator",
17973         FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_ChargeIndicator_vals), 0,
17974         "ansi_map.SMS_ChargeIndicator", HFILL }},
17975     { &hf_ansi_map_sms_DestinationAddress,
17976       { "sms-DestinationAddress", "ansi_map.sms_DestinationAddress",
17977         FT_NONE, BASE_NONE, NULL, 0,
17978         "ansi_map.SMS_DestinationAddress", HFILL }},
17979     { &hf_ansi_map_sms_OriginalDestinationAddress,
17980       { "sms-OriginalDestinationAddress", "ansi_map.sms_OriginalDestinationAddress",
17981         FT_NONE, BASE_NONE, NULL, 0,
17982         "ansi_map.SMS_OriginalDestinationAddress", HFILL }},
17983     { &hf_ansi_map_sms_OriginalDestinationSubaddress,
17984       { "sms-OriginalDestinationSubaddress", "ansi_map.sms_OriginalDestinationSubaddress",
17985         FT_BYTES, BASE_NONE, NULL, 0,
17986         "ansi_map.SMS_OriginalDestinationSubaddress", HFILL }},
17987     { &hf_ansi_map_sms_OriginalOriginatingAddress,
17988       { "sms-OriginalOriginatingAddress", "ansi_map.sms_OriginalOriginatingAddress",
17989         FT_NONE, BASE_NONE, NULL, 0,
17990         "ansi_map.SMS_OriginalOriginatingAddress", HFILL }},
17991     { &hf_ansi_map_sms_OriginalOriginatingSubaddress,
17992       { "sms-OriginalOriginatingSubaddress", "ansi_map.sms_OriginalOriginatingSubaddress",
17993         FT_BYTES, BASE_NONE, NULL, 0,
17994         "ansi_map.SMS_OriginalOriginatingSubaddress", HFILL }},
17995     { &hf_ansi_map_sms_OriginatingAddress,
17996       { "sms-OriginatingAddress", "ansi_map.sms_OriginatingAddress",
17997         FT_NONE, BASE_NONE, NULL, 0,
17998         "ansi_map.SMS_OriginatingAddress", HFILL }},
17999     { &hf_ansi_map_sms_CauseCode,
18000       { "sms-CauseCode", "ansi_map.sms_CauseCode",
18001         FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_CauseCode_vals), 0,
18002         "ansi_map.SMS_CauseCode", HFILL }},
18003     { &hf_ansi_map_cdmaServingOneWayDelay2,
18004       { "cdmaServingOneWayDelay2", "ansi_map.cdmaServingOneWayDelay2",
18005         FT_BYTES, BASE_NONE, NULL, 0,
18006         "ansi_map.CDMAServingOneWayDelay2", HFILL }},
18007     { &hf_ansi_map_interMessageTime,
18008       { "interMessageTime", "ansi_map.interMessageTime",
18009         FT_BYTES, BASE_NONE, NULL, 0,
18010         "ansi_map.InterMessageTime", HFILL }},
18011     { &hf_ansi_map_newlyAssignedIMSI,
18012       { "newlyAssignedIMSI", "ansi_map.newlyAssignedIMSI",
18013         FT_BYTES, BASE_NONE, NULL, 0,
18014         "ansi_map.NewlyAssignedIMSI", HFILL }},
18015     { &hf_ansi_map_newlyAssignedMIN,
18016       { "newlyAssignedMIN", "ansi_map.newlyAssignedMIN",
18017         FT_NONE, BASE_NONE, NULL, 0,
18018         "ansi_map.NewlyAssignedMIN", HFILL }},
18019     { &hf_ansi_map_newMINExtension,
18020       { "newMINExtension", "ansi_map.newMINExtension",
18021         FT_BYTES, BASE_NONE, NULL, 0,
18022         "ansi_map.NewMINExtension", HFILL }},
18023     { &hf_ansi_map_sms_MessageCount,
18024       { "sms-MessageCount", "ansi_map.sms_MessageCount",
18025         FT_BYTES, BASE_NONE, NULL, 0,
18026         "ansi_map.SMS_MessageCount", HFILL }},
18027     { &hf_ansi_map_sms_NotificationIndicator,
18028       { "sms-NotificationIndicator", "ansi_map.sms_NotificationIndicator",
18029         FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_NotificationIndicator_vals), 0,
18030         "ansi_map.SMS_NotificationIndicator", HFILL }},
18031     { &hf_ansi_map_teleservice_Priority,
18032       { "teleservice-Priority", "ansi_map.teleservice_Priority",
18033         FT_BYTES, BASE_NONE, NULL, 0,
18034         "ansi_map.Teleservice_Priority", HFILL }},
18035     { &hf_ansi_map_temporaryReferenceNumber,
18036       { "temporaryReferenceNumber", "ansi_map.temporaryReferenceNumber",
18037         FT_NONE, BASE_NONE, NULL, 0,
18038         "ansi_map.TemporaryReferenceNumber", HFILL }},
18039     { &hf_ansi_map_mobileStationMSID,
18040       { "mobileStationMSID", "ansi_map.mobileStationMSID",
18041         FT_UINT32, BASE_DEC, VALS(ansi_map_MobileStationMSID_vals), 0,
18042         "ansi_map.MobileStationMSID", HFILL }},
18043     { &hf_ansi_map_sms_TransactionID,
18044       { "sms-TransactionID", "ansi_map.sms_TransactionID",
18045         FT_BYTES, BASE_NONE, NULL, 0,
18046         "ansi_map.SMS_TransactionID", HFILL }},
18047     { &hf_ansi_map_sms_AccessDeniedReason,
18048       { "sms-AccessDeniedReason", "ansi_map.sms_AccessDeniedReason",
18049         FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_AccessDeniedReason_vals), 0,
18050         "ansi_map.SMS_AccessDeniedReason", HFILL }},
18051     { &hf_ansi_map_seizureType,
18052       { "seizureType", "ansi_map.seizureType",
18053         FT_UINT32, BASE_DEC, VALS(ansi_map_SeizureType_vals), 0,
18054         "ansi_map.SeizureType", HFILL }},
18055     { &hf_ansi_map_requiredParametersMask,
18056       { "requiredParametersMask", "ansi_map.requiredParametersMask",
18057         FT_BYTES, BASE_NONE, NULL, 0,
18058         "ansi_map.RequiredParametersMask", HFILL }},
18059     { &hf_ansi_map_reasonList,
18060       { "reasonList", "ansi_map.reasonList",
18061         FT_UINT32, BASE_DEC, VALS(ansi_map_ReasonList_vals), 0,
18062         "ansi_map.ReasonList", HFILL }},
18063     { &hf_ansi_map_networkTMSIExpirationTime,
18064       { "networkTMSIExpirationTime", "ansi_map.networkTMSIExpirationTime",
18065         FT_BYTES, BASE_NONE, NULL, 0,
18066         "ansi_map.NetworkTMSIExpirationTime", HFILL }},
18067     { &hf_ansi_map_newNetworkTMSI,
18068       { "newNetworkTMSI", "ansi_map.newNetworkTMSI",
18069         FT_BYTES, BASE_NONE, NULL, 0,
18070         "ansi_map.NewNetworkTMSI", HFILL }},
18071     { &hf_ansi_map_serviceID,
18072       { "serviceID", "ansi_map.serviceID",
18073         FT_BYTES, BASE_NONE, NULL, 0,
18074         "ansi_map.ServiceID", HFILL }},
18075     { &hf_ansi_map_dataAccessElementList,
18076       { "dataAccessElementList", "ansi_map.dataAccessElementList",
18077         FT_UINT32, BASE_DEC, NULL, 0,
18078         "ansi_map.DataAccessElementList", HFILL }},
18079     { &hf_ansi_map_timeDateOffset,
18080       { "timeDateOffset", "ansi_map.timeDateOffset",
18081         FT_BYTES, BASE_NONE, NULL, 0,
18082         "ansi_map.TimeDateOffset", HFILL }},
18083     { &hf_ansi_map_timeOfDay,
18084       { "timeOfDay", "ansi_map.timeOfDay",
18085         FT_INT32, BASE_DEC, NULL, 0,
18086         "ansi_map.TimeOfDay", HFILL }},
18087     { &hf_ansi_map_dmd_BillingIndicator,
18088       { "dmd-BillingIndicator", "ansi_map.dmd_BillingIndicator",
18089         FT_UINT32, BASE_DEC, VALS(ansi_map_DMH_BillingIndicator_vals), 0,
18090         "ansi_map.DMH_BillingIndicator", HFILL }},
18091     { &hf_ansi_map_failureType,
18092       { "failureType", "ansi_map.failureType",
18093         FT_UINT32, BASE_DEC, VALS(ansi_map_FailureType_vals), 0,
18094         "ansi_map.FailureType", HFILL }},
18095     { &hf_ansi_map_failureCause,
18096       { "failureCause", "ansi_map.failureCause",
18097         FT_BYTES, BASE_NONE, NULL, 0,
18098         "ansi_map.FailureCause", HFILL }},
18099     { &hf_ansi_map_outingDigits,
18100       { "outingDigits", "ansi_map.outingDigits",
18101         FT_BYTES, BASE_NONE, NULL, 0,
18102         "ansi_map.RoutingDigits", HFILL }},
18103     { &hf_ansi_map_databaseKey,
18104       { "databaseKey", "ansi_map.databaseKey",
18105         FT_BYTES, BASE_NONE, NULL, 0,
18106         "ansi_map.DatabaseKey", HFILL }},
18107     { &hf_ansi_map_modificationRequestList,
18108       { "modificationRequestList", "ansi_map.modificationRequestList",
18109         FT_UINT32, BASE_DEC, NULL, 0,
18110         "ansi_map.ModificationRequestList", HFILL }},
18111     { &hf_ansi_map_modificationResultList,
18112       { "modificationResultList", "ansi_map.modificationResultList",
18113         FT_UINT32, BASE_DEC, NULL, 0,
18114         "ansi_map.ModificationResultList", HFILL }},
18115     { &hf_ansi_map_serviceDataAccessElementList,
18116       { "serviceDataAccessElementList", "ansi_map.serviceDataAccessElementList",
18117         FT_UINT32, BASE_DEC, NULL, 0,
18118         "ansi_map.ServiceDataAccessElementList", HFILL }},
18119     { &hf_ansi_map_privateSpecializedResource,
18120       { "privateSpecializedResource", "ansi_map.privateSpecializedResource",
18121         FT_BYTES, BASE_NONE, NULL, 0,
18122         "ansi_map.PrivateSpecializedResource", HFILL }},
18123     { &hf_ansi_map_specializedResource,
18124       { "specializedResource", "ansi_map.specializedResource",
18125         FT_BYTES, BASE_NONE, NULL, 0,
18126         "ansi_map.SpecializedResource", HFILL }},
18127     { &hf_ansi_map_executeScript,
18128       { "executeScript", "ansi_map.executeScript",
18129         FT_NONE, BASE_NONE, NULL, 0,
18130         "ansi_map.ExecuteScript", HFILL }},
18131     { &hf_ansi_map_scriptResult,
18132       { "scriptResult", "ansi_map.scriptResult",
18133         FT_BYTES, BASE_NONE, NULL, 0,
18134         "ansi_map.ScriptResult", HFILL }},
18135     { &hf_ansi_map_tdmaVoiceMode,
18136       { "tdmaVoiceMode", "ansi_map.tdmaVoiceMode",
18137         FT_BYTES, BASE_NONE, NULL, 0,
18138         "ansi_map.TDMAVoiceMode", HFILL }},
18139     { &hf_ansi_map_callStatus,
18140       { "callStatus", "ansi_map.callStatus",
18141         FT_UINT32, BASE_DEC, VALS(ansi_map_CallStatus_vals), 0,
18142         "ansi_map.CallStatus", HFILL }},
18143     { &hf_ansi_map_releaseCause,
18144       { "releaseCause", "ansi_map.releaseCause",
18145         FT_UINT32, BASE_DEC, VALS(ansi_map_ReleaseCause_vals), 0,
18146         "ansi_map.ReleaseCause", HFILL }},
18147     { &hf_ansi_map_callRecoveryIDList,
18148       { "callRecoveryIDList", "ansi_map.callRecoveryIDList",
18149         FT_UINT32, BASE_DEC, NULL, 0,
18150         "ansi_map.CallRecoveryIDList", HFILL }},
18151     { &hf_ansi_map_positionInformationCode,
18152       { "positionInformationCode", "ansi_map.positionInformationCode",
18153         FT_BYTES, BASE_NONE, NULL, 0,
18154         "ansi_map.PositionInformationCode", HFILL }},
18155     { &hf_ansi_map_mSStatus,
18156       { "mSStatus", "ansi_map.mSStatus",
18157         FT_BYTES, BASE_NONE, NULL, 0,
18158         "ansi_map.MSStatus", HFILL }},
18159     { &hf_ansi_map_pSID_RSIDInformation,
18160       { "pSID-RSIDInformation", "ansi_map.pSID_RSIDInformation",
18161         FT_BYTES, BASE_NONE, NULL, 0,
18162         "ansi_map.PSID_RSIDInformation", HFILL }},
18163     { &hf_ansi_map_positionRequestType,
18164       { "positionRequestType", "ansi_map.positionRequestType",
18165         FT_BYTES, BASE_NONE, NULL, 0,
18166         "ansi_map.PositionRequestType", HFILL }},
18167     { &hf_ansi_map_lcsBillingID,
18168       { "lcsBillingID", "ansi_map.lcsBillingID",
18169         FT_BYTES, BASE_NONE, NULL, 0,
18170         "ansi_map.LCSBillingID", HFILL }},
18171     { &hf_ansi_map_lcs_Client_ID,
18172       { "lcs-Client-ID", "ansi_map.lcs_Client_ID",
18173         FT_BYTES, BASE_NONE, NULL, 0,
18174         "ansi_map.LCS_Client_ID", HFILL }},
18175     { &hf_ansi_map_mobilePositionCapability,
18176       { "mobilePositionCapability", "ansi_map.mobilePositionCapability",
18177         FT_BYTES, BASE_NONE, NULL, 0,
18178         "ansi_map.MobilePositionCapability", HFILL }},
18179     { &hf_ansi_map_dtxIndication,
18180       { "dtxIndication", "ansi_map.dtxIndication",
18181         FT_BYTES, BASE_NONE, NULL, 0,
18182         "ansi_map.DTXIndication", HFILL }},
18183     { &hf_ansi_map_cdmaCodeChannel,
18184       { "cdmaCodeChannel", "ansi_map.cdmaCodeChannel",
18185         FT_BYTES, BASE_NONE, NULL, 0,
18186         "ansi_map.CDMACodeChannel", HFILL }},
18187     { &hf_ansi_map_cdmaMobileCapabilities,
18188       { "cdmaMobileCapabilities", "ansi_map.cdmaMobileCapabilities",
18189         FT_BYTES, BASE_NONE, NULL, 0,
18190         "ansi_map.CDMAMobileCapabilities", HFILL }},
18191     { &hf_ansi_map_cdmaPSMMList,
18192       { "cdmaPSMMList", "ansi_map.cdmaPSMMList",
18193         FT_UINT32, BASE_DEC, NULL, 0,
18194         "ansi_map.CDMAPSMMList", HFILL }},
18195     { &hf_ansi_map_tdma_MAHO_CELLID,
18196       { "tdma-MAHO-CELLID", "ansi_map.tdma_MAHO_CELLID",
18197         FT_BYTES, BASE_NONE, NULL, 0,
18198         "ansi_map.TDMA_MAHO_CELLID", HFILL }},
18199     { &hf_ansi_map_tdma_MAHO_CHANNEL,
18200       { "tdma-MAHO-CHANNEL", "ansi_map.tdma_MAHO_CHANNEL",
18201         FT_BYTES, BASE_NONE, NULL, 0,
18202         "ansi_map.TDMA_MAHO_CHANNEL", HFILL }},
18203     { &hf_ansi_map_tdma_TimeAlignment,
18204       { "tdma-TimeAlignment", "ansi_map.tdma_TimeAlignment",
18205         FT_BYTES, BASE_NONE, NULL, 0,
18206         "ansi_map.TDMA_TimeAlignment", HFILL }},
18207     { &hf_ansi_map_pqos_HorizontalPosition,
18208       { "pqos-HorizontalPosition", "ansi_map.pqos_HorizontalPosition",
18209         FT_BYTES, BASE_NONE, NULL, 0,
18210         "ansi_map.PQOS_HorizontalPosition", HFILL }},
18211     { &hf_ansi_map_pqos_HorizontalVelocity,
18212       { "pqos-HorizontalVelocity", "ansi_map.pqos_HorizontalVelocity",
18213         FT_BYTES, BASE_NONE, NULL, 0,
18214         "ansi_map.PQOS_HorizontalVelocity", HFILL }},
18215     { &hf_ansi_map_pqos_MaximumPositionAge,
18216       { "pqos-MaximumPositionAge", "ansi_map.pqos_MaximumPositionAge",
18217         FT_BYTES, BASE_NONE, NULL, 0,
18218         "ansi_map.PQOS_MaximumPositionAge", HFILL }},
18219     { &hf_ansi_map_pqos_PositionPriority,
18220       { "pqos-PositionPriority", "ansi_map.pqos_PositionPriority",
18221         FT_BYTES, BASE_NONE, NULL, 0,
18222         "ansi_map.PQOS_PositionPriority", HFILL }},
18223     { &hf_ansi_map_pqos_ResponseTime,
18224       { "pqos-ResponseTime", "ansi_map.pqos_ResponseTime",
18225         FT_UINT32, BASE_DEC, VALS(ansi_map_PQOS_ResponseTime_vals), 0,
18226         "ansi_map.PQOS_ResponseTime", HFILL }},
18227     { &hf_ansi_map_pqos_VerticalPosition,
18228       { "pqos-VerticalPosition", "ansi_map.pqos_VerticalPosition",
18229         FT_BYTES, BASE_NONE, NULL, 0,
18230         "ansi_map.PQOS_VerticalPosition", HFILL }},
18231     { &hf_ansi_map_pqos_VerticalVelocity,
18232       { "pqos-VerticalVelocity", "ansi_map.pqos_VerticalVelocity",
18233         FT_BYTES, BASE_NONE, NULL, 0,
18234         "ansi_map.PQOS_VerticalVelocity", HFILL }},
18235     { &hf_ansi_map_cdmaPSMMCount,
18236       { "cdmaPSMMCount", "ansi_map.cdmaPSMMCount",
18237         FT_BYTES, BASE_NONE, NULL, 0,
18238         "ansi_map.CDMAPSMMCount", HFILL }},
18239     { &hf_ansi_map_lirAuthorization,
18240       { "lirAuthorization", "ansi_map.lirAuthorization",
18241         FT_UINT32, BASE_DEC, VALS(ansi_map_LIRAuthorization_vals), 0,
18242         "ansi_map.LIRAuthorization", HFILL }},
18243     { &hf_ansi_map_mpcid,
18244       { "mpcid", "ansi_map.mpcid",
18245         FT_BYTES, BASE_NONE, NULL, 0,
18246         "ansi_map.MPCID", HFILL }},
18247     { &hf_ansi_map_tdma_MAHORequest,
18248       { "tdma-MAHORequest", "ansi_map.tdma_MAHORequest",
18249         FT_BYTES, BASE_NONE, NULL, 0,
18250         "ansi_map.TDMA_MAHORequest", HFILL }},
18251     { &hf_ansi_map_positionResult,
18252       { "positionResult", "ansi_map.positionResult",
18253         FT_BYTES, BASE_NONE, NULL, 0,
18254         "ansi_map.PositionResult", HFILL }},
18255     { &hf_ansi_map_positionInformation,
18256       { "positionInformation", "ansi_map.positionInformation",
18257         FT_NONE, BASE_NONE, NULL, 0,
18258         "ansi_map.PositionInformation", HFILL }},
18259     { &hf_ansi_map_controlType,
18260       { "controlType", "ansi_map.controlType",
18261         FT_BYTES, BASE_NONE, NULL, 0,
18262         "ansi_map.ControlType", HFILL }},
18263     { &hf_ansi_map_destinationAddress,
18264       { "destinationAddress", "ansi_map.destinationAddress",
18265         FT_UINT32, BASE_DEC, VALS(ansi_map_DestinationAddress_vals), 0,
18266         "ansi_map.DestinationAddress", HFILL }},
18267     { &hf_ansi_map_gapDuration,
18268       { "gapDuration", "ansi_map.gapDuration",
18269         FT_UINT32, BASE_DEC, VALS(ansi_map_GapDuration_vals), 0,
18270         "ansi_map.GapDuration", HFILL }},
18271     { &hf_ansi_map_gapInterval,
18272       { "gapInterval", "ansi_map.gapInterval",
18273         FT_UINT32, BASE_DEC, VALS(ansi_map_GapInterval_vals), 0,
18274         "ansi_map.GapInterval", HFILL }},
18275     { &hf_ansi_map_invokingNEType,
18276       { "invokingNEType", "ansi_map.invokingNEType",
18277         FT_INT32, BASE_DEC, NULL, 0,
18278         "ansi_map.InvokingNEType", HFILL }},
18279     { &hf_ansi_map_range,
18280       { "range", "ansi_map.range",
18281         FT_INT32, BASE_DEC, NULL, 0,
18282         "ansi_map.Range", HFILL }},
18283     { &hf_ansi_map_meidStatus,
18284       { "meidStatus", "ansi_map.meidStatus",
18285         FT_BYTES, BASE_NONE, NULL, 0,
18286         "ansi_map.MEIDStatus", HFILL }},
18287     { &hf_ansi_map_aKeyProtocolVersion,
18288       { "aKeyProtocolVersion", "ansi_map.aKeyProtocolVersion",
18289         FT_BYTES, BASE_NONE, NULL, 0,
18290         "ansi_map.AKeyProtocolVersion", HFILL }},
18291     { &hf_ansi_map_mobileStationPartialKey,
18292       { "mobileStationPartialKey", "ansi_map.mobileStationPartialKey",
18293         FT_BYTES, BASE_NONE, NULL, 0,
18294         "ansi_map.MobileStationPartialKey", HFILL }},
18295     { &hf_ansi_map_newlyAssignedMSID,
18296       { "newlyAssignedMSID", "ansi_map.newlyAssignedMSID",
18297         FT_UINT32, BASE_DEC, VALS(ansi_map_NewlyAssignedMSID_vals), 0,
18298         "ansi_map.NewlyAssignedMSID", HFILL }},
18299     { &hf_ansi_map_baseStationPartialKey,
18300       { "baseStationPartialKey", "ansi_map.baseStationPartialKey",
18301         FT_BYTES, BASE_NONE, NULL, 0,
18302         "ansi_map.BaseStationPartialKey", HFILL }},
18303     { &hf_ansi_map_modulusValue,
18304       { "modulusValue", "ansi_map.modulusValue",
18305         FT_BYTES, BASE_NONE, NULL, 0,
18306         "ansi_map.ModulusValue", HFILL }},
18307     { &hf_ansi_map_otasp_ResultCode,
18308       { "otasp-ResultCode", "ansi_map.otasp_ResultCode",
18309         FT_UINT8, BASE_DEC, VALS(ansi_map_OTASP_ResultCode_vals), 0,
18310         "ansi_map.OTASP_ResultCode", HFILL }},
18311     { &hf_ansi_map_primitiveValue,
18312       { "primitiveValue", "ansi_map.primitiveValue",
18313         FT_BYTES, BASE_NONE, NULL, 0,
18314         "ansi_map.PrimitiveValue", HFILL }},
18315     { &hf_ansi_map_record_Type,
18316       { "record-Type", "ansi_map.record_Type",
18317         FT_BYTES, BASE_NONE, NULL, 0,
18318         "ansi_map.Record_Type", HFILL }},
18319     { &hf_ansi_map_information_Record,
18320       { "information-Record", "ansi_map.information_Record",
18321         FT_BYTES, BASE_NONE, NULL, 0,
18322         "ansi_map.Information_Record", HFILL }},
18323     { &hf_ansi_map_cdma2000MobileSupportedCapabilities,
18324       { "cdma2000MobileSupportedCapabilities", "ansi_map.cdma2000MobileSupportedCapabilities",
18325         FT_BYTES, BASE_NONE, NULL, 0,
18326         "ansi_map.CDMA2000MobileSupportedCapabilities", HFILL }},
18327     { &hf_ansi_map_announcementCode1,
18328       { "announcementCode1", "ansi_map.announcementCode1",
18329         FT_BYTES, BASE_NONE, NULL, 0,
18330         "ansi_map.AnnouncementCode", HFILL }},
18331     { &hf_ansi_map_announcementCode2,
18332       { "announcementCode2", "ansi_map.announcementCode2",
18333         FT_BYTES, BASE_NONE, NULL, 0,
18334         "ansi_map.AnnouncementCode", HFILL }},
18335     { &hf_ansi_map_cdmaPilotPN,
18336       { "cdmaPilotPN", "ansi_map.cdmaPilotPN",
18337         FT_BYTES, BASE_NONE, NULL, 0,
18338         "ansi_map.CDMAPilotPN", HFILL }},
18339     { &hf_ansi_map_cdmaPowerCombinedIndicator,
18340       { "cdmaPowerCombinedIndicator", "ansi_map.cdmaPowerCombinedIndicator",
18341         FT_BYTES, BASE_NONE, NULL, 0,
18342         "ansi_map.CDMAPowerCombinedIndicator", HFILL }},
18343     { &hf_ansi_map_CDMACodeChannelList_item,
18344       { "CDMACodeChannelInformation", "ansi_map.CDMACodeChannelInformation",
18345         FT_NONE, BASE_NONE, NULL, 0,
18346         "ansi_map.CDMACodeChannelInformation", HFILL }},
18347     { &hf_ansi_map_cdmaPilotStrength,
18348       { "cdmaPilotStrength", "ansi_map.cdmaPilotStrength",
18349         FT_BYTES, BASE_NONE, NULL, 0,
18350         "ansi_map.CDMAPilotStrength", HFILL }},
18351     { &hf_ansi_map_cdmaTargetOneWayDelay,
18352       { "cdmaTargetOneWayDelay", "ansi_map.cdmaTargetOneWayDelay",
18353         FT_BYTES, BASE_NONE, NULL, 0,
18354         "ansi_map.CDMATargetOneWayDelay", HFILL }},
18355     { &hf_ansi_map_CDMATargetMAHOList_item,
18356       { "CDMATargetMAHOInformation", "ansi_map.CDMATargetMAHOInformation",
18357         FT_NONE, BASE_NONE, NULL, 0,
18358         "ansi_map.CDMATargetMAHOInformation", HFILL }},
18359     { &hf_ansi_map_cdmaSignalQuality,
18360       { "cdmaSignalQuality", "ansi_map.cdmaSignalQuality",
18361         FT_BYTES, BASE_NONE, NULL, 0,
18362         "ansi_map.CDMASignalQuality", HFILL }},
18363     { &hf_ansi_map_CDMATargetMeasurementList_item,
18364       { "CDMATargetMeasurementInformation", "ansi_map.CDMATargetMeasurementInformation",
18365         FT_NONE, BASE_NONE, NULL, 0,
18366         "ansi_map.CDMATargetMeasurementInformation", HFILL }},
18367     { &hf_ansi_map_TargetMeasurementList_item,
18368       { "TargetMeasurementInformation", "ansi_map.TargetMeasurementInformation",
18369         FT_NONE, BASE_NONE, NULL, 0,
18370         "ansi_map.TargetMeasurementInformation", HFILL }},
18371     { &hf_ansi_map_TerminationList_item,
18372       { "TerminationList item", "ansi_map.TerminationList_item",
18373         FT_UINT32, BASE_DEC, VALS(ansi_map_TerminationList_item_vals), 0,
18374         "ansi_map.TerminationList_item", HFILL }},
18375     { &hf_ansi_map_intersystemTermination,
18376       { "intersystemTermination", "ansi_map.intersystemTermination",
18377         FT_NONE, BASE_NONE, NULL, 0,
18378         "ansi_map.IntersystemTermination", HFILL }},
18379     { &hf_ansi_map_localTermination,
18380       { "localTermination", "ansi_map.localTermination",
18381         FT_NONE, BASE_NONE, NULL, 0,
18382         "ansi_map.LocalTermination", HFILL }},
18383     { &hf_ansi_map_pstnTermination,
18384       { "pstnTermination", "ansi_map.pstnTermination",
18385         FT_NONE, BASE_NONE, NULL, 0,
18386         "ansi_map.PSTNTermination", HFILL }},
18387     { &hf_ansi_map_CDMABandClassList_item,
18388       { "CDMABandClassInformation", "ansi_map.CDMABandClassInformation",
18389         FT_NONE, BASE_NONE, NULL, 0,
18390         "ansi_map.CDMABandClassInformation", HFILL }},
18391     { &hf_ansi_map_CDMAServiceOptionList_item,
18392       { "CDMAServiceOption", "ansi_map.CDMAServiceOption",
18393         FT_BYTES, BASE_NONE, NULL, 0,
18394         "ansi_map.CDMAServiceOption", HFILL }},
18395     { &hf_ansi_map_pSID_RSIDInformation1,
18396       { "pSID-RSIDInformation1", "ansi_map.pSID_RSIDInformation1",
18397         FT_BYTES, BASE_NONE, NULL, 0,
18398         "ansi_map.PSID_RSIDInformation", HFILL }},
18399     { &hf_ansi_map_targetCellID1,
18400       { "targetCellID1", "ansi_map.targetCellID1",
18401         FT_BYTES, BASE_NONE, NULL, 0,
18402         "ansi_map.TargetCellID", HFILL }},
18403     { &hf_ansi_map_cdmaConnectionReference,
18404       { "cdmaConnectionReference", "ansi_map.cdmaConnectionReference",
18405         FT_BYTES, BASE_NONE, NULL, 0,
18406         "ansi_map.CDMAConnectionReference", HFILL }},
18407     { &hf_ansi_map_cdmaState,
18408       { "cdmaState", "ansi_map.cdmaState",
18409         FT_BYTES, BASE_NONE, NULL, 0,
18410         "ansi_map.CDMAState", HFILL }},
18411     { &hf_ansi_map_cdmaServiceOptionConnectionIdentifier,
18412       { "cdmaServiceOptionConnectionIdentifier", "ansi_map.cdmaServiceOptionConnectionIdentifier",
18413         FT_BYTES, BASE_NONE, NULL, 0,
18414         "ansi_map.CDMAServiceOptionConnectionIdentifier", HFILL }},
18415     { &hf_ansi_map_CDMAConnectionReferenceList_item,
18416       { "CDMAConnectionReferenceList item", "ansi_map.CDMAConnectionReferenceList_item",
18417         FT_NONE, BASE_NONE, NULL, 0,
18418         "ansi_map.CDMAConnectionReferenceList_item", HFILL }},
18419     { &hf_ansi_map_cdmaConnectionReferenceInformation,
18420       { "cdmaConnectionReferenceInformation", "ansi_map.cdmaConnectionReferenceInformation",
18421         FT_NONE, BASE_NONE, NULL, 0,
18422         "ansi_map.CDMAConnectionReferenceInformation", HFILL }},
18423     { &hf_ansi_map_cdmaConnectionReferenceInformation2,
18424       { "cdmaConnectionReferenceInformation2", "ansi_map.cdmaConnectionReferenceInformation2",
18425         FT_NONE, BASE_NONE, NULL, 0,
18426         "ansi_map.CDMAConnectionReferenceInformation", HFILL }},
18427     { &hf_ansi_map_analogRedirectInfo,
18428       { "analogRedirectInfo", "ansi_map.analogRedirectInfo",
18429         FT_BYTES, BASE_NONE, NULL, 0,
18430         "ansi_map.AnalogRedirectInfo", HFILL }},
18431     { &hf_ansi_map_CDMAChannelNumberList_item,
18432       { "CDMAChannelNumberList item", "ansi_map.CDMAChannelNumberList_item",
18433         FT_NONE, BASE_NONE, NULL, 0,
18434         "ansi_map.CDMAChannelNumberList_item", HFILL }},
18435     { &hf_ansi_map_cdmaChannelNumber,
18436       { "cdmaChannelNumber", "ansi_map.cdmaChannelNumber",
18437         FT_BYTES, BASE_NONE, NULL, 0,
18438         "ansi_map.CDMAChannelNumber", HFILL }},
18439     { &hf_ansi_map_cdmaChannelNumber2,
18440       { "cdmaChannelNumber2", "ansi_map.cdmaChannelNumber2",
18441         FT_BYTES, BASE_NONE, NULL, 0,
18442         "ansi_map.CDMAChannelNumber", HFILL }},
18443     { &hf_ansi_map_cdmaChannelNumberList,
18444       { "cdmaChannelNumberList", "ansi_map.cdmaChannelNumberList",
18445         FT_UINT32, BASE_DEC, NULL, 0,
18446         "ansi_map.CDMAChannelNumberList", HFILL }},
18447     { &hf_ansi_map_dataID,
18448       { "dataID", "ansi_map.dataID",
18449         FT_BYTES, BASE_NONE, NULL, 0,
18450         "ansi_map.DataID", HFILL }},
18451     { &hf_ansi_map_change,
18452       { "change", "ansi_map.change",
18453         FT_UINT32, BASE_DEC, VALS(ansi_map_Change_vals), 0,
18454         "ansi_map.Change", HFILL }},
18455     { &hf_ansi_map_dataValue,
18456       { "dataValue", "ansi_map.dataValue",
18457         FT_BYTES, BASE_NONE, NULL, 0,
18458         "ansi_map.DataValue", HFILL }},
18459     { &hf_ansi_map_DataAccessElementList_item,
18460       { "DataAccessElementList item", "ansi_map.DataAccessElementList_item",
18461         FT_NONE, BASE_NONE, NULL, 0,
18462         "ansi_map.DataAccessElementList_item", HFILL }},
18463     { &hf_ansi_map_dataAccessElement1,
18464       { "dataAccessElement1", "ansi_map.dataAccessElement1",
18465         FT_NONE, BASE_NONE, NULL, 0,
18466         "ansi_map.DataAccessElement", HFILL }},
18467     { &hf_ansi_map_dataAccessElement2,
18468       { "dataAccessElement2", "ansi_map.dataAccessElement2",
18469         FT_NONE, BASE_NONE, NULL, 0,
18470         "ansi_map.DataAccessElement", HFILL }},
18471     { &hf_ansi_map_dataResult,
18472       { "dataResult", "ansi_map.dataResult",
18473         FT_UINT32, BASE_DEC, VALS(ansi_map_DataResult_vals), 0,
18474         "ansi_map.DataResult", HFILL }},
18475     { &hf_ansi_map_DataUpdateResultList_item,
18476       { "DataUpdateResult", "ansi_map.DataUpdateResult",
18477         FT_NONE, BASE_NONE, NULL, 0,
18478         "ansi_map.DataUpdateResult", HFILL }},
18479     { &hf_ansi_map_globalTitle,
18480       { "globalTitle", "ansi_map.globalTitle",
18481         FT_BYTES, BASE_NONE, NULL, 0,
18482         "ansi_map.GlobalTitle", HFILL }},
18483     { &hf_ansi_map_pC_SSN,
18484       { "pC-SSN", "ansi_map.pC_SSN",
18485         FT_BYTES, BASE_NONE, NULL, 0,
18486         "ansi_map.PC_SSN", HFILL }},
18487     { &hf_ansi_map_scriptName,
18488       { "scriptName", "ansi_map.scriptName",
18489         FT_BYTES, BASE_NONE, NULL, 0,
18490         "ansi_map.ScriptName", HFILL }},
18491     { &hf_ansi_map_scriptArgument,
18492       { "scriptArgument", "ansi_map.scriptArgument",
18493         FT_BYTES, BASE_NONE, NULL, 0,
18494         "ansi_map.ScriptArgument", HFILL }},
18495     { &hf_ansi_map_allOrNone,
18496       { "allOrNone", "ansi_map.allOrNone",
18497         FT_UINT32, BASE_DEC, VALS(ansi_map_AllOrNone_vals), 0,
18498         "ansi_map.AllOrNone", HFILL }},
18499     { &hf_ansi_map_ModificationRequestList_item,
18500       { "ModificationRequest", "ansi_map.ModificationRequest",
18501         FT_NONE, BASE_NONE, NULL, 0,
18502         "ansi_map.ModificationRequest", HFILL }},
18503     { &hf_ansi_map_serviceDataResultList,
18504       { "serviceDataResultList", "ansi_map.serviceDataResultList",
18505         FT_UINT32, BASE_DEC, NULL, 0,
18506         "ansi_map.ServiceDataResultList", HFILL }},
18507     { &hf_ansi_map_ModificationResultList_item,
18508       { "ModificationResult", "ansi_map.ModificationResult",
18509         FT_UINT32, BASE_DEC, VALS(ansi_map_ModificationResult_vals), 0,
18510         "ansi_map.ModificationResult", HFILL }},
18511     { &hf_ansi_map_ServiceDataAccessElementList_item,
18512       { "ServiceDataAccessElement", "ansi_map.ServiceDataAccessElement",
18513         FT_NONE, BASE_NONE, NULL, 0,
18514         "ansi_map.ServiceDataAccessElement", HFILL }},
18515     { &hf_ansi_map_dataUpdateResultList,
18516       { "dataUpdateResultList", "ansi_map.dataUpdateResultList",
18517         FT_UINT32, BASE_DEC, NULL, 0,
18518         "ansi_map.DataUpdateResultList", HFILL }},
18519     { &hf_ansi_map_ServiceDataResultList_item,
18520       { "ServiceDataResult", "ansi_map.ServiceDataResult",
18521         FT_NONE, BASE_NONE, NULL, 0,
18522         "ansi_map.ServiceDataResult", HFILL }},
18523     { &hf_ansi_map_triggerList,
18524       { "triggerList", "ansi_map.triggerList",
18525         FT_NONE, BASE_NONE, NULL, 0,
18526         "ansi_map.TriggerList", HFILL }},
18527     { &hf_ansi_map_triggerListOpt,
18528       { "triggerListOpt", "ansi_map.triggerListOpt",
18529         FT_NONE, BASE_NONE, NULL, 0,
18530         "ansi_map.TriggerList", HFILL }},
18531     { &hf_ansi_map_wIN_TriggerList,
18532       { "wIN-TriggerList", "ansi_map.wIN_TriggerList",
18533         FT_BYTES, BASE_NONE, NULL, 0,
18534         "ansi_map.WIN_TriggerList", HFILL }},
18535     { &hf_ansi_map_triggerCapability,
18536       { "triggerCapability", "ansi_map.triggerCapability",
18537         FT_BYTES, BASE_NONE, NULL, 0,
18538         "ansi_map.TriggerCapability", HFILL }},
18539     { &hf_ansi_map_wINOperationsCapability,
18540       { "wINOperationsCapability", "ansi_map.wINOperationsCapability",
18541         FT_BYTES, BASE_NONE, NULL, 0,
18542         "ansi_map.WINOperationsCapability", HFILL }},
18543     { &hf_ansi_map_CallRecoveryIDList_item,
18544       { "CallRecoveryID", "ansi_map.CallRecoveryID",
18545         FT_NONE, BASE_NONE, NULL, 0,
18546         "ansi_map.CallRecoveryID", HFILL }},
18547     { &hf_ansi_map_generalizedTime,
18548       { "generalizedTime", "ansi_map.generalizedTime",
18549         FT_STRING, BASE_NONE, NULL, 0,
18550         "ansi_map.GeneralizedTime", HFILL }},
18551     { &hf_ansi_map_geographicPosition,
18552       { "geographicPosition", "ansi_map.geographicPosition",
18553         FT_BYTES, BASE_NONE, NULL, 0,
18554         "ansi_map.GeographicPosition", HFILL }},
18555     { &hf_ansi_map_positionSource,
18556       { "positionSource", "ansi_map.positionSource",
18557         FT_BYTES, BASE_NONE, NULL, 0,
18558         "ansi_map.PositionSource", HFILL }},
18559     { &hf_ansi_map_horizontal_Velocity,
18560       { "horizontal-Velocity", "ansi_map.horizontal_Velocity",
18561         FT_BYTES, BASE_NONE, NULL, 0,
18562         "ansi_map.Horizontal_Velocity", HFILL }},
18563     { &hf_ansi_map_vertical_Velocity,
18564       { "vertical-Velocity", "ansi_map.vertical_Velocity",
18565         FT_BYTES, BASE_NONE, NULL, 0,
18566         "ansi_map.Vertical_Velocity", HFILL }},
18567     { &hf_ansi_map_sCFOverloadGapInterval,
18568       { "sCFOverloadGapInterval", "ansi_map.sCFOverloadGapInterval",
18569         FT_UINT32, BASE_DEC, VALS(ansi_map_SCFOverloadGapInterval_vals), 0,
18570         "ansi_map.SCFOverloadGapInterval", HFILL }},
18571     { &hf_ansi_map_serviceManagementSystemGapInterval,
18572       { "serviceManagementSystemGapInterval", "ansi_map.serviceManagementSystemGapInterval",
18573         FT_UINT32, BASE_DEC, VALS(ansi_map_ServiceManagementSystemGapInterval_vals), 0,
18574         "ansi_map.ServiceManagementSystemGapInterval", HFILL }},
18575     { &hf_ansi_map_CDMAPSMMList_item,
18576       { "CDMAPSMMList item", "ansi_map.CDMAPSMMList_item",
18577         FT_NONE, BASE_NONE, NULL, 0,
18578         "ansi_map.CDMAPSMMList_item", HFILL }},
18579     { &hf_ansi_map_cdmaTargetMAHOList2,
18580       { "cdmaTargetMAHOList2", "ansi_map.cdmaTargetMAHOList2",
18581         FT_UINT32, BASE_DEC, NULL, 0,
18582         "ansi_map.CDMATargetMAHOList", HFILL }},
18583     { &hf_ansi_map_mpcAddress2,
18584       { "mpcAddress2", "ansi_map.mpcAddress2",
18585         FT_BYTES, BASE_NONE, NULL, 0,
18586         "ansi_map.MPCAddress", HFILL }},
18587     { &hf_ansi_map_mobileStationIMSI,
18588       { "mobileStationIMSI", "ansi_map.mobileStationIMSI",
18589         FT_BYTES, BASE_NONE, NULL, 0,
18590         "ansi_map.MobileStationIMSI", HFILL }},
18591     { &hf_ansi_map_handoffMeasurementRequest,
18592       { "handoffMeasurementRequest", "ansi_map.handoffMeasurementRequest",
18593         FT_NONE, BASE_NONE, NULL, 0,
18594         "ansi_map.HandoffMeasurementRequest", HFILL }},
18595     { &hf_ansi_map_facilitiesDirective,
18596       { "facilitiesDirective", "ansi_map.facilitiesDirective",
18597         FT_NONE, BASE_NONE, NULL, 0,
18598         "ansi_map.FacilitiesDirective", HFILL }},
18599     { &hf_ansi_map_handoffBack,
18600       { "handoffBack", "ansi_map.handoffBack",
18601         FT_NONE, BASE_NONE, NULL, 0,
18602         "ansi_map.HandoffBack", HFILL }},
18603     { &hf_ansi_map_facilitiesRelease,
18604       { "facilitiesRelease", "ansi_map.facilitiesRelease",
18605         FT_NONE, BASE_NONE, NULL, 0,
18606         "ansi_map.FacilitiesRelease", HFILL }},
18607     { &hf_ansi_map_qualificationRequest,
18608       { "qualificationRequest", "ansi_map.qualificationRequest",
18609         FT_NONE, BASE_NONE, NULL, 0,
18610         "ansi_map.QualificationRequest", HFILL }},
18611     { &hf_ansi_map_qualificationDirective,
18612       { "qualificationDirective", "ansi_map.qualificationDirective",
18613         FT_NONE, BASE_NONE, NULL, 0,
18614         "ansi_map.QualificationDirective", HFILL }},
18615     { &hf_ansi_map_blocking,
18616       { "blocking", "ansi_map.blocking",
18617         FT_NONE, BASE_NONE, NULL, 0,
18618         "ansi_map.Blocking", HFILL }},
18619     { &hf_ansi_map_unblocking,
18620       { "unblocking", "ansi_map.unblocking",
18621         FT_NONE, BASE_NONE, NULL, 0,
18622         "ansi_map.Unblocking", HFILL }},
18623     { &hf_ansi_map_resetCircuit,
18624       { "resetCircuit", "ansi_map.resetCircuit",
18625         FT_NONE, BASE_NONE, NULL, 0,
18626         "ansi_map.ResetCircuit", HFILL }},
18627     { &hf_ansi_map_trunkTest,
18628       { "trunkTest", "ansi_map.trunkTest",
18629         FT_NONE, BASE_NONE, NULL, 0,
18630         "ansi_map.TrunkTest", HFILL }},
18631     { &hf_ansi_map_trunkTestDisconnect,
18632       { "trunkTestDisconnect", "ansi_map.trunkTestDisconnect",
18633         FT_NONE, BASE_NONE, NULL, 0,
18634         "ansi_map.TrunkTestDisconnect", HFILL }},
18635     { &hf_ansi_map_registrationNotification,
18636       { "registrationNotification", "ansi_map.registrationNotification",
18637         FT_NONE, BASE_NONE, NULL, 0,
18638         "ansi_map.RegistrationNotification", HFILL }},
18639     { &hf_ansi_map_registrationCancellation,
18640       { "registrationCancellation", "ansi_map.registrationCancellation",
18641         FT_NONE, BASE_NONE, NULL, 0,
18642         "ansi_map.RegistrationCancellation", HFILL }},
18643     { &hf_ansi_map_locationRequest,
18644       { "locationRequest", "ansi_map.locationRequest",
18645         FT_NONE, BASE_NONE, NULL, 0,
18646         "ansi_map.LocationRequest", HFILL }},
18647     { &hf_ansi_map_routingRequest,
18648       { "routingRequest", "ansi_map.routingRequest",
18649         FT_NONE, BASE_NONE, NULL, 0,
18650         "ansi_map.RoutingRequest", HFILL }},
18651     { &hf_ansi_map_featureRequest,
18652       { "featureRequest", "ansi_map.featureRequest",
18653         FT_NONE, BASE_NONE, NULL, 0,
18654         "ansi_map.FeatureRequest", HFILL }},
18655     { &hf_ansi_map_unreliableRoamerDataDirective,
18656       { "unreliableRoamerDataDirective", "ansi_map.unreliableRoamerDataDirective",
18657         FT_NONE, BASE_NONE, NULL, 0,
18658         "ansi_map.UnreliableRoamerDataDirective", HFILL }},
18659     { &hf_ansi_map_mSInactive,
18660       { "mSInactive", "ansi_map.mSInactive",
18661         FT_NONE, BASE_NONE, NULL, 0,
18662         "ansi_map.MSInactive", HFILL }},
18663     { &hf_ansi_map_transferToNumberRequest,
18664       { "transferToNumberRequest", "ansi_map.transferToNumberRequest",
18665         FT_NONE, BASE_NONE, NULL, 0,
18666         "ansi_map.TransferToNumberRequest", HFILL }},
18667     { &hf_ansi_map_redirectionRequest,
18668       { "redirectionRequest", "ansi_map.redirectionRequest",
18669         FT_NONE, BASE_NONE, NULL, 0,
18670         "ansi_map.RedirectionRequest", HFILL }},
18671     { &hf_ansi_map_handoffToThird,
18672       { "handoffToThird", "ansi_map.handoffToThird",
18673         FT_NONE, BASE_NONE, NULL, 0,
18674         "ansi_map.HandoffToThird", HFILL }},
18675     { &hf_ansi_map_flashRequest,
18676       { "flashRequest", "ansi_map.flashRequest",
18677         FT_NONE, BASE_NONE, NULL, 0,
18678         "ansi_map.FlashRequest", HFILL }},
18679     { &hf_ansi_map_authenticationDirective,
18680       { "authenticationDirective", "ansi_map.authenticationDirective",
18681         FT_NONE, BASE_NONE, NULL, 0,
18682         "ansi_map.AuthenticationDirective", HFILL }},
18683     { &hf_ansi_map_authenticationRequest,
18684       { "authenticationRequest", "ansi_map.authenticationRequest",
18685         FT_NONE, BASE_NONE, NULL, 0,
18686         "ansi_map.AuthenticationRequest", HFILL }},
18687     { &hf_ansi_map_baseStationChallenge,
18688       { "baseStationChallenge", "ansi_map.baseStationChallenge",
18689         FT_NONE, BASE_NONE, NULL, 0,
18690         "ansi_map.BaseStationChallenge", HFILL }},
18691     { &hf_ansi_map_authenticationFailureReport,
18692       { "authenticationFailureReport", "ansi_map.authenticationFailureReport",
18693         FT_NONE, BASE_NONE, NULL, 0,
18694         "ansi_map.AuthenticationFailureReport", HFILL }},
18695     { &hf_ansi_map_countRequest,
18696       { "countRequest", "ansi_map.countRequest",
18697         FT_NONE, BASE_NONE, NULL, 0,
18698         "ansi_map.CountRequest", HFILL }},
18699     { &hf_ansi_map_interSystemPage,
18700       { "interSystemPage", "ansi_map.interSystemPage",
18701         FT_NONE, BASE_NONE, NULL, 0,
18702         "ansi_map.InterSystemPage", HFILL }},
18703     { &hf_ansi_map_unsolicitedResponse,
18704       { "unsolicitedResponse", "ansi_map.unsolicitedResponse",
18705         FT_NONE, BASE_NONE, NULL, 0,
18706         "ansi_map.UnsolicitedResponse", HFILL }},
18707     { &hf_ansi_map_bulkDeregistration,
18708       { "bulkDeregistration", "ansi_map.bulkDeregistration",
18709         FT_NONE, BASE_NONE, NULL, 0,
18710         "ansi_map.BulkDeregistration", HFILL }},
18711     { &hf_ansi_map_handoffMeasurementRequest2,
18712       { "handoffMeasurementRequest2", "ansi_map.handoffMeasurementRequest2",
18713         FT_NONE, BASE_NONE, NULL, 0,
18714         "ansi_map.HandoffMeasurementRequest2", HFILL }},
18715     { &hf_ansi_map_facilitiesDirective2,
18716       { "facilitiesDirective2", "ansi_map.facilitiesDirective2",
18717         FT_NONE, BASE_NONE, NULL, 0,
18718         "ansi_map.FacilitiesDirective2", HFILL }},
18719     { &hf_ansi_map_handoffBack2,
18720       { "handoffBack2", "ansi_map.handoffBack2",
18721         FT_NONE, BASE_NONE, NULL, 0,
18722         "ansi_map.HandoffBack2", HFILL }},
18723     { &hf_ansi_map_handoffToThird2,
18724       { "handoffToThird2", "ansi_map.handoffToThird2",
18725         FT_NONE, BASE_NONE, NULL, 0,
18726         "ansi_map.HandoffToThird2", HFILL }},
18727     { &hf_ansi_map_authenticationDirectiveForward,
18728       { "authenticationDirectiveForward", "ansi_map.authenticationDirectiveForward",
18729         FT_NONE, BASE_NONE, NULL, 0,
18730         "ansi_map.AuthenticationDirectiveForward", HFILL }},
18731     { &hf_ansi_map_authenticationStatusReport,
18732       { "authenticationStatusReport", "ansi_map.authenticationStatusReport",
18733         FT_NONE, BASE_NONE, NULL, 0,
18734         "ansi_map.AuthenticationStatusReport", HFILL }},
18735     { &hf_ansi_map_informationDirective,
18736       { "informationDirective", "ansi_map.informationDirective",
18737         FT_NONE, BASE_NONE, NULL, 0,
18738         "ansi_map.InformationDirective", HFILL }},
18739     { &hf_ansi_map_informationForward,
18740       { "informationForward", "ansi_map.informationForward",
18741         FT_NONE, BASE_NONE, NULL, 0,
18742         "ansi_map.InformationForward", HFILL }},
18743     { &hf_ansi_map_interSystemAnswer,
18744       { "interSystemAnswer", "ansi_map.interSystemAnswer",
18745         FT_NONE, BASE_NONE, NULL, 0,
18746         "ansi_map.InterSystemAnswer", HFILL }},
18747     { &hf_ansi_map_interSystemPage2,
18748       { "interSystemPage2", "ansi_map.interSystemPage2",
18749         FT_NONE, BASE_NONE, NULL, 0,
18750         "ansi_map.InterSystemPage2", HFILL }},
18751     { &hf_ansi_map_interSystemSetup,
18752       { "interSystemSetup", "ansi_map.interSystemSetup",
18753         FT_NONE, BASE_NONE, NULL, 0,
18754         "ansi_map.InterSystemSetup", HFILL }},
18755     { &hf_ansi_map_originationRequest,
18756       { "originationRequest", "ansi_map.originationRequest",
18757         FT_NONE, BASE_NONE, NULL, 0,
18758         "ansi_map.OriginationRequest", HFILL }},
18759     { &hf_ansi_map_randomVariableRequest,
18760       { "randomVariableRequest", "ansi_map.randomVariableRequest",
18761         FT_NONE, BASE_NONE, NULL, 0,
18762         "ansi_map.RandomVariableRequest", HFILL }},
18763     { &hf_ansi_map_redirectionDirective,
18764       { "redirectionDirective", "ansi_map.redirectionDirective",
18765         FT_NONE, BASE_NONE, NULL, 0,
18766         "ansi_map.RedirectionDirective", HFILL }},
18767     { &hf_ansi_map_remoteUserInteractionDirective,
18768       { "remoteUserInteractionDirective", "ansi_map.remoteUserInteractionDirective",
18769         FT_NONE, BASE_NONE, NULL, 0,
18770         "ansi_map.RemoteUserInteractionDirective", HFILL }},
18771     { &hf_ansi_map_sMSDeliveryBackward,
18772       { "sMSDeliveryBackward", "ansi_map.sMSDeliveryBackward",
18773         FT_NONE, BASE_NONE, NULL, 0,
18774         "ansi_map.SMSDeliveryBackward", HFILL }},
18775     { &hf_ansi_map_sMSDeliveryForward,
18776       { "sMSDeliveryForward", "ansi_map.sMSDeliveryForward",
18777         FT_NONE, BASE_NONE, NULL, 0,
18778         "ansi_map.SMSDeliveryForward", HFILL }},
18779     { &hf_ansi_map_sMSDeliveryPointToPoint,
18780       { "sMSDeliveryPointToPoint", "ansi_map.sMSDeliveryPointToPoint",
18781         FT_NONE, BASE_NONE, NULL, 0,
18782         "ansi_map.SMSDeliveryPointToPoint", HFILL }},
18783     { &hf_ansi_map_sMSNotification,
18784       { "sMSNotification", "ansi_map.sMSNotification",
18785         FT_NONE, BASE_NONE, NULL, 0,
18786         "ansi_map.SMSNotification", HFILL }},
18787     { &hf_ansi_map_sMSRequest,
18788       { "sMSRequest", "ansi_map.sMSRequest",
18789         FT_NONE, BASE_NONE, NULL, 0,
18790         "ansi_map.SMSRequest", HFILL }},
18791     { &hf_ansi_map_oTASPRequest,
18792       { "oTASPRequest", "ansi_map.oTASPRequest",
18793         FT_NONE, BASE_NONE, NULL, 0,
18794         "ansi_map.OTASPRequest", HFILL }},
18795     { &hf_ansi_map_changeFacilities,
18796       { "changeFacilities", "ansi_map.changeFacilities",
18797         FT_NONE, BASE_NONE, NULL, 0,
18798         "ansi_map.ChangeFacilities", HFILL }},
18799     { &hf_ansi_map_changeService,
18800       { "changeService", "ansi_map.changeService",
18801         FT_NONE, BASE_NONE, NULL, 0,
18802         "ansi_map.ChangeService", HFILL }},
18803     { &hf_ansi_map_parameterRequest,
18804       { "parameterRequest", "ansi_map.parameterRequest",
18805         FT_NONE, BASE_NONE, NULL, 0,
18806         "ansi_map.ParameterRequest", HFILL }},
18807     { &hf_ansi_map_tMSIDirective,
18808       { "tMSIDirective", "ansi_map.tMSIDirective",
18809         FT_NONE, BASE_NONE, NULL, 0,
18810         "ansi_map.TMSIDirective", HFILL }},
18811     { &hf_ansi_map_numberPortabilityRequest,
18812       { "numberPortabilityRequest", "ansi_map.numberPortabilityRequest",
18813         FT_NONE, BASE_NONE, NULL, 0,
18814         "ansi_map.NumberPortabilityRequest", HFILL }},
18815     { &hf_ansi_map_serviceRequest,
18816       { "serviceRequest", "ansi_map.serviceRequest",
18817         FT_NONE, BASE_NONE, NULL, 0,
18818         "ansi_map.ServiceRequest", HFILL }},
18819     { &hf_ansi_map_analyzedInformation,
18820       { "analyzedInformation", "ansi_map.analyzedInformation",
18821         FT_NONE, BASE_NONE, NULL, 0,
18822         "ansi_map.AnalyzedInformation", HFILL }},
18823     { &hf_ansi_map_connectionFailureReport,
18824       { "connectionFailureReport", "ansi_map.connectionFailureReport",
18825         FT_NONE, BASE_NONE, NULL, 0,
18826         "ansi_map.ConnectionFailureReport", HFILL }},
18827     { &hf_ansi_map_connectResource,
18828       { "connectResource", "ansi_map.connectResource",
18829         FT_NONE, BASE_NONE, NULL, 0,
18830         "ansi_map.ConnectResource", HFILL }},
18831     { &hf_ansi_map_facilitySelectedAndAvailable,
18832       { "facilitySelectedAndAvailable", "ansi_map.facilitySelectedAndAvailable",
18833         FT_NONE, BASE_NONE, NULL, 0,
18834         "ansi_map.FacilitySelectedAndAvailable", HFILL }},
18835     { &hf_ansi_map_modify,
18836       { "modify", "ansi_map.modify",
18837         FT_NONE, BASE_NONE, NULL, 0,
18838         "ansi_map.Modify", HFILL }},
18839     { &hf_ansi_map_search,
18840       { "search", "ansi_map.search",
18841         FT_NONE, BASE_NONE, NULL, 0,
18842         "ansi_map.Search", HFILL }},
18843     { &hf_ansi_map_seizeResource,
18844       { "seizeResource", "ansi_map.seizeResource",
18845         FT_NONE, BASE_NONE, NULL, 0,
18846         "ansi_map.SeizeResource", HFILL }},
18847     { &hf_ansi_map_sRFDirective,
18848       { "sRFDirective", "ansi_map.sRFDirective",
18849         FT_NONE, BASE_NONE, NULL, 0,
18850         "ansi_map.SRFDirective", HFILL }},
18851     { &hf_ansi_map_tBusy,
18852       { "tBusy", "ansi_map.tBusy",
18853         FT_NONE, BASE_NONE, NULL, 0,
18854         "ansi_map.TBusy", HFILL }},
18855     { &hf_ansi_map_tNoAnswer,
18856       { "tNoAnswer", "ansi_map.tNoAnswer",
18857         FT_NONE, BASE_NONE, NULL, 0,
18858         "ansi_map.TNoAnswer", HFILL }},
18859     { &hf_ansi_map_smsDeliveryPointToPointAck,
18860       { "smsDeliveryPointToPointAck", "ansi_map.smsDeliveryPointToPointAck",
18861         FT_NONE, BASE_NONE, NULL, 0,
18862         "ansi_map.SMSDeliveryPointToPointAck", HFILL }},
18863     { &hf_ansi_map_messageDirective,
18864       { "messageDirective", "ansi_map.messageDirective",
18865         FT_NONE, BASE_NONE, NULL, 0,
18866         "ansi_map.MessageDirective", HFILL }},
18867     { &hf_ansi_map_bulkDisconnection,
18868       { "bulkDisconnection", "ansi_map.bulkDisconnection",
18869         FT_NONE, BASE_NONE, NULL, 0,
18870         "ansi_map.BulkDisconnection", HFILL }},
18871     { &hf_ansi_map_callControlDirective,
18872       { "callControlDirective", "ansi_map.callControlDirective",
18873         FT_NONE, BASE_NONE, NULL, 0,
18874         "ansi_map.CallControlDirective", HFILL }},
18875     { &hf_ansi_map_oAnswer,
18876       { "oAnswer", "ansi_map.oAnswer",
18877         FT_NONE, BASE_NONE, NULL, 0,
18878         "ansi_map.OAnswer", HFILL }},
18879     { &hf_ansi_map_oDisconnect,
18880       { "oDisconnect", "ansi_map.oDisconnect",
18881         FT_NONE, BASE_NONE, NULL, 0,
18882         "ansi_map.ODisconnect", HFILL }},
18883     { &hf_ansi_map_callRecoveryReport,
18884       { "callRecoveryReport", "ansi_map.callRecoveryReport",
18885         FT_NONE, BASE_NONE, NULL, 0,
18886         "ansi_map.CallRecoveryReport", HFILL }},
18887     { &hf_ansi_map_tAnswer,
18888       { "tAnswer", "ansi_map.tAnswer",
18889         FT_NONE, BASE_NONE, NULL, 0,
18890         "ansi_map.TAnswer", HFILL }},
18891     { &hf_ansi_map_tDisconnect,
18892       { "tDisconnect", "ansi_map.tDisconnect",
18893         FT_NONE, BASE_NONE, NULL, 0,
18894         "ansi_map.TDisconnect", HFILL }},
18895     { &hf_ansi_map_unreliableCallData,
18896       { "unreliableCallData", "ansi_map.unreliableCallData",
18897         FT_NONE, BASE_NONE, NULL, 0,
18898         "ansi_map.UnreliableCallData", HFILL }},
18899     { &hf_ansi_map_oCalledPartyBusy,
18900       { "oCalledPartyBusy", "ansi_map.oCalledPartyBusy",
18901         FT_NONE, BASE_NONE, NULL, 0,
18902         "ansi_map.OCalledPartyBusy", HFILL }},
18903     { &hf_ansi_map_oNoAnswer,
18904       { "oNoAnswer", "ansi_map.oNoAnswer",
18905         FT_NONE, BASE_NONE, NULL, 0,
18906         "ansi_map.ONoAnswer", HFILL }},
18907     { &hf_ansi_map_positionRequest,
18908       { "positionRequest", "ansi_map.positionRequest",
18909         FT_NONE, BASE_NONE, NULL, 0,
18910         "ansi_map.PositionRequest", HFILL }},
18911     { &hf_ansi_map_positionRequestForward,
18912       { "positionRequestForward", "ansi_map.positionRequestForward",
18913         FT_NONE, BASE_NONE, NULL, 0,
18914         "ansi_map.PositionRequestForward", HFILL }},
18915     { &hf_ansi_map_callTerminationReport,
18916       { "callTerminationReport", "ansi_map.callTerminationReport",
18917         FT_NONE, BASE_NONE, NULL, 0,
18918         "ansi_map.CallTerminationReport", HFILL }},
18919     { &hf_ansi_map_geoPositionRequest,
18920       { "geoPositionRequest", "ansi_map.geoPositionRequest",
18921         FT_NONE, BASE_NONE, NULL, 0,
18922         "ansi_map.GeoPositionRequest", HFILL }},
18923     { &hf_ansi_map_interSystemPositionRequest,
18924       { "interSystemPositionRequest", "ansi_map.interSystemPositionRequest",
18925         FT_NONE, BASE_NONE, NULL, 0,
18926         "ansi_map.InterSystemPositionRequest", HFILL }},
18927     { &hf_ansi_map_interSystemPositionRequestForward,
18928       { "interSystemPositionRequestForward", "ansi_map.interSystemPositionRequestForward",
18929         FT_NONE, BASE_NONE, NULL, 0,
18930         "ansi_map.InterSystemPositionRequestForward", HFILL }},
18931     { &hf_ansi_map_aCGDirective,
18932       { "aCGDirective", "ansi_map.aCGDirective",
18933         FT_NONE, BASE_NONE, NULL, 0,
18934         "ansi_map.ACGDirective", HFILL }},
18935     { &hf_ansi_map_roamerDatabaseVerificationRequest,
18936       { "roamerDatabaseVerificationRequest", "ansi_map.roamerDatabaseVerificationRequest",
18937         FT_NONE, BASE_NONE, NULL, 0,
18938         "ansi_map.RoamerDatabaseVerificationRequest", HFILL }},
18939     { &hf_ansi_map_addService,
18940       { "addService", "ansi_map.addService",
18941         FT_NONE, BASE_NONE, NULL, 0,
18942         "ansi_map.AddService", HFILL }},
18943     { &hf_ansi_map_dropService,
18944       { "dropService", "ansi_map.dropService",
18945         FT_NONE, BASE_NONE, NULL, 0,
18946         "ansi_map.DropService", HFILL }},
18947     { &hf_ansi_map_lcsParameterRequest,
18948       { "lcsParameterRequest", "ansi_map.lcsParameterRequest",
18949         FT_NONE, BASE_NONE, NULL, 0,
18950         "ansi_map.LCSParameterRequest", HFILL }},
18951     { &hf_ansi_map_checkMEID,
18952       { "checkMEID", "ansi_map.checkMEID",
18953         FT_NONE, BASE_NONE, NULL, 0,
18954         "ansi_map.CheckMEID", HFILL }},
18955     { &hf_ansi_map_positionEventNotification,
18956       { "positionEventNotification", "ansi_map.positionEventNotification",
18957         FT_NONE, BASE_NONE, NULL, 0,
18958         "ansi_map.PositionEventNotification", HFILL }},
18959     { &hf_ansi_map_statusRequest,
18960       { "statusRequest", "ansi_map.statusRequest",
18961         FT_NONE, BASE_NONE, NULL, 0,
18962         "ansi_map.StatusRequest", HFILL }},
18963     { &hf_ansi_map_interSystemSMSDeliveryPointToPoint,
18964       { "interSystemSMSDeliveryPointToPoint", "ansi_map.interSystemSMSDeliveryPointToPoint",
18965         FT_NONE, BASE_NONE, NULL, 0,
18966         "ansi_map.InterSystemSMSDeliveryPointToPoint", HFILL }},
18967     { &hf_ansi_map_qualificationRequest2,
18968       { "qualificationRequest2", "ansi_map.qualificationRequest2",
18969         FT_NONE, BASE_NONE, NULL, 0,
18970         "ansi_map.QualificationRequest2", HFILL }},
18971     { &hf_ansi_map_handoffMeasurementRequestRes,
18972       { "handoffMeasurementRequestRes", "ansi_map.handoffMeasurementRequestRes",
18973         FT_NONE, BASE_NONE, NULL, 0,
18974         "ansi_map.HandoffMeasurementRequestRes", HFILL }},
18975     { &hf_ansi_map_facilitiesDirectiveRes,
18976       { "facilitiesDirectiveRes", "ansi_map.facilitiesDirectiveRes",
18977         FT_NONE, BASE_NONE, NULL, 0,
18978         "ansi_map.FacilitiesDirectiveRes", HFILL }},
18979     { &hf_ansi_map_handoffBackRes,
18980       { "handoffBackRes", "ansi_map.handoffBackRes",
18981         FT_NONE, BASE_NONE, NULL, 0,
18982         "ansi_map.HandoffBackRes", HFILL }},
18983     { &hf_ansi_map_facilitiesReleaseRes,
18984       { "facilitiesReleaseRes", "ansi_map.facilitiesReleaseRes",
18985         FT_NONE, BASE_NONE, NULL, 0,
18986         "ansi_map.FacilitiesReleaseRes", HFILL }},
18987     { &hf_ansi_map_qualificationDirectiveRes,
18988       { "qualificationDirectiveRes", "ansi_map.qualificationDirectiveRes",
18989         FT_NONE, BASE_NONE, NULL, 0,
18990         "ansi_map.QualificationDirectiveRes", HFILL }},
18991     { &hf_ansi_map_qualificationRequestRes,
18992       { "qualificationRequestRes", "ansi_map.qualificationRequestRes",
18993         FT_NONE, BASE_NONE, NULL, 0,
18994         "ansi_map.QualificationRequestRes", HFILL }},
18995     { &hf_ansi_map_resetCircuitRes,
18996       { "resetCircuitRes", "ansi_map.resetCircuitRes",
18997         FT_NONE, BASE_NONE, NULL, 0,
18998         "ansi_map.ResetCircuitRes", HFILL }},
18999     { &hf_ansi_map_registrationNotificationRes,
19000       { "registrationNotificationRes", "ansi_map.registrationNotificationRes",
19001         FT_NONE, BASE_NONE, NULL, 0,
19002         "ansi_map.RegistrationNotificationRes", HFILL }},
19003     { &hf_ansi_map_registrationCancellationRes,
19004       { "registrationCancellationRes", "ansi_map.registrationCancellationRes",
19005         FT_NONE, BASE_NONE, NULL, 0,
19006         "ansi_map.RegistrationCancellationRes", HFILL }},
19007     { &hf_ansi_map_locationRequestRes,
19008       { "locationRequestRes", "ansi_map.locationRequestRes",
19009         FT_NONE, BASE_NONE, NULL, 0,
19010         "ansi_map.LocationRequestRes", HFILL }},
19011     { &hf_ansi_map_routingRequestRes,
19012       { "routingRequestRes", "ansi_map.routingRequestRes",
19013         FT_NONE, BASE_NONE, NULL, 0,
19014         "ansi_map.RoutingRequestRes", HFILL }},
19015     { &hf_ansi_map_featureRequestRes,
19016       { "featureRequestRes", "ansi_map.featureRequestRes",
19017         FT_NONE, BASE_NONE, NULL, 0,
19018         "ansi_map.FeatureRequestRes", HFILL }},
19019     { &hf_ansi_map_transferToNumberRequestRes,
19020       { "transferToNumberRequestRes", "ansi_map.transferToNumberRequestRes",
19021         FT_NONE, BASE_NONE, NULL, 0,
19022         "ansi_map.TransferToNumberRequestRes", HFILL }},
19023     { &hf_ansi_map_handoffToThirdRes,
19024       { "handoffToThirdRes", "ansi_map.handoffToThirdRes",
19025         FT_NONE, BASE_NONE, NULL, 0,
19026         "ansi_map.HandoffToThirdRes", HFILL }},
19027     { &hf_ansi_map_authenticationDirectiveRes,
19028       { "authenticationDirectiveRes", "ansi_map.authenticationDirectiveRes",
19029         FT_NONE, BASE_NONE, NULL, 0,
19030         "ansi_map.AuthenticationDirectiveRes", HFILL }},
19031     { &hf_ansi_map_authenticationRequestRes,
19032       { "authenticationRequestRes", "ansi_map.authenticationRequestRes",
19033         FT_NONE, BASE_NONE, NULL, 0,
19034         "ansi_map.AuthenticationRequestRes", HFILL }},
19035     { &hf_ansi_map_baseStationChallengeRes,
19036       { "baseStationChallengeRes", "ansi_map.baseStationChallengeRes",
19037         FT_NONE, BASE_NONE, NULL, 0,
19038         "ansi_map.BaseStationChallengeRes", HFILL }},
19039     { &hf_ansi_map_authenticationFailureReportRes,
19040       { "authenticationFailureReportRes", "ansi_map.authenticationFailureReportRes",
19041         FT_NONE, BASE_NONE, NULL, 0,
19042         "ansi_map.AuthenticationFailureReportRes", HFILL }},
19043     { &hf_ansi_map_countRequestRes,
19044       { "countRequestRes", "ansi_map.countRequestRes",
19045         FT_NONE, BASE_NONE, NULL, 0,
19046         "ansi_map.CountRequestRes", HFILL }},
19047     { &hf_ansi_map_interSystemPageRes,
19048       { "interSystemPageRes", "ansi_map.interSystemPageRes",
19049         FT_NONE, BASE_NONE, NULL, 0,
19050         "ansi_map.InterSystemPageRes", HFILL }},
19051     { &hf_ansi_map_unsolicitedResponseRes,
19052       { "unsolicitedResponseRes", "ansi_map.unsolicitedResponseRes",
19053         FT_NONE, BASE_NONE, NULL, 0,
19054         "ansi_map.UnsolicitedResponseRes", HFILL }},
19055     { &hf_ansi_map_handoffMeasurementRequest2Res,
19056       { "handoffMeasurementRequest2Res", "ansi_map.handoffMeasurementRequest2Res",
19057         FT_NONE, BASE_NONE, NULL, 0,
19058         "ansi_map.HandoffMeasurementRequest2Res", HFILL }},
19059     { &hf_ansi_map_facilitiesDirective2Res,
19060       { "facilitiesDirective2Res", "ansi_map.facilitiesDirective2Res",
19061         FT_NONE, BASE_NONE, NULL, 0,
19062         "ansi_map.FacilitiesDirective2Res", HFILL }},
19063     { &hf_ansi_map_handoffBack2Res,
19064       { "handoffBack2Res", "ansi_map.handoffBack2Res",
19065         FT_NONE, BASE_NONE, NULL, 0,
19066         "ansi_map.HandoffBack2Res", HFILL }},
19067     { &hf_ansi_map_handoffToThird2Res,
19068       { "handoffToThird2Res", "ansi_map.handoffToThird2Res",
19069         FT_NONE, BASE_NONE, NULL, 0,
19070         "ansi_map.HandoffToThird2Res", HFILL }},
19071     { &hf_ansi_map_authenticationDirectiveForwardRes,
19072       { "authenticationDirectiveForwardRes", "ansi_map.authenticationDirectiveForwardRes",
19073         FT_NONE, BASE_NONE, NULL, 0,
19074         "ansi_map.AuthenticationDirectiveForwardRes", HFILL }},
19075     { &hf_ansi_map_authenticationStatusReportRes,
19076       { "authenticationStatusReportRes", "ansi_map.authenticationStatusReportRes",
19077         FT_NONE, BASE_NONE, NULL, 0,
19078         "ansi_map.AuthenticationStatusReportRes", HFILL }},
19079     { &hf_ansi_map_informationDirectiveRes,
19080       { "informationDirectiveRes", "ansi_map.informationDirectiveRes",
19081         FT_NONE, BASE_NONE, NULL, 0,
19082         "ansi_map.InformationDirectiveRes", HFILL }},
19083     { &hf_ansi_map_informationForwardRes,
19084       { "informationForwardRes", "ansi_map.informationForwardRes",
19085         FT_NONE, BASE_NONE, NULL, 0,
19086         "ansi_map.InformationForwardRes", HFILL }},
19087     { &hf_ansi_map_interSystemPage2Res,
19088       { "interSystemPage2Res", "ansi_map.interSystemPage2Res",
19089         FT_NONE, BASE_NONE, NULL, 0,
19090         "ansi_map.InterSystemPage2Res", HFILL }},
19091     { &hf_ansi_map_interSystemSetupRes,
19092       { "interSystemSetupRes", "ansi_map.interSystemSetupRes",
19093         FT_NONE, BASE_NONE, NULL, 0,
19094         "ansi_map.InterSystemSetupRes", HFILL }},
19095     { &hf_ansi_map_originationRequestRes,
19096       { "originationRequestRes", "ansi_map.originationRequestRes",
19097         FT_NONE, BASE_NONE, NULL, 0,
19098         "ansi_map.OriginationRequestRes", HFILL }},
19099     { &hf_ansi_map_randomVariableRequestRes,
19100       { "randomVariableRequestRes", "ansi_map.randomVariableRequestRes",
19101         FT_NONE, BASE_NONE, NULL, 0,
19102         "ansi_map.RandomVariableRequestRes", HFILL }},
19103     { &hf_ansi_map_remoteUserInteractionDirectiveRes,
19104       { "remoteUserInteractionDirectiveRes", "ansi_map.remoteUserInteractionDirectiveRes",
19105         FT_NONE, BASE_NONE, NULL, 0,
19106         "ansi_map.RemoteUserInteractionDirectiveRes", HFILL }},
19107     { &hf_ansi_map_sMSDeliveryBackwardRes,
19108       { "sMSDeliveryBackwardRes", "ansi_map.sMSDeliveryBackwardRes",
19109         FT_NONE, BASE_NONE, NULL, 0,
19110         "ansi_map.SMSDeliveryBackwardRes", HFILL }},
19111     { &hf_ansi_map_sMSDeliveryForwardRes,
19112       { "sMSDeliveryForwardRes", "ansi_map.sMSDeliveryForwardRes",
19113         FT_NONE, BASE_NONE, NULL, 0,
19114         "ansi_map.SMSDeliveryForwardRes", HFILL }},
19115     { &hf_ansi_map_sMSDeliveryPointToPointRes,
19116       { "sMSDeliveryPointToPointRes", "ansi_map.sMSDeliveryPointToPointRes",
19117         FT_NONE, BASE_NONE, NULL, 0,
19118         "ansi_map.SMSDeliveryPointToPointRes", HFILL }},
19119     { &hf_ansi_map_sMSNotificationRes,
19120       { "sMSNotificationRes", "ansi_map.sMSNotificationRes",
19121         FT_NONE, BASE_NONE, NULL, 0,
19122         "ansi_map.SMSNotificationRes", HFILL }},
19123     { &hf_ansi_map_sMSRequestRes,
19124       { "sMSRequestRes", "ansi_map.sMSRequestRes",
19125         FT_NONE, BASE_NONE, NULL, 0,
19126         "ansi_map.SMSRequestRes", HFILL }},
19127     { &hf_ansi_map_oTASPRequestRes,
19128       { "oTASPRequestRes", "ansi_map.oTASPRequestRes",
19129         FT_NONE, BASE_NONE, NULL, 0,
19130         "ansi_map.OTASPRequestRes", HFILL }},
19131     { &hf_ansi_map_changeFacilitiesRes,
19132       { "changeFacilitiesRes", "ansi_map.changeFacilitiesRes",
19133         FT_NONE, BASE_NONE, NULL, 0,
19134         "ansi_map.ChangeFacilitiesRes", HFILL }},
19135     { &hf_ansi_map_changeServiceRes,
19136       { "changeServiceRes", "ansi_map.changeServiceRes",
19137         FT_NONE, BASE_NONE, NULL, 0,
19138         "ansi_map.ChangeServiceRes", HFILL }},
19139     { &hf_ansi_map_parameterRequestRes,
19140       { "parameterRequestRes", "ansi_map.parameterRequestRes",
19141         FT_NONE, BASE_NONE, NULL, 0,
19142         "ansi_map.ParameterRequestRes", HFILL }},
19143     { &hf_ansi_map_tMSIDirectiveRes,
19144       { "tMSIDirectiveRes", "ansi_map.tMSIDirectiveRes",
19145         FT_NONE, BASE_NONE, NULL, 0,
19146         "ansi_map.TMSIDirectiveRes", HFILL }},
19147     { &hf_ansi_map_serviceRequestRes,
19148       { "serviceRequestRes", "ansi_map.serviceRequestRes",
19149         FT_NONE, BASE_NONE, NULL, 0,
19150         "ansi_map.ServiceRequestRes", HFILL }},
19151     { &hf_ansi_map_analyzedInformationRes,
19152       { "analyzedInformationRes", "ansi_map.analyzedInformationRes",
19153         FT_NONE, BASE_NONE, NULL, 0,
19154         "ansi_map.AnalyzedInformationRes", HFILL }},
19155     { &hf_ansi_map_facilitySelectedAndAvailableRes,
19156       { "facilitySelectedAndAvailableRes", "ansi_map.facilitySelectedAndAvailableRes",
19157         FT_NONE, BASE_NONE, NULL, 0,
19158         "ansi_map.FacilitySelectedAndAvailableRes", HFILL }},
19159     { &hf_ansi_map_modifyRes,
19160       { "modifyRes", "ansi_map.modifyRes",
19161         FT_NONE, BASE_NONE, NULL, 0,
19162         "ansi_map.ModifyRes", HFILL }},
19163     { &hf_ansi_map_searchRes,
19164       { "searchRes", "ansi_map.searchRes",
19165         FT_NONE, BASE_NONE, NULL, 0,
19166         "ansi_map.SearchRes", HFILL }},
19167     { &hf_ansi_map_seizeResourceRes,
19168       { "seizeResourceRes", "ansi_map.seizeResourceRes",
19169         FT_NONE, BASE_NONE, NULL, 0,
19170         "ansi_map.SeizeResourceRes", HFILL }},
19171     { &hf_ansi_map_sRFDirectiveRes,
19172       { "sRFDirectiveRes", "ansi_map.sRFDirectiveRes",
19173         FT_NONE, BASE_NONE, NULL, 0,
19174         "ansi_map.SRFDirectiveRes", HFILL }},
19175     { &hf_ansi_map_tBusyRes,
19176       { "tBusyRes", "ansi_map.tBusyRes",
19177         FT_NONE, BASE_NONE, NULL, 0,
19178         "ansi_map.TBusyRes", HFILL }},
19179     { &hf_ansi_map_tNoAnswerRes,
19180       { "tNoAnswerRes", "ansi_map.tNoAnswerRes",
19181         FT_NONE, BASE_NONE, NULL, 0,
19182         "ansi_map.TNoAnswerRes", HFILL }},
19183     { &hf_ansi_map_callControlDirectiveRes,
19184       { "callControlDirectiveRes", "ansi_map.callControlDirectiveRes",
19185         FT_NONE, BASE_NONE, NULL, 0,
19186         "ansi_map.CallControlDirectiveRes", HFILL }},
19187     { &hf_ansi_map_oDisconnectRes,
19188       { "oDisconnectRes", "ansi_map.oDisconnectRes",
19189         FT_NONE, BASE_NONE, NULL, 0,
19190         "ansi_map.ODisconnectRes", HFILL }},
19191     { &hf_ansi_map_tDisconnectRes,
19192       { "tDisconnectRes", "ansi_map.tDisconnectRes",
19193         FT_NONE, BASE_NONE, NULL, 0,
19194         "ansi_map.TDisconnectRes", HFILL }},
19195     { &hf_ansi_map_oCalledPartyBusyRes,
19196       { "oCalledPartyBusyRes", "ansi_map.oCalledPartyBusyRes",
19197         FT_NONE, BASE_NONE, NULL, 0,
19198         "ansi_map.OCalledPartyBusyRes", HFILL }},
19199     { &hf_ansi_map_oNoAnswerRes,
19200       { "oNoAnswerRes", "ansi_map.oNoAnswerRes",
19201         FT_NONE, BASE_NONE, NULL, 0,
19202         "ansi_map.ONoAnswerRes", HFILL }},
19203     { &hf_ansi_map_positionRequestRes,
19204       { "positionRequestRes", "ansi_map.positionRequestRes",
19205         FT_NONE, BASE_NONE, NULL, 0,
19206         "ansi_map.PositionRequestRes", HFILL }},
19207     { &hf_ansi_map_positionRequestForwardRes,
19208       { "positionRequestForwardRes", "ansi_map.positionRequestForwardRes",
19209         FT_NONE, BASE_NONE, NULL, 0,
19210         "ansi_map.PositionRequestForwardRes", HFILL }},
19211     { &hf_ansi_map_interSystemPositionRequestRes,
19212       { "interSystemPositionRequestRes", "ansi_map.interSystemPositionRequestRes",
19213         FT_NONE, BASE_NONE, NULL, 0,
19214         "ansi_map.InterSystemPositionRequestRes", HFILL }},
19215     { &hf_ansi_map_interSystemPositionRequestForwardRes,
19216       { "interSystemPositionRequestForwardRes", "ansi_map.interSystemPositionRequestForwardRes",
19217         FT_NONE, BASE_NONE, NULL, 0,
19218         "ansi_map.InterSystemPositionRequestForwardRes", HFILL }},
19219     { &hf_ansi_map_roamerDatabaseVerificationRequestRes,
19220       { "roamerDatabaseVerificationRequestRes", "ansi_map.roamerDatabaseVerificationRequestRes",
19221         FT_NONE, BASE_NONE, NULL, 0,
19222         "ansi_map.RoamerDatabaseVerificationRequestRes", HFILL }},
19223     { &hf_ansi_map_addServiceRes,
19224       { "addServiceRes", "ansi_map.addServiceRes",
19225         FT_NONE, BASE_NONE, NULL, 0,
19226         "ansi_map.AddServiceRes", HFILL }},
19227     { &hf_ansi_map_dropServiceRes,
19228       { "dropServiceRes", "ansi_map.dropServiceRes",
19229         FT_NONE, BASE_NONE, NULL, 0,
19230         "ansi_map.DropServiceRes", HFILL }},
19231     { &hf_ansi_map_interSystemSMSPage,
19232       { "interSystemSMSPage", "ansi_map.interSystemSMSPage",
19233         FT_NONE, BASE_NONE, NULL, 0,
19234         "ansi_map.InterSystemSMSPage", HFILL }},
19235     { &hf_ansi_map_lcsParameterRequestRes,
19236       { "lcsParameterRequestRes", "ansi_map.lcsParameterRequestRes",
19237         FT_NONE, BASE_NONE, NULL, 0,
19238         "ansi_map.LCSParameterRequestRes", HFILL }},
19239     { &hf_ansi_map_checkMEIDRes,
19240       { "checkMEIDRes", "ansi_map.checkMEIDRes",
19241         FT_NONE, BASE_NONE, NULL, 0,
19242         "ansi_map.CheckMEIDRes", HFILL }},
19243     { &hf_ansi_map_statusRequestRes,
19244       { "statusRequestRes", "ansi_map.statusRequestRes",
19245         FT_NONE, BASE_NONE, NULL, 0,
19246         "ansi_map.StatusRequestRes", HFILL }},
19247     { &hf_ansi_map_interSystemSMSDeliveryPointToPointRes,
19248       { "interSystemSMSDeliveryPointToPointRes", "ansi_map.interSystemSMSDeliveryPointToPointRes",
19249         FT_NONE, BASE_NONE, NULL, 0,
19250         "ansi_map.InterSystemSMSDeliveryPointToPointRes", HFILL }},
19251     { &hf_ansi_map_qualificationRequest2Res,
19252       { "qualificationRequest2Res", "ansi_map.qualificationRequest2Res",
19253         FT_NONE, BASE_NONE, NULL, 0,
19254         "ansi_map.QualificationRequest2Res", HFILL }},
19255
19256 /*--- End of included file: packet-ansi_map-hfarr.c ---*/
19257 #line 5247 "packet-ansi_map-template.c"
19258     };
19259
19260     /* List of subtrees */
19261     static gint *ett[] = {
19262         &ett_ansi_map,
19263         &ett_mintype,
19264         &ett_digitstype,
19265         &ett_billingid,
19266         &ett_sms_bearer_data,
19267         &ett_sms_teleserviceIdentifier,
19268         &ett_extendedmscid,
19269         &ett_extendedsystemmytypecode,
19270         &ett_handoffstate,
19271         &ett_mscid,
19272         &ett_cdmachanneldata,
19273         &ett_cdmastationclassmark,
19274         &ett_channeldata,
19275         &ett_confidentialitymodes,
19276         &ett_controlchanneldata,
19277         &ett_CDMA2000HandoffInvokeIOSData,
19278         &ett_CDMA2000HandoffResponseIOSData,
19279         &ett_originationtriggers,
19280         &ett_pacaindicator,
19281         &ett_callingpartyname,
19282         &ett_triggercapability,
19283         &ett_winoperationscapability,
19284         &ett_win_trigger_list,
19285         &ett_controlnetworkid,
19286         &ett_transactioncapability,
19287         &ett_cdmaserviceoption,
19288         &ett_sms_originationrestrictions,
19289         &ett_systemcapabilities,
19290
19291 /*--- Included file: packet-ansi_map-ettarr.c ---*/
19292 #line 1 "packet-ansi_map-ettarr.c"
19293     &ett_ansi_map_AuthenticationDirective_U,
19294     &ett_ansi_map_AuthenticationDirectiveRes_U,
19295     &ett_ansi_map_AuthenticationDirectiveForward_U,
19296     &ett_ansi_map_AuthenticationDirectiveForwardRes_U,
19297     &ett_ansi_map_AuthenticationFailureReport_U,
19298     &ett_ansi_map_AuthenticationFailureReportRes_U,
19299     &ett_ansi_map_AuthenticationRequest_U,
19300     &ett_ansi_map_AuthenticationRequestRes_U,
19301     &ett_ansi_map_AuthenticationStatusReport_U,
19302     &ett_ansi_map_AuthenticationStatusReportRes_U,
19303     &ett_ansi_map_BaseStationChallenge_U,
19304     &ett_ansi_map_BaseStationChallengeRes_U,
19305     &ett_ansi_map_Blocking_U,
19306     &ett_ansi_map_BulkDeregistration_U,
19307     &ett_ansi_map_CountRequest_U,
19308     &ett_ansi_map_CountRequestRes_U,
19309     &ett_ansi_map_FacilitiesDirective_U,
19310     &ett_ansi_map_FacilitiesDirectiveRes_U,
19311     &ett_ansi_map_FacilitiesDirective2_U,
19312     &ett_ansi_map_FacilitiesDirective2Res_U,
19313     &ett_ansi_map_FacilitiesRelease_U,
19314     &ett_ansi_map_FacilitiesReleaseRes_U,
19315     &ett_ansi_map_FeatureRequest_U,
19316     &ett_ansi_map_FeatureRequestRes_U,
19317     &ett_ansi_map_FlashRequest_U,
19318     &ett_ansi_map_HandoffBack_U,
19319     &ett_ansi_map_HandoffBackRes_U,
19320     &ett_ansi_map_HandoffBack2_U,
19321     &ett_ansi_map_HandoffBack2Res_U,
19322     &ett_ansi_map_HandoffMeasurementRequest_U,
19323     &ett_ansi_map_HandoffMeasurementRequestRes_U,
19324     &ett_ansi_map_HandoffMeasurementRequest2_U,
19325     &ett_ansi_map_HandoffMeasurementRequest2Res_U,
19326     &ett_ansi_map_HandoffToThird_U,
19327     &ett_ansi_map_HandoffToThirdRes_U,
19328     &ett_ansi_map_HandoffToThird2_U,
19329     &ett_ansi_map_HandoffToThird2Res_U,
19330     &ett_ansi_map_InformationDirective_U,
19331     &ett_ansi_map_InformationDirectiveRes_U,
19332     &ett_ansi_map_InformationForward_U,
19333     &ett_ansi_map_InformationForwardRes_U,
19334     &ett_ansi_map_InterSystemAnswer_U,
19335     &ett_ansi_map_InterSystemPage_U,
19336     &ett_ansi_map_InterSystemPageRes_U,
19337     &ett_ansi_map_InterSystemPage2_U,
19338     &ett_ansi_map_InterSystemPage2Res_U,
19339     &ett_ansi_map_InterSystemSetup_U,
19340     &ett_ansi_map_InterSystemSetupRes_U,
19341     &ett_ansi_map_LocationRequest_U,
19342     &ett_ansi_map_LocationRequestRes_U,
19343     &ett_ansi_map_MSInactive_U,
19344     &ett_ansi_map_OriginationRequest_U,
19345     &ett_ansi_map_OriginationRequestRes_U,
19346     &ett_ansi_map_QualificationDirective_U,
19347     &ett_ansi_map_QualificationDirectiveRes_U,
19348     &ett_ansi_map_QualificationRequest_U,
19349     &ett_ansi_map_QualificationRequestRes_U,
19350     &ett_ansi_map_RandomVariableRequest_U,
19351     &ett_ansi_map_RandomVariableRequestRes_U,
19352     &ett_ansi_map_RedirectionDirective_U,
19353     &ett_ansi_map_RedirectionRequest_U,
19354     &ett_ansi_map_RegistrationCancellation_U,
19355     &ett_ansi_map_RegistrationCancellationRes_U,
19356     &ett_ansi_map_RegistrationNotification_U,
19357     &ett_ansi_map_RegistrationNotificationRes_U,
19358     &ett_ansi_map_RemoteUserInteractionDirective_U,
19359     &ett_ansi_map_RemoteUserInteractionDirectiveRes_U,
19360     &ett_ansi_map_ResetCircuit_U,
19361     &ett_ansi_map_ResetCircuitRes_U,
19362     &ett_ansi_map_RoutingRequest_U,
19363     &ett_ansi_map_RoutingRequestRes_U,
19364     &ett_ansi_map_SMSDeliveryBackward_U,
19365     &ett_ansi_map_SMSDeliveryBackwardRes_U,
19366     &ett_ansi_map_SMSDeliveryForward_U,
19367     &ett_ansi_map_SMSDeliveryForwardRes_U,
19368     &ett_ansi_map_SMSDeliveryPointToPoint_U,
19369     &ett_ansi_map_SMSDeliveryPointToPointRes_U,
19370     &ett_ansi_map_SMSDeliveryPointToPointAck_U,
19371     &ett_ansi_map_SMSNotification_U,
19372     &ett_ansi_map_SMSNotificationRes_U,
19373     &ett_ansi_map_SMSRequest_U,
19374     &ett_ansi_map_SMSRequestRes_U,
19375     &ett_ansi_map_TransferToNumberRequest_U,
19376     &ett_ansi_map_TransferToNumberRequestRes_U,
19377     &ett_ansi_map_TrunkTest_U,
19378     &ett_ansi_map_TrunkTestDisconnect_U,
19379     &ett_ansi_map_Unblocking_U,
19380     &ett_ansi_map_UnreliableRoamerDataDirective_U,
19381     &ett_ansi_map_UnsolicitedResponse_U,
19382     &ett_ansi_map_UnsolicitedResponseRes_U,
19383     &ett_ansi_map_ParameterRequest_U,
19384     &ett_ansi_map_ParameterRequestRes_U,
19385     &ett_ansi_map_TMSIDirective_U,
19386     &ett_ansi_map_TMSIDirectiveRes_U,
19387     &ett_ansi_map_NumberPortabilityRequest_U,
19388     &ett_ansi_map_ServiceRequest_U,
19389     &ett_ansi_map_ServiceRequestRes_U,
19390     &ett_ansi_map_AnalyzedInformation_U,
19391     &ett_ansi_map_AnalyzedInformationRes_U,
19392     &ett_ansi_map_ConnectionFailureReport_U,
19393     &ett_ansi_map_ConnectResource_U,
19394     &ett_ansi_map_FacilitySelectedAndAvailable_U,
19395     &ett_ansi_map_FacilitySelectedAndAvailableRes_U,
19396     &ett_ansi_map_Modify_U,
19397     &ett_ansi_map_ModifyRes_U,
19398     &ett_ansi_map_Search_U,
19399     &ett_ansi_map_SearchRes_U,
19400     &ett_ansi_map_SeizeResource_U,
19401     &ett_ansi_map_SeizeResourceRes_U,
19402     &ett_ansi_map_SRFDirective_U,
19403     &ett_ansi_map_SRFDirectiveRes_U,
19404     &ett_ansi_map_TBusy_U,
19405     &ett_ansi_map_TBusyRes_U,
19406     &ett_ansi_map_TNoAnswer_U,
19407     &ett_ansi_map_TNoAnswerRes_U,
19408     &ett_ansi_map_ChangeFacilities_U,
19409     &ett_ansi_map_ChangeFacilitiesRes_U,
19410     &ett_ansi_map_ChangeService_U,
19411     &ett_ansi_map_ChangeServiceRes_U,
19412     &ett_ansi_map_MessageDirective_U,
19413     &ett_ansi_map_BulkDisconnection_U,
19414     &ett_ansi_map_CallControlDirective_U,
19415     &ett_ansi_map_CallControlDirectiveRes_U,
19416     &ett_ansi_map_OAnswer_U,
19417     &ett_ansi_map_ODisconnect_U,
19418     &ett_ansi_map_ODisconnectRes_U,
19419     &ett_ansi_map_CallRecoveryReport_U,
19420     &ett_ansi_map_TAnswer_U,
19421     &ett_ansi_map_TDisconnect_U,
19422     &ett_ansi_map_TDisconnectRes_U,
19423     &ett_ansi_map_UnreliableCallData_U,
19424     &ett_ansi_map_OCalledPartyBusy_U,
19425     &ett_ansi_map_OCalledPartyBusyRes_U,
19426     &ett_ansi_map_ONoAnswer_U,
19427     &ett_ansi_map_ONoAnswerRes_U,
19428     &ett_ansi_map_PositionRequest_U,
19429     &ett_ansi_map_PositionRequestRes_U,
19430     &ett_ansi_map_PositionRequestForward_U,
19431     &ett_ansi_map_PositionRequestForwardRes_U,
19432     &ett_ansi_map_CallTerminationReport_U,
19433     &ett_ansi_map_GeoPositionRequest_U,
19434     &ett_ansi_map_InterSystemPositionRequest_U,
19435     &ett_ansi_map_InterSystemPositionRequestRes_U,
19436     &ett_ansi_map_InterSystemPositionRequestForward_U,
19437     &ett_ansi_map_InterSystemPositionRequestForwardRes_U,
19438     &ett_ansi_map_ACGDirective_U,
19439     &ett_ansi_map_RoamerDatabaseVerificationRequest_U,
19440     &ett_ansi_map_RoamerDatabaseVerificationRequestRes_U,
19441     &ett_ansi_map_LCSParameterRequest_U,
19442     &ett_ansi_map_LCSParameterRequestRes_U,
19443     &ett_ansi_map_CheckMEID_U,
19444     &ett_ansi_map_CheckMEIDRes_U,
19445     &ett_ansi_map_AddService_U,
19446     &ett_ansi_map_AddServiceRes_U,
19447     &ett_ansi_map_DropService_U,
19448     &ett_ansi_map_DropServiceRes_U,
19449     &ett_ansi_map_PositionEventNotification_U,
19450     &ett_ansi_map_OTASPRequest_U,
19451     &ett_ansi_map_OTASPRequestRes_U,
19452     &ett_ansi_map_StatusRequest_U,
19453     &ett_ansi_map_StatusRequestRes_U,
19454     &ett_ansi_map_InterSystemSMSDeliveryPointToPoint_U,
19455     &ett_ansi_map_InterSystemSMSDeliveryPointToPointRes_U,
19456     &ett_ansi_map_InterSystemSMSPage_U,
19457     &ett_ansi_map_QualificationRequest2_U,
19458     &ett_ansi_map_QualificationRequest2Res_U,
19459     &ett_ansi_map_AnnouncementList,
19460     &ett_ansi_map_CDMACodeChannelInformation,
19461     &ett_ansi_map_CDMACodeChannelList,
19462     &ett_ansi_map_CDMATargetMAHOInformation,
19463     &ett_ansi_map_CDMATargetMAHOList,
19464     &ett_ansi_map_CDMATargetMeasurementInformation,
19465     &ett_ansi_map_CDMATargetMeasurementList,
19466     &ett_ansi_map_IntersystemTermination,
19467     &ett_ansi_map_LocalTermination,
19468     &ett_ansi_map_PSTNTermination,
19469     &ett_ansi_map_TargetMeasurementInformation,
19470     &ett_ansi_map_TargetMeasurementList,
19471     &ett_ansi_map_TerminationList,
19472     &ett_ansi_map_TerminationList_item,
19473     &ett_ansi_map_CDMABandClassInformation,
19474     &ett_ansi_map_CDMABandClassList,
19475     &ett_ansi_map_CDMAServiceOptionList,
19476     &ett_ansi_map_PSID_RSIDList,
19477     &ett_ansi_map_TargetCellIDList,
19478     &ett_ansi_map_CDMAConnectionReferenceInformation,
19479     &ett_ansi_map_CDMAConnectionReferenceList,
19480     &ett_ansi_map_CDMAConnectionReferenceList_item,
19481     &ett_ansi_map_AnalogRedirectRecord,
19482     &ett_ansi_map_CDMAChannelNumberList,
19483     &ett_ansi_map_CDMAChannelNumberList_item,
19484     &ett_ansi_map_CDMARedirectRecord,
19485     &ett_ansi_map_MSID,
19486     &ett_ansi_map_DataAccessElement,
19487     &ett_ansi_map_DataAccessElementList,
19488     &ett_ansi_map_DataAccessElementList_item,
19489     &ett_ansi_map_DataUpdateResult,
19490     &ett_ansi_map_DataUpdateResultList,
19491     &ett_ansi_map_DestinationAddress,
19492     &ett_ansi_map_ExecuteScript,
19493     &ett_ansi_map_ModificationRequest,
19494     &ett_ansi_map_ModificationRequestList,
19495     &ett_ansi_map_ModificationResult,
19496     &ett_ansi_map_ModificationResultList,
19497     &ett_ansi_map_ServiceDataAccessElement,
19498     &ett_ansi_map_ServiceDataAccessElementList,
19499     &ett_ansi_map_ServiceDataResult,
19500     &ett_ansi_map_ServiceDataResultList,
19501     &ett_ansi_map_TriggerAddressList,
19502     &ett_ansi_map_TriggerList,
19503     &ett_ansi_map_WINCapability,
19504     &ett_ansi_map_CallRecoveryID,
19505     &ett_ansi_map_CallRecoveryIDList,
19506     &ett_ansi_map_PositionInformation,
19507     &ett_ansi_map_GapInterval,
19508     &ett_ansi_map_CDMAPSMMList,
19509     &ett_ansi_map_CDMAPSMMList_item,
19510     &ett_ansi_map_MPCAddressList,
19511     &ett_ansi_map_MobileStationMSID,
19512     &ett_ansi_map_NewlyAssignedMSID,
19513     &ett_ansi_map_InvokeData,
19514     &ett_ansi_map_ReturnData,
19515
19516 /*--- End of included file: packet-ansi_map-ettarr.c ---*/
19517 #line 5280 "packet-ansi_map-template.c"
19518     };
19519
19520
19521     /* Register protocol */
19522     proto_ansi_map = proto_register_protocol(PNAME, PSNAME, PFNAME);
19523     /* Register fields and subtrees */
19524     proto_register_field_array(proto_ansi_map, hf, array_length(hf));
19525     proto_register_subtree_array(ett, array_length(ett));
19526  
19527     register_dissector("ansi_map", dissect_ansi_map, proto_ansi_map);
19528
19529     is637_tele_id_dissector_table =
19530         register_dissector_table("ansi_map.tele_id", "IS-637 Teleservice ID",
19531                                  FT_UINT8, BASE_DEC);
19532
19533     is683_dissector_table =
19534         register_dissector_table("ansi_map.ota", "IS-683-A (OTA)",
19535                                  FT_UINT8, BASE_DEC);
19536
19537     is801_dissector_table =
19538         register_dissector_table("ansi_map.pld", "IS-801 (PLD)",
19539                                  FT_UINT8, BASE_DEC);
19540
19541     ansi_map_tap = register_tap("ansi_map");
19542
19543
19544     range_convert_str(&global_ssn_range, "5-14", MAX_SSN);
19545
19546     ansi_map_module = prefs_register_protocol(proto_ansi_map, proto_reg_handoff_ansi_map);
19547     
19548
19549     prefs_register_range_preference(ansi_map_module, "map.ssn", "ANSI MAP SSNs",
19550                                     "ANSI MAP SSNs to decode as ANSI MAP",
19551                                     &global_ssn_range, MAX_SSN);
19552
19553     register_init_routine(&ansi_map_init_protocol);
19554 }
19555
19556
19557
19558
19559