From shmulikB:
[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 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 - 2007, 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/conversation.h>
103 #include <epan/tap.h>
104 #include <epan/emem.h>
105 #include <epan/asn1.h>
106
107 #include <stdio.h>
108 #include <string.h>
109
110 #include "packet-ber.h"
111 #include "packet-ansi_map.h"
112 #include "packet-ansi_a.h"
113 #include "packet-gsm_map.h"
114 #include "packet-tcap.h"
115 #include "packet-ansi_tcap.h"
116
117 #define PNAME  "ANSI Mobile Application Part"
118 #define PSNAME "ANSI MAP"
119 #define PFNAME "ansi_map"
120
121 /* Preferenc settings default */
122 #define MAX_SSN 254
123 static range_t *global_ssn_range;
124 static range_t *ssn_range;
125
126 static dissector_handle_t ansi_map_handle=NULL;
127
128 /* Initialize the protocol and registered fields */
129 static int ansi_map_tap = -1;
130 static int proto_ansi_map = -1;
131
132 static int hf_ansi_map_op_code_fam = -1;
133 static int hf_ansi_map_op_code = -1;
134
135 static int hf_ansi_map_reservedBitH = -1;
136 static int hf_ansi_map_reservedBitHG = -1;
137 static int hf_ansi_map_reservedBitHGFE = -1;
138 static int hf_ansi_map_reservedBitFED = -1;
139 static int hf_ansi_map_reservedBitD = -1;
140 static int hf_ansi_map_reservedBitED = -1;
141
142 static int hf_ansi_map_type_of_digits = -1;
143 static int hf_ansi_map_na = -1;
144 static int hf_ansi_map_pi = -1;
145 static int hf_ansi_map_navail = -1;
146 static int hf_ansi_map_si = -1;
147 static int hf_ansi_map_digits_enc = -1;
148 static int hf_ansi_map_np = -1;
149 static int hf_ansi_map_nr_digits = -1;
150 static int hf_ansi_map_bcd_digits = -1;
151 static int hf_ansi_map_ia5_digits = -1;
152 static int hf_ansi_map_subaddr_type = -1;
153 static int hf_ansi_map_subaddr_odd_even = -1;
154 static int hf_ansi_alertcode_cadence = -1;
155 static int hf_ansi_alertcode_pitch = -1;
156 static int hf_ansi_alertcode_alertaction = -1;
157 static int hf_ansi_map_announcementcode_tone = -1;
158 static int hf_ansi_map_announcementcode_class = -1;
159 static int hf_ansi_map_announcementcode_std_ann = -1;
160 static int hf_ansi_map_announcementcode_cust_ann = -1;
161 static int hf_ansi_map_authorizationperiod_period = -1;
162 static int hf_ansi_map_value = -1;
163 static int hf_ansi_map_msc_type = -1;
164 static int hf_ansi_map_handoffstate_pi = -1;
165 static int hf_ansi_map_tgn = -1;
166 static int hf_ansi_map_tmn = -1;
167 static int hf_ansi_map_messagewaitingnotificationcount_tom = -1;
168 static int hf_ansi_map_messagewaitingnotificationcount_no_mw = -1;
169 static int hf_ansi_map_messagewaitingnotificationtype_mwi = -1;
170 static int hf_ansi_map_messagewaitingnotificationtype_apt = -1;
171 static int hf_ansi_map_messagewaitingnotificationtype_pt = -1;
172
173 static int hf_ansi_map_trans_cap_prof = -1;
174 static int hf_ansi_map_trans_cap_busy = -1;
175 static int hf_ansi_map_trans_cap_ann = -1;
176 static int hf_ansi_map_trans_cap_rui = -1;
177 static int hf_ansi_map_trans_cap_spini = -1;
178 static int hf_ansi_map_trans_cap_uzci = -1;
179 static int hf_ansi_map_trans_cap_ndss = -1;
180 static int hf_ansi_map_trans_cap_nami = -1;
181 static int hf_ansi_trans_cap_multerm = -1;
182 static int hf_ansi_map_terminationtriggers_busy = -1;
183 static int hf_ansi_map_terminationtriggers_rf = -1;
184 static int hf_ansi_map_terminationtriggers_npr = -1;
185 static int hf_ansi_map_terminationtriggers_na = -1;
186 static int hf_ansi_map_terminationtriggers_nr = -1;
187 static int hf_ansi_trans_cap_tl = -1;
188 static int hf_ansi_map_cdmaserviceoption = -1;
189 static int hf_ansi_trans_cap_waddr = -1;
190 static int hf_ansi_map_MarketID = -1;
191 static int hf_ansi_map_swno = -1;
192 static int hf_ansi_map_idno = -1;
193 static int hf_ansi_map_segcount = -1;
194 static int hf_ansi_map_sms_originationrestrictions_fmc = -1;
195 static int hf_ansi_map_sms_originationrestrictions_direct = -1;
196 static int hf_ansi_map_sms_originationrestrictions_default = -1;
197 static int hf_ansi_map_systemcapabilities_auth = -1;
198 static int hf_ansi_map_systemcapabilities_se = -1;
199 static int hf_ansi_map_systemcapabilities_vp = -1;
200 static int hf_ansi_map_systemcapabilities_cave = -1;
201 static int hf_ansi_map_systemcapabilities_ssd = -1;
202 static int hf_ansi_map_systemcapabilities_dp = -1;
203
204 static int hf_ansi_map_mslocation_lat = -1;
205 static int hf_ansi_map_mslocation_long = -1;
206 static int hf_ansi_map_mslocation_res = -1;
207 static int hf_ansi_map_nampscallmode_namps = -1;
208 static int hf_ansi_map_nampscallmode_amps = -1;
209 static int hf_ansi_map_nampschanneldata_navca = -1;
210 static int hf_ansi_map_nampschanneldata_CCIndicator = -1;
211
212 static int hf_ansi_map_callingfeaturesindicator_cfufa = -1;
213 static int hf_ansi_map_callingfeaturesindicator_cfbfa = -1;
214 static int hf_ansi_map_callingfeaturesindicator_cfnafa = -1;
215 static int hf_ansi_map_callingfeaturesindicator_cwfa = -1;
216 static int hf_ansi_map_callingfeaturesindicator_3wcfa = -1;
217 static int hf_ansi_map_callingfeaturesindicator_pcwfa =-1;
218 static int hf_ansi_map_callingfeaturesindicator_dpfa = -1;
219 static int hf_ansi_map_callingfeaturesindicator_ahfa = -1;
220 static int hf_ansi_map_callingfeaturesindicator_uscfvmfa = -1;
221 static int hf_ansi_map_callingfeaturesindicator_uscfmsfa = -1;
222 static int hf_ansi_map_callingfeaturesindicator_uscfnrfa = -1;
223 static int hf_ansi_map_callingfeaturesindicator_cpdsfa = -1;
224 static int hf_ansi_map_callingfeaturesindicator_ccsfa = -1;
225 static int hf_ansi_map_callingfeaturesindicator_epefa = -1;
226 static int hf_ansi_map_callingfeaturesindicator_cdfa = -1;
227 static int hf_ansi_map_callingfeaturesindicator_vpfa = -1;
228 static int hf_ansi_map_callingfeaturesindicator_ctfa = -1;
229 static int hf_ansi_map_callingfeaturesindicator_cnip1fa = -1;
230 static int hf_ansi_map_callingfeaturesindicator_cnip2fa = -1;
231 static int hf_ansi_map_callingfeaturesindicator_cnirfa = -1;
232 static int hf_ansi_map_callingfeaturesindicator_cniroverfa = -1;
233 static int hf_ansi_map_cdmacallmode_cdma = -1;
234 static int hf_ansi_map_cdmacallmode_amps = -1;
235 static int hf_ansi_map_cdmacallmode_namps = -1;
236 static int hf_ansi_map_cdmacallmode_cls1 = -1;
237 static int hf_ansi_map_cdmacallmode_cls2 = -1;
238 static int hf_ansi_map_cdmacallmode_cls3 = -1;
239 static int hf_ansi_map_cdmacallmode_cls4 = -1;
240 static int hf_ansi_map_cdmacallmode_cls5 = -1;
241 static int hf_ansi_map_cdmacallmode_cls6 = -1;
242 static int hf_ansi_map_cdmacallmode_cls7 = -1;
243 static int hf_ansi_map_cdmacallmode_cls8 = -1;
244 static int hf_ansi_map_cdmacallmode_cls9 = -1;
245 static int hf_ansi_map_cdmacallmode_cls10 = -1;
246 static int hf_ansi_map_cdmachanneldata_Frame_Offset = -1;
247 static int hf_ansi_map_cdmachanneldata_CDMA_ch_no = -1;
248 static int hf_ansi_map_cdmachanneldata_band_cls = -1;
249 static int hf_ansi_map_cdmachanneldata_lc_mask_b6 = -1;
250 static int hf_ansi_map_cdmachanneldata_lc_mask_b5 = -1;
251 static int hf_ansi_map_cdmachanneldata_lc_mask_b4 = -1;
252 static int hf_ansi_map_cdmachanneldata_lc_mask_b3 = -1;
253 static int hf_ansi_map_cdmachanneldata_lc_mask_b2 = -1;
254 static int hf_ansi_map_cdmachanneldata_lc_mask_b1 = -1;
255 static int hf_ansi_map_cdmachanneldata_np_ext = -1;
256 static int hf_ansi_map_cdmachanneldata_nominal_pwr = -1;
257 static int hf_ansi_map_cdmachanneldata_nr_preamble = -1;
258  
259 static int hf_ansi_map_cdmastationclassmark_pc = -1;
260 static int hf_ansi_map_cdmastationclassmark_dtx = -1;
261 static int hf_ansi_map_cdmastationclassmark_smi = -1;
262 static int hf_ansi_map_cdmastationclassmark_dmi = -1;
263 static int hf_ansi_map_channeldata_vmac = -1;
264 static int hf_ansi_map_channeldata_dtx = -1;
265 static int hf_ansi_map_channeldata_scc = -1;
266 static int hf_ansi_map_channeldata_chno = -1;
267 static int hf_ansi_map_ConfidentialityModes_vp = -1;
268 static int hf_ansi_map_controlchanneldata_dcc = -1;
269 static int hf_ansi_map_controlchanneldata_cmac = -1;
270 static int hf_ansi_map_controlchanneldata_chno = -1;
271 static int hf_ansi_map_controlchanneldata_sdcc1 = -1;
272 static int hf_ansi_map_controlchanneldata_sdcc2 = -1;
273 static int hf_ansi_map_ConfidentialityModes_se = -1;
274 static int hf_ansi_map_deniedauthorizationperiod_period = -1;
275 static int hf_ansi_map_ConfidentialityModes_dp = -1;
276
277 static int hf_ansi_map_originationtriggers_all = -1;
278 static int hf_ansi_map_originationtriggers_local = -1;
279 static int hf_ansi_map_originationtriggers_ilata = -1;
280 static int hf_ansi_map_originationtriggers_olata = -1;
281 static int hf_ansi_map_originationtriggers_int = -1;
282 static int hf_ansi_map_originationtriggers_wz = -1;
283 static int hf_ansi_map_originationtriggers_unrec = -1;
284 static int hf_ansi_map_originationtriggers_rvtc = -1;
285 static int hf_ansi_map_originationtriggers_star = -1;
286 static int hf_ansi_map_originationtriggers_ds = -1;
287 static int hf_ansi_map_originationtriggers_pound = -1;
288 static int hf_ansi_map_originationtriggers_dp = -1;
289 static int hf_ansi_map_originationtriggers_pa = -1;
290 static int hf_ansi_map_originationtriggers_nodig = -1;
291 static int hf_ansi_map_originationtriggers_onedig = -1;
292 static int hf_ansi_map_originationtriggers_twodig = -1;
293 static int hf_ansi_map_originationtriggers_threedig = -1;
294 static int hf_ansi_map_originationtriggers_fourdig = -1;
295 static int hf_ansi_map_originationtriggers_fivedig = -1;
296 static int hf_ansi_map_originationtriggers_sixdig = -1;
297 static int hf_ansi_map_originationtriggers_sevendig = -1;
298 static int hf_ansi_map_originationtriggers_eightdig = -1;
299 static int hf_ansi_map_originationtriggers_ninedig = -1;
300 static int hf_ansi_map_originationtriggers_tendig = -1;
301 static int hf_ansi_map_originationtriggers_elevendig = -1;
302 static int hf_ansi_map_originationtriggers_thwelvedig = -1;
303 static int hf_ansi_map_originationtriggers_thirteendig = -1;
304 static int hf_ansi_map_originationtriggers_fourteendig = -1;
305 static int hf_ansi_map_originationtriggers_fifteendig = -1;
306 static int hf_ansi_map_triggercapability_init = -1;
307 static int hf_ansi_map_triggercapability_kdigit = -1;
308 static int hf_ansi_map_triggercapability_all = -1;
309 static int hf_ansi_map_triggercapability_rvtc = -1;
310 static int hf_ansi_map_triggercapability_oaa = -1;
311 static int hf_ansi_map_triggercapability_oans = -1;
312 static int hf_ansi_map_triggercapability_odisc = -1;
313 static int hf_ansi_map_triggercapability_ona = -1;
314 static int hf_ansi_map_triggercapability_ct = -1;
315 static int hf_ansi_map_triggercapability_unrec =-1;
316 static int hf_ansi_map_triggercapability_pa = -1;
317 static int hf_ansi_map_triggercapability_at = -1;
318 static int hf_ansi_map_triggercapability_cgraa = -1;
319 static int hf_ansi_map_triggercapability_it = -1;
320 static int hf_ansi_map_triggercapability_cdraa = -1;
321 static int hf_ansi_map_triggercapability_obsy = -1;
322 static int hf_ansi_map_triggercapability_tra = -1;
323 static int hf_ansi_map_triggercapability_tbusy = -1;
324 static int hf_ansi_map_triggercapability_tna = -1;
325 static int hf_ansi_map_triggercapability_tans = -1;
326 static int hf_ansi_map_triggercapability_tdisc = -1;
327 static int hf_ansi_map_winoperationscapability_conn = -1;
328 static int hf_ansi_map_winoperationscapability_ccdir = -1;
329 static int hf_ansi_map_winoperationscapability_pos = -1;
330 static int hf_ansi_map_PACA_Level = -1;
331 static int hf_ansi_map_pacaindicator_pa = -1;
332
333
334 /*--- Included file: packet-ansi_map-hf.c ---*/
335 #line 1 "packet-ansi_map-hf.c"
336 static int hf_ansi_map_electronicSerialNumber = -1;  /* ElectronicSerialNumber */
337 static int hf_ansi_map_msid = -1;                 /* MSID */
338 static int hf_ansi_map_authenticationAlgorithmVersion = -1;  /* AuthenticationAlgorithmVersion */
339 static int hf_ansi_map_authenticationResponseReauthentication = -1;  /* AuthenticationResponseReauthentication */
340 static int hf_ansi_map_authenticationResponseUniqueChallenge = -1;  /* AuthenticationResponseUniqueChallenge */
341 static int hf_ansi_map_callHistoryCount = -1;     /* CallHistoryCount */
342 static int hf_ansi_map_cdmaPrivateLongCodeMask = -1;  /* CDMAPrivateLongCodeMask */
343 static int hf_ansi_map_carrierDigits = -1;        /* CarrierDigits */
344 static int hf_ansi_map_denyAccess = -1;           /* DenyAccess */
345 static int hf_ansi_map_destinationDigits = -1;    /* DestinationDigits */
346 static int hf_ansi_map_locationAreaID = -1;       /* LocationAreaID */
347 static int hf_ansi_map_randomVariableReauthentication = -1;  /* RandomVariableReauthentication */
348 static int hf_ansi_map_meid = -1;                 /* MEID */
349 static int hf_ansi_map_mobileStationMIN = -1;     /* MobileStationMIN */
350 static int hf_ansi_map_mscid = -1;                /* MSCID */
351 static int hf_ansi_map_randomVariableSSD = -1;    /* RandomVariableSSD */
352 static int hf_ansi_map_randomVariableUniqueChallenge = -1;  /* RandomVariableUniqueChallenge */
353 static int hf_ansi_map_routingDigits = -1;        /* RoutingDigits */
354 static int hf_ansi_map_senderIdentificationNumber = -1;  /* SenderIdentificationNumber */
355 static int hf_ansi_map_sharedSecretData = -1;     /* SharedSecretData */
356 static int hf_ansi_map_signalingMessageEncryptionKey = -1;  /* SignalingMessageEncryptionKey */
357 static int hf_ansi_map_ssdnotShared = -1;         /* SSDNotShared */
358 static int hf_ansi_map_updateCount = -1;          /* UpdateCount */
359 static int hf_ansi_map_interMSCCircuitID = -1;    /* InterMSCCircuitID */
360 static int hf_ansi_map_mobileIdentificationNumber = -1;  /* MobileIdentificationNumber */
361 static int hf_ansi_map_countUpdateReport = -1;    /* CountUpdateReport */
362 static int hf_ansi_map_uniqueChallengeReport = -1;  /* UniqueChallengeReport */
363 static int hf_ansi_map_reportType = -1;           /* ReportType */
364 static int hf_ansi_map_systemAccessType = -1;     /* SystemAccessType */
365 static int hf_ansi_map_systemCapabilities = -1;   /* SystemCapabilities */
366 static int hf_ansi_map_callHistoryCountExpected = -1;  /* CallHistoryCountExpected */
367 static int hf_ansi_map_reportType2 = -1;          /* ReportType */
368 static int hf_ansi_map_terminalType = -1;         /* TerminalType */
369 static int hf_ansi_map_authenticationData = -1;   /* AuthenticationData */
370 static int hf_ansi_map_authenticationResponse = -1;  /* AuthenticationResponse */
371 static int hf_ansi_map_cdmaNetworkIdentification = -1;  /* CDMANetworkIdentification */
372 static int hf_ansi_map_confidentialityModes = -1;  /* ConfidentialityModes */
373 static int hf_ansi_map_controlChannelMode = -1;   /* ControlChannelMode */
374 static int hf_ansi_map_digits = -1;               /* Digits */
375 static int hf_ansi_map_pc_ssn = -1;               /* PC_SSN */
376 static int hf_ansi_map_randomVariable = -1;       /* RandomVariable */
377 static int hf_ansi_map_serviceRedirectionCause = -1;  /* ServiceRedirectionCause */
378 static int hf_ansi_map_suspiciousAccess = -1;     /* SuspiciousAccess */
379 static int hf_ansi_map_transactionCapability = -1;  /* TransactionCapability */
380 static int hf_ansi_map_analogRedirectRecord = -1;  /* AnalogRedirectRecord */
381 static int hf_ansi_map_cdmaRedirectRecord = -1;   /* CDMARedirectRecord */
382 static int hf_ansi_map_dataKey = -1;              /* DataKey */
383 static int hf_ansi_map_roamingIndication = -1;    /* RoamingIndication */
384 static int hf_ansi_map_serviceRedirectionInfo = -1;  /* ServiceRedirectionInfo */
385 static int hf_ansi_map_voicePrivacyMask = -1;     /* VoicePrivacyMask */
386 static int hf_ansi_map_reauthenticationReport = -1;  /* ReauthenticationReport */
387 static int hf_ansi_map_serviceIndicator = -1;     /* ServiceIndicator */
388 static int hf_ansi_map_signalingMessageEncryptionReport = -1;  /* SignalingMessageEncryptionReport */
389 static int hf_ansi_map_ssdUpdateReport = -1;      /* SSDUpdateReport */
390 static int hf_ansi_map_voicePrivacyReport = -1;   /* VoicePrivacyReport */
391 static int hf_ansi_map_randomVariableBaseStation = -1;  /* RandomVariableBaseStation */
392 static int hf_ansi_map_authenticationResponseBaseStation = -1;  /* AuthenticationResponseBaseStation */
393 static int hf_ansi_map_billingID = -1;            /* BillingID */
394 static int hf_ansi_map_channelData = -1;          /* ChannelData */
395 static int hf_ansi_map_interSwitchCount = -1;     /* InterSwitchCount */
396 static int hf_ansi_map_servingCellID = -1;        /* ServingCellID */
397 static int hf_ansi_map_stationClassMark = -1;     /* StationClassMark */
398 static int hf_ansi_map_targetCellID = -1;         /* TargetCellID */
399 static int hf_ansi_map_handoffReason = -1;        /* HandoffReason */
400 static int hf_ansi_map_handoffState = -1;         /* HandoffState */
401 static int hf_ansi_map_tdmaBurstIndicator = -1;   /* TDMABurstIndicator */
402 static int hf_ansi_map_tdmaCallMode = -1;         /* TDMACallMode */
403 static int hf_ansi_map_tdmaChannelData = -1;      /* TDMAChannelData */
404 static int hf_ansi_map_baseStationManufacturerCode = -1;  /* BaseStationManufacturerCode */
405 static int hf_ansi_map_alertCode = -1;            /* AlertCode */
406 static int hf_ansi_map_cdma2000HandoffInvokeIOSData = -1;  /* CDMA2000HandoffInvokeIOSData */
407 static int hf_ansi_map_cdmaBandClassList = -1;    /* CDMABandClassList */
408 static int hf_ansi_map_cdmaCallMode = -1;         /* CDMACallMode */
409 static int hf_ansi_map_cdmaChannelData = -1;      /* CDMAChannelData */
410 static int hf_ansi_map_cdmaConnectionReferenceList = -1;  /* CDMAConnectionReferenceList */
411 static int hf_ansi_map_cdmaMobileProtocolRevision = -1;  /* CDMAMobileProtocolRevision */
412 static int hf_ansi_map_cdmaMSMeasuredChannelIdentity = -1;  /* CDMAMSMeasuredChannelIdentity */
413 static int hf_ansi_map_cdmaServiceConfigurationRecord = -1;  /* CDMAServiceConfigurationRecord */
414 static int hf_ansi_map_cdmaServiceOptionList = -1;  /* CDMAServiceOptionList */
415 static int hf_ansi_map_cdmaServingOneWayDelay = -1;  /* CDMAServingOneWayDelay */
416 static int hf_ansi_map_cdmaStationClassMark = -1;  /* CDMAStationClassMark */
417 static int hf_ansi_map_cdmaStationClassMark2 = -1;  /* CDMAStationClassMark2 */
418 static int hf_ansi_map_cdmaTargetMAHOList = -1;   /* CDMATargetMAHOList */
419 static int hf_ansi_map_cdmaTargetMeasurementList = -1;  /* CDMATargetMeasurementList */
420 static int hf_ansi_map_dataPrivacyParameters = -1;  /* DataPrivacyParameters */
421 static int hf_ansi_map_ilspInformation = -1;      /* ISLPInformation */
422 static int hf_ansi_map_msLocation = -1;           /* MSLocation */
423 static int hf_ansi_map_nampsCallMode = -1;        /* NAMPSCallMode */
424 static int hf_ansi_map_nampsChannelData = -1;     /* NAMPSChannelData */
425 static int hf_ansi_map_nonPublicData = -1;        /* NonPublicData */
426 static int hf_ansi_map_pdsnAddress = -1;          /* PDSNAddress */
427 static int hf_ansi_map_pdsnProtocolType = -1;     /* PDSNProtocolType */
428 static int hf_ansi_map_qosPriority = -1;          /* QoSPriority */
429 static int hf_ansi_map_systemOperatorCode = -1;   /* SystemOperatorCode */
430 static int hf_ansi_map_tdmaBandwidth = -1;        /* TDMABandwidth */
431 static int hf_ansi_map_tdmaServiceCode = -1;      /* TDMAServiceCode */
432 static int hf_ansi_map_tdmaTerminalCapability = -1;  /* TDMATerminalCapability */
433 static int hf_ansi_map_tdmaVoiceCoder = -1;       /* TDMAVoiceCoder */
434 static int hf_ansi_map_userZoneData = -1;         /* UserZoneData */
435 static int hf_ansi_map_bsmcstatus = -1;           /* BSMCStatus */
436 static int hf_ansi_map_cdma2000HandoffResponseIOSData = -1;  /* CDMA2000HandoffResponseIOSData */
437 static int hf_ansi_map_cdmaCodeChannelList = -1;  /* CDMACodeChannelList */
438 static int hf_ansi_map_cdmaSearchParameters = -1;  /* CDMASearchParameters */
439 static int hf_ansi_map_cdmaSearchWindow = -1;     /* CDMASearchWindow */
440 static int hf_ansi_map_sOCStatus = -1;            /* SOCStatus */
441 static int hf_ansi_map_releaseReason = -1;        /* ReleaseReason */
442 static int hf_ansi_map_acgencountered = -1;       /* ACGEncountered */
443 static int hf_ansi_map_callingPartyName = -1;     /* CallingPartyName */
444 static int hf_ansi_map_callingPartyNumberDigits1 = -1;  /* CallingPartyNumberDigits1 */
445 static int hf_ansi_map_callingPartyNumberDigits2 = -1;  /* CallingPartyNumberDigits2 */
446 static int hf_ansi_map_callingPartySubaddress = -1;  /* CallingPartySubaddress */
447 static int hf_ansi_map_conferenceCallingIndicator = -1;  /* ConferenceCallingIndicator */
448 static int hf_ansi_map_mobileDirectoryNumber = -1;  /* MobileDirectoryNumber */
449 static int hf_ansi_map_mSCIdentificationNumber = -1;  /* MSCIdentificationNumber */
450 static int hf_ansi_map_oneTimeFeatureIndicator = -1;  /* OneTimeFeatureIndicator */
451 static int hf_ansi_map_featureResult = -1;        /* FeatureResult */
452 static int hf_ansi_map_accessDeniedReason = -1;   /* AccessDeniedReason */
453 static int hf_ansi_map_actionCode = -1;           /* ActionCode */
454 static int hf_ansi_map_announcementList = -1;     /* AnnouncementList */
455 static int hf_ansi_map_callingPartyNumberString1 = -1;  /* CallingPartyNumberString1 */
456 static int hf_ansi_map_callingPartyNumberString2 = -1;  /* CallingPartyNumberString2 */
457 static int hf_ansi_map_digits_Destination = -1;   /* Digits */
458 static int hf_ansi_map_displayText = -1;          /* DisplayText */
459 static int hf_ansi_map_displayText2 = -1;         /* DisplayText2 */
460 static int hf_ansi_map_dmh_AccountCodeDigits = -1;  /* DMH_AccountCodeDigits */
461 static int hf_ansi_map_dmh_AlternateBillingDigits = -1;  /* DMH_AlternateBillingDigits */
462 static int hf_ansi_map_dmh_BillingDigits = -1;    /* DMH_BillingDigits */
463 static int hf_ansi_map_dmh_RedirectionIndicator = -1;  /* DMH_RedirectionIndicator */
464 static int hf_ansi_map_groupInformation = -1;     /* GroupInformation */
465 static int hf_ansi_map_noAnswerTime = -1;         /* NoAnswerTime */
466 static int hf_ansi_map_pACAIndicator = -1;        /* PACAIndicator */
467 static int hf_ansi_map_pilotNumber = -1;          /* PilotNumber */
468 static int hf_ansi_map_preferredLanguageIndicator = -1;  /* PreferredLanguageIndicator */
469 static int hf_ansi_map_redirectingNumberDigits = -1;  /* RedirectingNumberDigits */
470 static int hf_ansi_map_redirectingNumberString = -1;  /* RedirectingNumberString */
471 static int hf_ansi_map_redirectingSubaddress = -1;  /* RedirectingSubaddress */
472 static int hf_ansi_map_resumePIC = -1;            /* ResumePIC */
473 static int hf_ansi_map_terminationList = -1;      /* TerminationList */
474 static int hf_ansi_map_terminationTriggers = -1;  /* TerminationTriggers */
475 static int hf_ansi_map_triggerAddressList = -1;   /* TriggerAddressList */
476 static int hf_ansi_map_emergencyServicesRoutingDigits = -1;  /* EmergencyServicesRoutingDigits */
477 static int hf_ansi_map_targetCellIDList = -1;     /* TargetCellIDList */
478 static int hf_ansi_map_signalQuality = -1;        /* SignalQuality */
479 static int hf_ansi_map_targetMeasurementList = -1;  /* TargetMeasurementList */
480 static int hf_ansi_map_alertResult = -1;          /* AlertResult */
481 static int hf_ansi_map_messageWaitingNotificationCount = -1;  /* MessageWaitingNotificationCount */
482 static int hf_ansi_map_messageWaitingNotificationType = -1;  /* MessageWaitingNotificationType */
483 static int hf_ansi_map_cdmaBandClass = -1;        /* CDMABandClass */
484 static int hf_ansi_map_cdmaServiceOption = -1;    /* CDMAServiceOption */
485 static int hf_ansi_map_cdmaSlotCycleIndex = -1;   /* CDMASlotCycleIndex */
486 static int hf_ansi_map_extendedMSCID = -1;        /* ExtendedMSCID */
487 static int hf_ansi_map_extendedSystemMyTypeCode = -1;  /* ExtendedSystemMyTypeCode */
488 static int hf_ansi_map_imsi = -1;                 /* IMSI */
489 static int hf_ansi_map_legInformation = -1;       /* LegInformation */
490 static int hf_ansi_map_mSIDUsage = -1;            /* MSIDUsage */
491 static int hf_ansi_map_networkTMSI = -1;          /* NetworkTMSI */
492 static int hf_ansi_map_pageCount = -1;            /* PageCount */
493 static int hf_ansi_map_pageIndicator = -1;        /* PageIndicator */
494 static int hf_ansi_map_pageResponseTime = -1;     /* PageResponseTime */
495 static int hf_ansi_map_pilotBillingID = -1;       /* PilotBillingID */
496 static int hf_ansi_map_redirectingPartyName = -1;  /* RedirectingPartyName */
497 static int hf_ansi_map_systemMyTypeCode = -1;     /* SystemMyTypeCode */
498 static int hf_ansi_map_tdmaDataFeaturesIndicator = -1;  /* TDMADataFeaturesIndicator */
499 static int hf_ansi_map_terminationTreatment = -1;  /* TerminationTreatment */
500 static int hf_ansi_map_conditionallyDeniedReason = -1;  /* ConditionallyDeniedReason */
501 static int hf_ansi_map_pagingFrameClass = -1;     /* PagingFrameClass */
502 static int hf_ansi_map_pSID_RSIDList = -1;        /* PSID_RSIDList */
503 static int hf_ansi_map_randc = -1;                /* RANDC */
504 static int hf_ansi_map_tdmaDataMode = -1;         /* TDMADataMode */
505 static int hf_ansi_map_changeServiceAttributes = -1;  /* ChangeServiceAttributes */
506 static int hf_ansi_map_edirectingSubaddress = -1;  /* RedirectingSubaddress */
507 static int hf_ansi_map_setupResult = -1;          /* SetupResult */
508 static int hf_ansi_map_terminationAccessType = -1;  /* TerminationAccessType */
509 static int hf_ansi_map_triggerType = -1;          /* TriggerType */
510 static int hf_ansi_map_winCapability = -1;        /* WINCapability */
511 static int hf_ansi_map_callingPartyCategory = -1;  /* CallingPartyCategory */
512 static int hf_ansi_map_controlNetworkID = -1;     /* ControlNetworkID */
513 static int hf_ansi_map_digits_carrier = -1;       /* Digits */
514 static int hf_ansi_map_digits_dest = -1;          /* Digits */
515 static int hf_ansi_map_dmh_ServiceID = -1;        /* DMH_ServiceID */
516 static int hf_ansi_map_lectronicSerialNumber = -1;  /* ElectronicSerialNumber */
517 static int hf_ansi_map_deregistrationType = -1;   /* DeregistrationType */
518 static int hf_ansi_map_servicesResult = -1;       /* ServicesResult */
519 static int hf_ansi_map_sms_MessageWaitingIndicator = -1;  /* SMS_MessageWaitingIndicator */
520 static int hf_ansi_map_originationTriggers = -1;  /* OriginationTriggers */
521 static int hf_ansi_map_featureIndicator = -1;     /* FeatureIndicator */
522 static int hf_ansi_map_dmh_ChargeInformation = -1;  /* DMH_ChargeInformation */
523 static int hf_ansi_map_qualificationInformationCode = -1;  /* QualificationInformationCode */
524 static int hf_ansi_map_authorizationDenied = -1;  /* AuthorizationDenied */
525 static int hf_ansi_map_authorizationPeriod = -1;  /* AuthorizationPeriod */
526 static int hf_ansi_map_deniedAuthorizationPeriod = -1;  /* DeniedAuthorizationPeriod */
527 static int hf_ansi_map_randValidTime = -1;        /* RANDValidTime */
528 static int hf_ansi_map_redirectionReason = -1;    /* RedirectionReason */
529 static int hf_ansi_map_cancellationType = -1;     /* CancellationType */
530 static int hf_ansi_map_controlChannelData = -1;   /* ControlChannelData */
531 static int hf_ansi_map_receivedSignalQuality = -1;  /* ReceivedSignalQuality */
532 static int hf_ansi_map_systemAccessData = -1;     /* SystemAccessData */
533 static int hf_ansi_map_cancellationDenied = -1;   /* CancellationDenied */
534 static int hf_ansi_map_availabilityType = -1;     /* AvailabilityType */
535 static int hf_ansi_map_borderCellAccess = -1;     /* BorderCellAccess */
536 static int hf_ansi_map_msc_Address = -1;          /* MSC_Address */
537 static int hf_ansi_map_sms_Address = -1;          /* SMS_Address */
538 static int hf_ansi_map_mpcAddress = -1;           /* MPCAddress */
539 static int hf_ansi_map_mpcAddressList = -1;       /* MPCAddressList */
540 static int hf_ansi_map_digits_Carrier = -1;       /* Digits */
541 static int hf_ansi_map_authenticationCapability = -1;  /* AuthenticationCapability */
542 static int hf_ansi_map_callingFeaturesIndicator = -1;  /* CallingFeaturesIndicator */
543 static int hf_ansi_map_geographicAuthorization = -1;  /* GeographicAuthorization */
544 static int hf_ansi_map_meidValidated = -1;        /* MEIDValidated */
545 static int hf_ansi_map_originationIndicator = -1;  /* OriginationIndicator */
546 static int hf_ansi_map_restrictionDigits = -1;    /* RestrictionDigits */
547 static int hf_ansi_map_sms_OriginationRestrictions = -1;  /* SMS_OriginationRestrictions */
548 static int hf_ansi_map_sms_TerminationRestrictions = -1;  /* SMS_TerminationRestrictions */
549 static int hf_ansi_map_spinipin = -1;             /* SPINIPIN */
550 static int hf_ansi_map_spiniTriggers = -1;        /* SPINITriggers */
551 static int hf_ansi_map_terminationRestrictionCode = -1;  /* TerminationRestrictionCode */
552 static int hf_ansi_map_lirMode = -1;              /* LIRMode */
553 static int hf_ansi_map_digitCollectionControl = -1;  /* DigitCollectionControl */
554 static int hf_ansi_map_trunkStatus = -1;          /* TrunkStatus */
555 static int hf_ansi_map_userGroup = -1;            /* UserGroup */
556 static int hf_ansi_map_voiceMailboxNumber = -1;   /* VoiceMailboxNumber */
557 static int hf_ansi_map_voiceMailboxPIN = -1;      /* VoiceMailboxPIN */
558 static int hf_ansi_map_sms_BearerData = -1;       /* SMS_BearerData */
559 static int hf_ansi_map_sms_TeleserviceIdentifier = -1;  /* SMS_TeleserviceIdentifier */
560 static int hf_ansi_map_sms_ChargeIndicator = -1;  /* SMS_ChargeIndicator */
561 static int hf_ansi_map_sms_DestinationAddress = -1;  /* SMS_DestinationAddress */
562 static int hf_ansi_map_sms_OriginalDestinationAddress = -1;  /* SMS_OriginalDestinationAddress */
563 static int hf_ansi_map_sms_OriginalDestinationSubaddress = -1;  /* SMS_OriginalDestinationSubaddress */
564 static int hf_ansi_map_sms_OriginalOriginatingAddress = -1;  /* SMS_OriginalOriginatingAddress */
565 static int hf_ansi_map_sms_OriginalOriginatingSubaddress = -1;  /* SMS_OriginalOriginatingSubaddress */
566 static int hf_ansi_map_sms_OriginatingAddress = -1;  /* SMS_OriginatingAddress */
567 static int hf_ansi_map_sms_CauseCode = -1;        /* SMS_CauseCode */
568 static int hf_ansi_map_cdmaServingOneWayDelay2 = -1;  /* CDMAServingOneWayDelay2 */
569 static int hf_ansi_map_interMessageTime = -1;     /* InterMessageTime */
570 static int hf_ansi_map_newlyAssignedIMSI = -1;    /* NewlyAssignedIMSI */
571 static int hf_ansi_map_newlyAssignedMIN = -1;     /* NewlyAssignedMIN */
572 static int hf_ansi_map_newMINExtension = -1;      /* NewMINExtension */
573 static int hf_ansi_map_sms_MessageCount = -1;     /* SMS_MessageCount */
574 static int hf_ansi_map_sms_NotificationIndicator = -1;  /* SMS_NotificationIndicator */
575 static int hf_ansi_map_teleservice_Priority = -1;  /* Teleservice_Priority */
576 static int hf_ansi_map_temporaryReferenceNumber = -1;  /* TemporaryReferenceNumber */
577 static int hf_ansi_map_mobileStationMSID = -1;    /* MobileStationMSID */
578 static int hf_ansi_map_sms_AccessDeniedReason = -1;  /* SMS_AccessDeniedReason */
579 static int hf_ansi_map_seizureType = -1;          /* SeizureType */
580 static int hf_ansi_map_requiredParametersMask = -1;  /* RequiredParametersMask */
581 static int hf_ansi_map_reasonList = -1;           /* ReasonList */
582 static int hf_ansi_map_networkTMSIExpirationTime = -1;  /* NetworkTMSIExpirationTime */
583 static int hf_ansi_map_newNetworkTMSI = -1;       /* NewNetworkTMSI */
584 static int hf_ansi_map_serviceID = -1;            /* ServiceID */
585 static int hf_ansi_map_dataAccessElementList = -1;  /* DataAccessElementList */
586 static int hf_ansi_map_timeDateOffset = -1;       /* TimeDateOffset */
587 static int hf_ansi_map_timeOfDay = -1;            /* TimeOfDay */
588 static int hf_ansi_map_dmd_BillingIndicator = -1;  /* DMH_BillingIndicator */
589 static int hf_ansi_map_failureType = -1;          /* FailureType */
590 static int hf_ansi_map_failureCause = -1;         /* FailureCause */
591 static int hf_ansi_map_outingDigits = -1;         /* RoutingDigits */
592 static int hf_ansi_map_databaseKey = -1;          /* DatabaseKey */
593 static int hf_ansi_map_modificationRequestList = -1;  /* ModificationRequestList */
594 static int hf_ansi_map_modificationResultList = -1;  /* ModificationResultList */
595 static int hf_ansi_map_serviceDataAccessElementList = -1;  /* ServiceDataAccessElementList */
596 static int hf_ansi_map_privateSpecializedResource = -1;  /* PrivateSpecializedResource */
597 static int hf_ansi_map_specializedResource = -1;  /* SpecializedResource */
598 static int hf_ansi_map_executeScript = -1;        /* ExecuteScript */
599 static int hf_ansi_map_scriptResult = -1;         /* ScriptResult */
600 static int hf_ansi_map_tdmaVoiceMode = -1;        /* TDMAVoiceMode */
601 static int hf_ansi_map_callStatus = -1;           /* CallStatus */
602 static int hf_ansi_map_releaseCause = -1;         /* ReleaseCause */
603 static int hf_ansi_map_callRecoveryIDList = -1;   /* CallRecoveryIDList */
604 static int hf_ansi_map_positionInformationCode = -1;  /* PositionInformationCode */
605 static int hf_ansi_map_mSStatus = -1;             /* MSStatus */
606 static int hf_ansi_map_pSID_RSIDInformation = -1;  /* PSID_RSIDInformation */
607 static int hf_ansi_map_positionRequestType = -1;  /* PositionRequestType */
608 static int hf_ansi_map_lcsBillingID = -1;         /* LCSBillingID */
609 static int hf_ansi_map_lcs_Client_ID = -1;        /* LCS_Client_ID */
610 static int hf_ansi_map_mobilePositionCapability = -1;  /* MobilePositionCapability */
611 static int hf_ansi_map_dtxIndication = -1;        /* DTXIndication */
612 static int hf_ansi_map_cdmaCodeChannel = -1;      /* CDMACodeChannel */
613 static int hf_ansi_map_cdmaMobileCapabilities = -1;  /* CDMAMobileCapabilities */
614 static int hf_ansi_map_cdmaPSMMList = -1;         /* CDMAPSMMList */
615 static int hf_ansi_map_tdma_MAHO_CELLID = -1;     /* TDMA_MAHO_CELLID */
616 static int hf_ansi_map_tdma_MAHO_CHANNEL = -1;    /* TDMA_MAHO_CHANNEL */
617 static int hf_ansi_map_tdma_TimeAlignment = -1;   /* TDMA_TimeAlignment */
618 static int hf_ansi_map_pqos_HorizontalPosition = -1;  /* PQOS_HorizontalPosition */
619 static int hf_ansi_map_pqos_HorizontalVelocity = -1;  /* PQOS_HorizontalVelocity */
620 static int hf_ansi_map_pqos_MaximumPositionAge = -1;  /* PQOS_MaximumPositionAge */
621 static int hf_ansi_map_pqos_PositionPriority = -1;  /* PQOS_PositionPriority */
622 static int hf_ansi_map_pqos_ResponseTime = -1;    /* PQOS_ResponseTime */
623 static int hf_ansi_map_pqos_VerticalPosition = -1;  /* PQOS_VerticalPosition */
624 static int hf_ansi_map_pqos_VerticalVelocity = -1;  /* PQOS_VerticalVelocity */
625 static int hf_ansi_map_cdmaPSMMCount = -1;        /* CDMAPSMMCount */
626 static int hf_ansi_map_lirAuthorization = -1;     /* LIRAuthorization */
627 static int hf_ansi_map_mpcid = -1;                /* MPCID */
628 static int hf_ansi_map_tdma_MAHORequest = -1;     /* TDMA_MAHORequest */
629 static int hf_ansi_map_positionResult = -1;       /* PositionResult */
630 static int hf_ansi_map_positionInformation = -1;  /* PositionInformation */
631 static int hf_ansi_map_controlType = -1;          /* ControlType */
632 static int hf_ansi_map_destinationAddress = -1;   /* DestinationAddress */
633 static int hf_ansi_map_gapDuration = -1;          /* GapDuration */
634 static int hf_ansi_map_gapInterval = -1;          /* GapInterval */
635 static int hf_ansi_map_invokingNEType = -1;       /* InvokingNEType */
636 static int hf_ansi_map_range = -1;                /* Range */
637 static int hf_ansi_map_meidStatus = -1;           /* MEIDStatus */
638 static int hf_ansi_map_aKeyProtocolVersion = -1;  /* AKeyProtocolVersion */
639 static int hf_ansi_map_mobileStationPartialKey = -1;  /* MobileStationPartialKey */
640 static int hf_ansi_map_newlyAssignedMSID = -1;    /* NewlyAssignedMSID */
641 static int hf_ansi_map_baseStationPartialKey = -1;  /* BaseStationPartialKey */
642 static int hf_ansi_map_modulusValue = -1;         /* ModulusValue */
643 static int hf_ansi_map_otasp_ResultCode = -1;     /* OTASP_ResultCode */
644 static int hf_ansi_map_primitiveValue = -1;       /* PrimitiveValue */
645 static int hf_ansi_map_record_Type = -1;          /* Record_Type */
646 static int hf_ansi_map_information_Record = -1;   /* Information_Record */
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_messageDirective = -1;     /* MessageDirective */
781 static int hf_ansi_map_bulkDisconnection = -1;    /* BulkDisconnection */
782 static int hf_ansi_map_callControlDirective = -1;  /* CallControlDirective */
783 static int hf_ansi_map_oAnswer = -1;              /* OAnswer */
784 static int hf_ansi_map_oDisconnect = -1;          /* ODisconnect */
785 static int hf_ansi_map_callRecoveryReport = -1;   /* CallRecoveryReport */
786 static int hf_ansi_map_tAnswer = -1;              /* TAnswer */
787 static int hf_ansi_map_tDisconnect = -1;          /* TDisconnect */
788 static int hf_ansi_map_unreliableCallData = -1;   /* UnreliableCallData */
789 static int hf_ansi_map_oCalledPartyBusy = -1;     /* OCalledPartyBusy */
790 static int hf_ansi_map_oNoAnswer = -1;            /* ONoAnswer */
791 static int hf_ansi_map_positionRequest = -1;      /* PositionRequest */
792 static int hf_ansi_map_positionRequestForward = -1;  /* PositionRequestForward */
793 static int hf_ansi_map_callTerminationReport = -1;  /* CallTerminationReport */
794 static int hf_ansi_map_geoPositionRequest = -1;   /* GeoPositionRequest */
795 static int hf_ansi_map_interSystemPositionRequest = -1;  /* InterSystemPositionRequest */
796 static int hf_ansi_map_interSystemPositionRequestForward = -1;  /* InterSystemPositionRequestForward */
797 static int hf_ansi_map_aCGDirective = -1;         /* ACGDirective */
798 static int hf_ansi_map_roamerDatabaseVerificationRequest = -1;  /* RoamerDatabaseVerificationRequest */
799 static int hf_ansi_map_addService = -1;           /* AddService */
800 static int hf_ansi_map_dropService = -1;          /* DropService */
801 static int hf_ansi_map_lcsParameterRequest = -1;  /* LCSParameterRequest */
802 static int hf_ansi_map_checkMEID = -1;            /* CheckMEID */
803 static int hf_ansi_map_positionEventNotification = -1;  /* PositionEventNotification */
804 static int hf_ansi_map_statusRequest = -1;        /* StatusRequest */
805 static int hf_ansi_map_handoffMeasurementRequestRes = -1;  /* HandoffMeasurementRequestRes */
806 static int hf_ansi_map_facilitiesDirectiveRes = -1;  /* FacilitiesDirectiveRes */
807 static int hf_ansi_map_handoffBackRes = -1;       /* HandoffBackRes */
808 static int hf_ansi_map_facilitiesReleaseRes = -1;  /* FacilitiesReleaseRes */
809 static int hf_ansi_map_qualificationRequestRes = -1;  /* QualificationRequestRes */
810 static int hf_ansi_map_resetCircuitRes = -1;      /* ResetCircuitRes */
811 static int hf_ansi_map_registrationNotificationRes = -1;  /* RegistrationNotificationRes */
812 static int hf_ansi_map_registrationCancellationRes = -1;  /* RegistrationCancellationRes */
813 static int hf_ansi_map_locationRequestRes = -1;   /* LocationRequestRes */
814 static int hf_ansi_map_routingRequestRes = -1;    /* RoutingRequestRes */
815 static int hf_ansi_map_featureRequestRes = -1;    /* FeatureRequestRes */
816 static int hf_ansi_map_transferToNumberRequestRes = -1;  /* TransferToNumberRequestRes */
817 static int hf_ansi_map_handoffToThirdRes = -1;    /* HandoffToThirdRes */
818 static int hf_ansi_map_authenticationDirectiveRes = -1;  /* AuthenticationDirectiveRes */
819 static int hf_ansi_map_authenticationRequestRes = -1;  /* AuthenticationRequestRes */
820 static int hf_ansi_map_baseStationChallengeRes = -1;  /* BaseStationChallengeRes */
821 static int hf_ansi_map_authenticationFailureReportRes = -1;  /* AuthenticationFailureReportRes */
822 static int hf_ansi_map_countRequestRes = -1;      /* CountRequestRes */
823 static int hf_ansi_map_interSystemPageRes = -1;   /* InterSystemPageRes */
824 static int hf_ansi_map_unsolicitedResponseRes = -1;  /* UnsolicitedResponseRes */
825 static int hf_ansi_map_handoffMeasurementRequest2Res = -1;  /* HandoffMeasurementRequest2Res */
826 static int hf_ansi_map_facilitiesDirective2Res = -1;  /* FacilitiesDirective2Res */
827 static int hf_ansi_map_handoffBack2Res = -1;      /* HandoffBack2Res */
828 static int hf_ansi_map_handoffToThird2Res = -1;   /* HandoffToThird2Res */
829 static int hf_ansi_map_authenticationDirectiveForwardRes = -1;  /* AuthenticationDirectiveForwardRes */
830 static int hf_ansi_map_authenticationStatusReportRes = -1;  /* AuthenticationStatusReportRes */
831 static int hf_ansi_map_informationDirectiveRes = -1;  /* InformationDirectiveRes */
832 static int hf_ansi_map_informationForwardRes = -1;  /* InformationForwardRes */
833 static int hf_ansi_map_interSystemPage2Res = -1;  /* InterSystemPage2Res */
834 static int hf_ansi_map_interSystemSetupRes = -1;  /* InterSystemSetupRes */
835 static int hf_ansi_map_originationRequestRes = -1;  /* OriginationRequestRes */
836 static int hf_ansi_map_randomVariableRequestRes = -1;  /* RandomVariableRequestRes */
837 static int hf_ansi_map_remoteUserInteractionDirectiveRes = -1;  /* RemoteUserInteractionDirectiveRes */
838 static int hf_ansi_map_sMSDeliveryBackwardRes = -1;  /* SMSDeliveryBackwardRes */
839 static int hf_ansi_map_sMSDeliveryForwardRes = -1;  /* SMSDeliveryForwardRes */
840 static int hf_ansi_map_sMSDeliveryPointToPointRes = -1;  /* SMSDeliveryPointToPointRes */
841 static int hf_ansi_map_sMSNotificationRes = -1;   /* SMSNotificationRes */
842 static int hf_ansi_map_sMSRequestRes = -1;        /* SMSRequestRes */
843 static int hf_ansi_map_oTASPRequestRes = -1;      /* OTASPRequestRes */
844 static int hf_ansi_map_changeFacilitiesRes = -1;  /* ChangeFacilitiesRes */
845 static int hf_ansi_map_changeServiceRes = -1;     /* ChangeServiceRes */
846 static int hf_ansi_map_parameterRequestRes = -1;  /* ParameterRequestRes */
847 static int hf_ansi_map_tMSIDirectiveRes = -1;     /* TMSIDirectiveRes */
848 static int hf_ansi_map_serviceRequestRes = -1;    /* ServiceRequestRes */
849 static int hf_ansi_map_analyzedInformationRes = -1;  /* AnalyzedInformationRes */
850 static int hf_ansi_map_facilitySelectedAndAvailableRes = -1;  /* FacilitySelectedAndAvailableRes */
851 static int hf_ansi_map_modifyRes = -1;            /* ModifyRes */
852 static int hf_ansi_map_searchRes = -1;            /* SearchRes */
853 static int hf_ansi_map_seizeResourceRes = -1;     /* SeizeResourceRes */
854 static int hf_ansi_map_sRFDirectiveRes = -1;      /* SRFDirectiveRes */
855 static int hf_ansi_map_tBusyRes = -1;             /* TBusyRes */
856 static int hf_ansi_map_tNoAnswerRes = -1;         /* TNoAnswerRes */
857 static int hf_ansi_map_callControlDirectiveRes = -1;  /* CallControlDirectiveRes */
858 static int hf_ansi_map_oDisconnectRes = -1;       /* ODisconnectRes */
859 static int hf_ansi_map_tDisconnectRes = -1;       /* TDisconnectRes */
860 static int hf_ansi_map_oCalledPartyBusyRes = -1;  /* OCalledPartyBusyRes */
861 static int hf_ansi_map_oNoAnswerRes = -1;         /* ONoAnswerRes */
862 static int hf_ansi_map_positionRequestRes = -1;   /* PositionRequestRes */
863 static int hf_ansi_map_positionRequestForwardRes = -1;  /* PositionRequestForwardRes */
864 static int hf_ansi_map_interSystemPositionRequestRes = -1;  /* InterSystemPositionRequestRes */
865 static int hf_ansi_map_interSystemPositionRequestForwardRes = -1;  /* InterSystemPositionRequestForwardRes */
866 static int hf_ansi_map_roamerDatabaseVerificationRequestRes = -1;  /* RoamerDatabaseVerificationRequestRes */
867 static int hf_ansi_map_addServiceRes = -1;        /* AddServiceRes */
868 static int hf_ansi_map_dropServiceRes = -1;       /* DropServiceRes */
869 static int hf_ansi_map_lcsParameterRequestRes = -1;  /* LCSParameterRequestRes */
870 static int hf_ansi_map_checkMEIDRes = -1;         /* CheckMEIDRes */
871 static int hf_ansi_map_statusRequestRes = -1;     /* StatusRequestRes */
872
873 /*--- End of included file: packet-ansi_map-hf.c ---*/
874 #line 326 "packet-ansi_map-template.c"
875
876 /* Initialize the subtree pointers */
877 static gint ett_ansi_map = -1;
878 static gint ett_mintype = -1;
879 static gint ett_digitstype = -1;
880 static gint ett_billingid = -1;
881 static gint ett_sms_bearer_data = -1;
882 static gint ett_sms_teleserviceIdentifier = -1;
883 static gint ett_extendedmscid = -1;
884 static gint ett_extendedsystemmytypecode = -1;
885 static gint ett_handoffstate = -1;
886 static gint ett_mscid = -1;
887 static gint ett_cdmachanneldata = -1;
888 static gint ett_cdmastationclassmark = -1;
889 static gint ett_channeldata = -1;
890 static gint ett_confidentialitymodes = -1;
891 static gint ett_controlchanneldata = -1;
892 static gint ett_CDMA2000HandoffInvokeIOSData = -1;
893 static gint ett_CDMA2000HandoffResponseIOSData = -1;
894 static gint ett_originationtriggers = -1;
895 static gint ett_pacaindicator = -1;
896 static gint ett_callingpartyname = -1;
897 static gint ett_triggercapability = -1;
898 static gint ett_winoperationscapability = -1;
899 static gint ett_win_trigger_list = -1;
900 static gint ett_controlnetworkid = -1;
901 static gint ett_transactioncapability = -1;
902 static gint ett_cdmaserviceoption = -1;
903 static gint ett_systemcapabilities = -1;
904 static gint ett_sms_originationrestrictions = -1;
905
906
907 /*--- Included file: packet-ansi_map-ett.c ---*/
908 #line 1 "packet-ansi_map-ett.c"
909 static gint ett_ansi_map_AuthenticationDirective_U = -1;
910 static gint ett_ansi_map_AuthenticationDirectiveRes_U = -1;
911 static gint ett_ansi_map_AuthenticationDirectiveForward_U = -1;
912 static gint ett_ansi_map_AuthenticationDirectiveForwardRes_U = -1;
913 static gint ett_ansi_map_AuthenticationFailureReport_U = -1;
914 static gint ett_ansi_map_AuthenticationFailureReportRes_U = -1;
915 static gint ett_ansi_map_AuthenticationRequest_U = -1;
916 static gint ett_ansi_map_AuthenticationRequestRes_U = -1;
917 static gint ett_ansi_map_AuthenticationStatusReport_U = -1;
918 static gint ett_ansi_map_AuthenticationStatusReportRes_U = -1;
919 static gint ett_ansi_map_BaseStationChallenge_U = -1;
920 static gint ett_ansi_map_BaseStationChallengeRes_U = -1;
921 static gint ett_ansi_map_Blocking_U = -1;
922 static gint ett_ansi_map_BulkDeregistration_U = -1;
923 static gint ett_ansi_map_CountRequest_U = -1;
924 static gint ett_ansi_map_CountRequestRes_U = -1;
925 static gint ett_ansi_map_FacilitiesDirective_U = -1;
926 static gint ett_ansi_map_FacilitiesDirectiveRes_U = -1;
927 static gint ett_ansi_map_FacilitiesDirective2_U = -1;
928 static gint ett_ansi_map_FacilitiesDirective2Res_U = -1;
929 static gint ett_ansi_map_FacilitiesRelease_U = -1;
930 static gint ett_ansi_map_FacilitiesReleaseRes_U = -1;
931 static gint ett_ansi_map_FeatureRequest_U = -1;
932 static gint ett_ansi_map_FeatureRequestRes_U = -1;
933 static gint ett_ansi_map_FlashRequest_U = -1;
934 static gint ett_ansi_map_HandoffBack_U = -1;
935 static gint ett_ansi_map_HandoffBackRes_U = -1;
936 static gint ett_ansi_map_HandoffBack2_U = -1;
937 static gint ett_ansi_map_HandoffBack2Res_U = -1;
938 static gint ett_ansi_map_HandoffMeasurementRequest_U = -1;
939 static gint ett_ansi_map_HandoffMeasurementRequestRes_U = -1;
940 static gint ett_ansi_map_HandoffMeasurementRequest2_U = -1;
941 static gint ett_ansi_map_HandoffMeasurementRequest2Res_U = -1;
942 static gint ett_ansi_map_HandoffToThird_U = -1;
943 static gint ett_ansi_map_HandoffToThirdRes_U = -1;
944 static gint ett_ansi_map_HandoffToThird2_U = -1;
945 static gint ett_ansi_map_HandoffToThird2Res_U = -1;
946 static gint ett_ansi_map_InformationDirective_U = -1;
947 static gint ett_ansi_map_InformationDirectiveRes_U = -1;
948 static gint ett_ansi_map_InformationForward_U = -1;
949 static gint ett_ansi_map_InformationForwardRes_U = -1;
950 static gint ett_ansi_map_InterSystemAnswer_U = -1;
951 static gint ett_ansi_map_InterSystemPage_U = -1;
952 static gint ett_ansi_map_InterSystemPageRes_U = -1;
953 static gint ett_ansi_map_InterSystemPage2_U = -1;
954 static gint ett_ansi_map_InterSystemPage2Res_U = -1;
955 static gint ett_ansi_map_InterSystemSetup_U = -1;
956 static gint ett_ansi_map_InterSystemSetupRes_U = -1;
957 static gint ett_ansi_map_LocationRequest_U = -1;
958 static gint ett_ansi_map_LocationRequestRes_U = -1;
959 static gint ett_ansi_map_MSInactive_U = -1;
960 static gint ett_ansi_map_OriginationRequest_U = -1;
961 static gint ett_ansi_map_OriginationRequestRes_U = -1;
962 static gint ett_ansi_map_QualificationDirective_U = -1;
963 static gint ett_ansi_map_QualificationRequest_U = -1;
964 static gint ett_ansi_map_QualificationRequestRes_U = -1;
965 static gint ett_ansi_map_RandomVariableRequest_U = -1;
966 static gint ett_ansi_map_RandomVariableRequestRes_U = -1;
967 static gint ett_ansi_map_RedirectionDirective_U = -1;
968 static gint ett_ansi_map_RedirectionRequest_U = -1;
969 static gint ett_ansi_map_RegistrationCancellation_U = -1;
970 static gint ett_ansi_map_RegistrationCancellationRes_U = -1;
971 static gint ett_ansi_map_RegistrationNotification_U = -1;
972 static gint ett_ansi_map_RegistrationNotificationRes_U = -1;
973 static gint ett_ansi_map_RemoteUserInteractionDirective_U = -1;
974 static gint ett_ansi_map_RemoteUserInteractionDirectiveRes_U = -1;
975 static gint ett_ansi_map_ResetCircuit_U = -1;
976 static gint ett_ansi_map_ResetCircuitRes_U = -1;
977 static gint ett_ansi_map_RoutingRequest_U = -1;
978 static gint ett_ansi_map_RoutingRequestRes_U = -1;
979 static gint ett_ansi_map_SMSDeliveryBackward_U = -1;
980 static gint ett_ansi_map_SMSDeliveryBackwardRes_U = -1;
981 static gint ett_ansi_map_SMSDeliveryForward_U = -1;
982 static gint ett_ansi_map_SMSDeliveryForwardRes_U = -1;
983 static gint ett_ansi_map_SMSDeliveryPointToPoint_U = -1;
984 static gint ett_ansi_map_SMSDeliveryPointToPointRes_U = -1;
985 static gint ett_ansi_map_SMSNotification_U = -1;
986 static gint ett_ansi_map_SMSNotificationRes_U = -1;
987 static gint ett_ansi_map_SMSRequest_U = -1;
988 static gint ett_ansi_map_SMSRequestRes_U = -1;
989 static gint ett_ansi_map_TransferToNumberRequest_U = -1;
990 static gint ett_ansi_map_TransferToNumberRequestRes_U = -1;
991 static gint ett_ansi_map_TrunkTest_U = -1;
992 static gint ett_ansi_map_TrunkTestDisconnect_U = -1;
993 static gint ett_ansi_map_Unblocking_U = -1;
994 static gint ett_ansi_map_UnreliableRoamerDataDirective_U = -1;
995 static gint ett_ansi_map_UnsolicitedResponse_U = -1;
996 static gint ett_ansi_map_UnsolicitedResponseRes_U = -1;
997 static gint ett_ansi_map_ParameterRequest_U = -1;
998 static gint ett_ansi_map_ParameterRequestRes_U = -1;
999 static gint ett_ansi_map_TMSIDirective_U = -1;
1000 static gint ett_ansi_map_TMSIDirectiveRes_U = -1;
1001 static gint ett_ansi_map_NumberPortabilityRequest_U = -1;
1002 static gint ett_ansi_map_ServiceRequest_U = -1;
1003 static gint ett_ansi_map_ServiceRequestRes_U = -1;
1004 static gint ett_ansi_map_AnalyzedInformation_U = -1;
1005 static gint ett_ansi_map_AnalyzedInformationRes_U = -1;
1006 static gint ett_ansi_map_ConnectionFailureReport_U = -1;
1007 static gint ett_ansi_map_ConnectResource_U = -1;
1008 static gint ett_ansi_map_FacilitySelectedAndAvailable_U = -1;
1009 static gint ett_ansi_map_FacilitySelectedAndAvailableRes_U = -1;
1010 static gint ett_ansi_map_Modify_U = -1;
1011 static gint ett_ansi_map_ModifyRes_U = -1;
1012 static gint ett_ansi_map_Search_U = -1;
1013 static gint ett_ansi_map_SearchRes_U = -1;
1014 static gint ett_ansi_map_SeizeResource_U = -1;
1015 static gint ett_ansi_map_SeizeResourceRes_U = -1;
1016 static gint ett_ansi_map_SRFDirective_U = -1;
1017 static gint ett_ansi_map_SRFDirectiveRes_U = -1;
1018 static gint ett_ansi_map_TBusy_U = -1;
1019 static gint ett_ansi_map_TBusyRes_U = -1;
1020 static gint ett_ansi_map_TNoAnswer_U = -1;
1021 static gint ett_ansi_map_TNoAnswerRes_U = -1;
1022 static gint ett_ansi_map_ChangeFacilities_U = -1;
1023 static gint ett_ansi_map_ChangeFacilitiesRes_U = -1;
1024 static gint ett_ansi_map_ChangeService_U = -1;
1025 static gint ett_ansi_map_ChangeServiceRes_U = -1;
1026 static gint ett_ansi_map_MessageDirective_U = -1;
1027 static gint ett_ansi_map_BulkDisconnection_U = -1;
1028 static gint ett_ansi_map_CallControlDirective_U = -1;
1029 static gint ett_ansi_map_CallControlDirectiveRes_U = -1;
1030 static gint ett_ansi_map_OAnswer_U = -1;
1031 static gint ett_ansi_map_ODisconnect_U = -1;
1032 static gint ett_ansi_map_ODisconnectRes_U = -1;
1033 static gint ett_ansi_map_CallRecoveryReport_U = -1;
1034 static gint ett_ansi_map_TAnswer_U = -1;
1035 static gint ett_ansi_map_TDisconnect_U = -1;
1036 static gint ett_ansi_map_TDisconnectRes_U = -1;
1037 static gint ett_ansi_map_UnreliableCallData_U = -1;
1038 static gint ett_ansi_map_OCalledPartyBusy_U = -1;
1039 static gint ett_ansi_map_OCalledPartyBusyRes_U = -1;
1040 static gint ett_ansi_map_ONoAnswer_U = -1;
1041 static gint ett_ansi_map_ONoAnswerRes_U = -1;
1042 static gint ett_ansi_map_PositionRequest_U = -1;
1043 static gint ett_ansi_map_PositionRequestRes_U = -1;
1044 static gint ett_ansi_map_PositionRequestForward_U = -1;
1045 static gint ett_ansi_map_PositionRequestForwardRes_U = -1;
1046 static gint ett_ansi_map_CallTerminationReport_U = -1;
1047 static gint ett_ansi_map_GeoPositionRequest_U = -1;
1048 static gint ett_ansi_map_InterSystemPositionRequest_U = -1;
1049 static gint ett_ansi_map_InterSystemPositionRequestRes_U = -1;
1050 static gint ett_ansi_map_InterSystemPositionRequestForward_U = -1;
1051 static gint ett_ansi_map_InterSystemPositionRequestForwardRes_U = -1;
1052 static gint ett_ansi_map_ACGDirective_U = -1;
1053 static gint ett_ansi_map_RoamerDatabaseVerificationRequest_U = -1;
1054 static gint ett_ansi_map_RoamerDatabaseVerificationRequestRes_U = -1;
1055 static gint ett_ansi_map_LCSParameterRequest_U = -1;
1056 static gint ett_ansi_map_LCSParameterRequestRes_U = -1;
1057 static gint ett_ansi_map_CheckMEID_U = -1;
1058 static gint ett_ansi_map_CheckMEIDRes_U = -1;
1059 static gint ett_ansi_map_AddService_U = -1;
1060 static gint ett_ansi_map_AddServiceRes_U = -1;
1061 static gint ett_ansi_map_DropService_U = -1;
1062 static gint ett_ansi_map_DropServiceRes_U = -1;
1063 static gint ett_ansi_map_PositionEventNotification_U = -1;
1064 static gint ett_ansi_map_OTASPRequest_U = -1;
1065 static gint ett_ansi_map_OTASPRequestRes_U = -1;
1066 static gint ett_ansi_map_StatusRequest_U = -1;
1067 static gint ett_ansi_map_StatusRequestRes_U = -1;
1068 static gint ett_ansi_map_AnnouncementList = -1;
1069 static gint ett_ansi_map_CDMACodeChannelInformation = -1;
1070 static gint ett_ansi_map_CDMACodeChannelList = -1;
1071 static gint ett_ansi_map_CDMATargetMAHOInformation = -1;
1072 static gint ett_ansi_map_CDMATargetMAHOList = -1;
1073 static gint ett_ansi_map_CDMATargetMeasurementInformation = -1;
1074 static gint ett_ansi_map_CDMATargetMeasurementList = -1;
1075 static gint ett_ansi_map_IntersystemTermination = -1;
1076 static gint ett_ansi_map_LocalTermination = -1;
1077 static gint ett_ansi_map_PSTNTermination = -1;
1078 static gint ett_ansi_map_TargetMeasurementInformation = -1;
1079 static gint ett_ansi_map_TargetMeasurementList = -1;
1080 static gint ett_ansi_map_TerminationList = -1;
1081 static gint ett_ansi_map_TerminationList_item = -1;
1082 static gint ett_ansi_map_CDMABandClassInformation = -1;
1083 static gint ett_ansi_map_CDMABandClassList = -1;
1084 static gint ett_ansi_map_CDMAServiceOptionList = -1;
1085 static gint ett_ansi_map_PSID_RSIDList = -1;
1086 static gint ett_ansi_map_TargetCellIDList = -1;
1087 static gint ett_ansi_map_CDMAConnectionReferenceInformation = -1;
1088 static gint ett_ansi_map_CDMAConnectionReferenceList = -1;
1089 static gint ett_ansi_map_CDMAConnectionReferenceList_item = -1;
1090 static gint ett_ansi_map_AnalogRedirectRecord = -1;
1091 static gint ett_ansi_map_CDMAChannelNumberList = -1;
1092 static gint ett_ansi_map_CDMAChannelNumberList_item = -1;
1093 static gint ett_ansi_map_CDMARedirectRecord = -1;
1094 static gint ett_ansi_map_MSID = -1;
1095 static gint ett_ansi_map_DataAccessElement = -1;
1096 static gint ett_ansi_map_DataAccessElementList = -1;
1097 static gint ett_ansi_map_DataAccessElementList_item = -1;
1098 static gint ett_ansi_map_DataUpdateResult = -1;
1099 static gint ett_ansi_map_DataUpdateResultList = -1;
1100 static gint ett_ansi_map_DestinationAddress = -1;
1101 static gint ett_ansi_map_ExecuteScript = -1;
1102 static gint ett_ansi_map_ModificationRequest = -1;
1103 static gint ett_ansi_map_ModificationRequestList = -1;
1104 static gint ett_ansi_map_ModificationResult = -1;
1105 static gint ett_ansi_map_ModificationResultList = -1;
1106 static gint ett_ansi_map_ServiceDataAccessElement = -1;
1107 static gint ett_ansi_map_ServiceDataAccessElementList = -1;
1108 static gint ett_ansi_map_ServiceDataResult = -1;
1109 static gint ett_ansi_map_ServiceDataResultList = -1;
1110 static gint ett_ansi_map_TriggerAddressList = -1;
1111 static gint ett_ansi_map_TriggerList = -1;
1112 static gint ett_ansi_map_WINCapability = -1;
1113 static gint ett_ansi_map_CallRecoveryID = -1;
1114 static gint ett_ansi_map_CallRecoveryIDList = -1;
1115 static gint ett_ansi_map_PositionInformation = -1;
1116 static gint ett_ansi_map_GapInterval = -1;
1117 static gint ett_ansi_map_CDMAPSMMList = -1;
1118 static gint ett_ansi_map_CDMAPSMMList_item = -1;
1119 static gint ett_ansi_map_MPCAddressList = -1;
1120 static gint ett_ansi_map_MobileStationMSID = -1;
1121 static gint ett_ansi_map_NewlyAssignedMSID = -1;
1122 static gint ett_ansi_map_InvokeData = -1;
1123 static gint ett_ansi_map_ReturnData = -1;
1124
1125 /*--- End of included file: packet-ansi_map-ett.c ---*/
1126 #line 358 "packet-ansi_map-template.c"
1127
1128 /* Global variables */
1129 static dissector_handle_t data_handle=NULL;
1130 static dissector_table_t is637_tele_id_dissector_table; /* IS-637 Teleservice ID */
1131 static dissector_table_t is683_dissector_table; /* IS-683-A (OTA) */
1132 static dissector_table_t is801_dissector_table; /* IS-801 (PLD) */
1133 static packet_info *g_pinfo;
1134 static proto_tree *g_tree;
1135 tvbuff_t *SMS_BearerData_tvb = NULL;
1136 gint32    ansi_map_sms_tele_id = -1;
1137 static gboolean is683_ota;
1138 static gboolean is801_pld;
1139 static gboolean ansi_map_is_invoke;
1140 static guint32 OperationCode;
1141 static guint8 ServiceIndicator;
1142
1143
1144 struct ansi_map_invokedata_t {
1145   guint32 opcode;
1146   guint8 ServiceIndicator;
1147 };
1148
1149 static void dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_);
1150
1151
1152 /* Transaction table */
1153 static GHashTable *TransactionId_table=NULL;
1154
1155 static void
1156 TransactionId_table_cleanup(gpointer key , gpointer value, gpointer user_data _U_){
1157
1158         struct ansi_map_invokedata_t *ansi_map_saved_invokedata = value;
1159         gchar *TransactionId_str = key;
1160
1161         if ( TransactionId_str ){
1162                 g_free(TransactionId_str);
1163         }
1164         if (ansi_map_saved_invokedata){
1165                 g_free(ansi_map_saved_invokedata);
1166         }
1167
1168 }
1169
1170 void
1171 ansi_map_init_transaction_table(void){
1172
1173         /* Destroy any existing memory chunks / hashes. */
1174         if (TransactionId_table){
1175                 g_hash_table_foreach(TransactionId_table, TransactionId_table_cleanup, NULL);
1176                 g_hash_table_destroy(TransactionId_table);
1177         }
1178
1179         TransactionId_table = g_hash_table_new(g_str_hash, g_str_equal);
1180
1181 }
1182
1183 static void
1184 ansi_map_init_protocol(void)
1185 {
1186         ansi_map_init_transaction_table();
1187
1188
1189 /* Store Invoke information needed for the corresponding reply */
1190 static void
1191 update_saved_invokedata(packet_info *pinfo, proto_tree *tree _U_, tvbuff_t *tvb _U_){
1192   struct ansi_map_invokedata_t *ansi_map_saved_invokedata;
1193   struct ansi_tcap_private_t *p_private_tcap;
1194   address* src = &(pinfo->src);
1195   address* dst = &(pinfo->dst);
1196   guint8 *src_str;
1197   guint8 *dst_str;
1198   char *buf;
1199
1200   buf=ep_alloc(1024);
1201
1202   src_str = address_to_str(src);
1203   dst_str = address_to_str(dst);
1204
1205   /* Data from the TCAP dissector */
1206   if (pinfo->private_data != NULL){
1207           p_private_tcap=pinfo->private_data;
1208           if ((!pinfo->fd->flags.visited)&&(p_private_tcap->TransactionID_str)){
1209                   /* Only do this once XXX I hope its the right thing to do */
1210                   /* The hash string needs to contain src and dest to distiguish differnt flows */
1211                   g_snprintf(buf,1024,"%s%s%s",p_private_tcap->TransactionID_str,src_str,dst_str);
1212                   /* If the entry allready exists don't owervrite it */
1213                   ansi_map_saved_invokedata = g_hash_table_lookup(TransactionId_table,buf);
1214                   if(ansi_map_saved_invokedata)
1215                           return;
1216
1217                   ansi_map_saved_invokedata = g_malloc(sizeof(struct ansi_map_invokedata_t));
1218                   ansi_map_saved_invokedata->opcode = p_private_tcap->d.OperationCode_private;
1219                   ansi_map_saved_invokedata->ServiceIndicator = ServiceIndicator;
1220
1221                   g_hash_table_insert(TransactionId_table, 
1222                                 g_strdup(buf),
1223                                 ansi_map_saved_invokedata);
1224                   /*
1225                   g_warning("Invoke Hash string %s",buf);
1226                   */
1227           }     
1228   }
1229
1230 }
1231 /* value strings */
1232 const value_string ansi_map_opr_code_strings[] = {
1233     { 1,        "Handoff Measurement Request" },
1234     { 2,        "Facilities Directive" },
1235     { 3,        "Mobile On Channel" },
1236     { 4,        "Handoff Back" },
1237     { 5,        "Facilities Release" },
1238     { 6,        "Qualification Request" },
1239     { 7,        "Qualification Directive" },
1240     { 8,        "Blocking" },
1241     { 9,        "Unblocking" },
1242     { 10,       "Reset Circuit" },
1243     { 11,       "Trunk Test" },
1244     { 12,       "Trunk Test Disconnect" },
1245     { 13,       "Registration Notification" },
1246     { 14,       "Registration Cancellation" },
1247     { 15,       "Location Request" },
1248     { 16,       "Routing Request" },
1249     { 17,       "Feature Request" },
1250     { 18,       "Reserved 18 (Service Profile Request, IS-41-C)" },
1251     { 19,       "Reserved 19 (Service Profile Directive, IS-41-C)" },
1252     { 20,       "Unreliable Roamer Data Directive" },
1253     { 21,       "Reserved 21 (Call Data Request, IS-41-C)" },
1254     { 22,       "MS Inactive" },
1255     { 23,       "Transfer To Number Request" },
1256     { 24,       "Redirection Request" },
1257     { 25,       "Handoff To Third" },
1258     { 26,       "Flash Request" },
1259     { 27,       "Authentication Directive" },
1260     { 28,       "Authentication Request" },
1261     { 29,       "Base Station Challenge" },
1262     { 30,       "Authentication Failure Report" },
1263     { 31,       "Count Request" },
1264     { 32,       "Inter System Page" },
1265     { 33,       "Unsolicited Response" },
1266     { 34,       "Bulk Deregistration" },
1267     { 35,       "Handoff Measurement Request 2" },
1268     { 36,       "Facilities Directive 2" },
1269     { 37,       "Handoff Back 2" },
1270     { 38,       "Handoff To Third 2" },
1271     { 39,       "Authentication Directive Forward" },
1272     { 40,       "Authentication Status Report" },
1273     { 41,       "Reserved 41" },
1274     { 42,       "Information Directive" },
1275     { 43,       "Information Forward" },
1276     { 44,       "Inter System Answer" },
1277     { 45,       "Inter System Page 2" },
1278     { 46,       "Inter System Setup" },
1279     { 47,       "Origination Request" },
1280     { 48,       "Random Variable Request" },
1281     { 49,       "Redirection Directive" },
1282     { 50,       "Remote User Interaction Directive" },
1283     { 51,       "SMS Delivery Backward" },
1284     { 52,       "SMS Delivery Forward" },
1285     { 53,       "SMS Delivery Point to Point" },
1286     { 54,       "SMS Notification" },
1287     { 55,       "SMS Request" },
1288     { 56,       "OTASP Request" },
1289     { 57,       "Information Backward" },
1290     { 58,       "Change Facilities" },
1291     { 59,       "Change Service" },
1292     { 60,       "Parameter Request" },
1293     { 61,       "TMSI Directive" },
1294     { 62,       "NumberPortabilityRequest" },
1295     { 63,       "Service Request" },
1296     { 64,       "Analyzed Information Request" },
1297     { 65,       "Connection Failure Report" },
1298     { 66,       "Connect Resource" },
1299     { 67,       "Disconnect Resource" },
1300     { 68,       "Facility Selected and Available" },
1301     { 69,       "Instruction Request" },
1302     { 70,       "Modify" },
1303     { 71,       "Reset Timer" },
1304     { 72,       "Search" },
1305     { 73,       "Seize Resource" },
1306     { 74,       "SRF Directive" },
1307     { 75,       "T Busy" },
1308     { 76,       "T NoAnswer" },
1309     { 77,       "Release" },
1310     { 78,       "SMS Delivery Point to Point Ack" },
1311     { 79,       "Message Directive" },
1312     { 80,       "Bulk Disconnection" },
1313     { 81,       "Call Control Directive" },
1314     { 82,       "O Answer" },
1315     { 83,       "O Disconnect" },
1316     { 84,       "Call Recovery Report" },
1317     { 85,       "T Answer" },
1318     { 86,       "T Disconnect" },
1319     { 87,       "Unreliable Call Data" },
1320     { 88,       "O CalledPartyBusy" },
1321     { 89,       "O NoAnswer" },
1322     { 90,       "Position Request" },
1323     { 91,       "Position Request Forward" },
1324     { 92,       "Call Termination Report" },
1325     { 93,       "Geo Position Directive" },
1326     { 94,       "Geo Position Request" },
1327     { 95,       "Inter System Position Request" },
1328     { 96,       "Inter System Position Request Forward" },
1329     { 97,       "ACG Directive" },
1330     { 98,       "Roamer Database Verification Request" },
1331     { 99,       "Add Service" },
1332     { 100,      "Drop Service" },
1333         { 102,  "LCSParameterRequest" },
1334         { 106,  "PositionEventNotification" },
1335     { 0, NULL },
1336 };
1337
1338 static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx);
1339 static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset,  asn1_ctx_t *actx);
1340 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_);
1341
1342 typedef struct dgt_set_t
1343 {
1344     unsigned char out[15];
1345 }
1346 dgt_set_t;
1347
1348 static dgt_set_t Dgt_tbcd = {
1349     {
1350   /*  0   1   2   3   4   5   6   7   8   9   a   b   c   d   e */
1351      '0','1','2','3','4','5','6','7','8','9','?','B','C','*','#'
1352     }
1353 };
1354 static dgt_set_t Dgt1_9_bcd = {
1355     {
1356   /*  0   1   2   3   4   5   6   7   8   9   a   b   c   d   e */
1357      '0','1','2','3','4','5','6','7','8','9','?','?','?','?','?'
1358     }
1359 };
1360 /* Assumes the rest of the tvb contains the digits to be turned into a string 
1361  */
1362 static char*
1363 unpack_digits2(tvbuff_t *tvb, int offset,dgt_set_t *dgt){
1364
1365         int length;
1366         guint8 octet;
1367         int i=0;
1368         char *digit_str;
1369
1370         length = tvb_length(tvb);
1371         if (length < offset)
1372                 return "";
1373         digit_str = ep_alloc((length - offset)*2+1);
1374
1375         while ( offset < length ){
1376
1377                 octet = tvb_get_guint8(tvb,offset);
1378                 digit_str[i] = dgt->out[octet & 0x0f]; 
1379                 i++;
1380
1381                 /*
1382                  * unpack second value in byte
1383                  */
1384                 octet = octet >> 4;
1385
1386                 if (octet == 0x0f)      /* odd number bytes - hit filler */
1387                         break;
1388
1389                 digit_str[i] = dgt->out[octet & 0x0f]; 
1390                 i++;
1391                 offset++;
1392
1393         }
1394         digit_str[i]= '\0';
1395         return digit_str;
1396 }
1397
1398
1399
1400 /* Type of Digits (octet 1, bits A-H) */
1401 static const value_string ansi_map_type_of_digits_vals[] = {
1402   {   0, "Not Used" },
1403   {   1, "Dialed Number or Called Party Number" },
1404   {   2, "Calling Party Number" },
1405   {   3, "Caller Interaction" },
1406   {   4, "Routing Number" },
1407   {   5, "Billing Number" },
1408   {   6, "Destination Number" },
1409   {   7, "LATA" },
1410   {   8, "Carrier" },
1411   { 0, NULL }
1412 };
1413 /* Nature of Number (octet 2, bits A-H )*/
1414 static const true_false_string ansi_map_na_bool_val  = {
1415   "International",
1416   "National"
1417 };
1418 static const true_false_string ansi_map_pi_bool_val  = {
1419   "Presentation Restricted",
1420   "Presentation Allowed"
1421 };
1422 static const true_false_string ansi_map_navail_bool_val  = {
1423   "Number is not available",
1424   "Number is available"
1425 };
1426 static const true_false_string ansi_map_si_bool_val  = {
1427   "User provided, screening passed",
1428   "User provided, not screened"
1429 };
1430 static const value_string ansi_map_si_vals[]  = {
1431     {   0, "User provided, not screened"},
1432     {   1, "User provided, screening passed"},
1433     {   2, "User provided, screening failed"},
1434     {   3, "Network provided"},
1435         { 0, NULL }
1436 };
1437 /* Encoding (octet 3, bits A-D) */
1438 static const value_string ansi_map_digits_enc_vals[]  = {
1439     {   0, "Not used"},
1440     {   1, "BCD"},
1441     {   2, "IA5"},
1442     {   3, "Octet string"},
1443         {       0, NULL }
1444 };
1445 /* Numbering Plan (octet 3, bits E-H) */
1446 static const value_string ansi_map_np_vals[]  = {
1447     {   0, "Unknown or not applicable"},
1448     {   1, "ISDN Numbering"},
1449     {   2, "Telephony Numbering (ITU-T Rec. E.164,E.163)"},
1450     {   3, "Data Numbering (ITU-T Rec. X.121)"},
1451     {   4, "Telex Numbering (ITU-T Rec. F.69)"},
1452     {   5, "Maritime Mobile Numbering"},
1453     {   6, "Land Mobile Numbering (ITU-T Rec. E.212)"},
1454     {   7, "Private Numbering Plan"},
1455     {   13, "SS7 Point Code (PC) and Subsystem Number (SSN)"},
1456     {   14, "Internet Protocol (IP) Address."},
1457     {   15, "Reserved for extension"},
1458         {       0, NULL }
1459 };
1460
1461 static void 
1462 dissect_ansi_map_min_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1463         char            *digit_str;
1464         int offset = 0;
1465         
1466         proto_tree *subtree;
1467
1468         
1469         subtree = proto_item_add_subtree(actx->created_item, ett_mintype);
1470         
1471         digit_str = unpack_digits2(tvb, offset, &Dgt1_9_bcd);
1472         proto_tree_add_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, digit_str);
1473         proto_item_append_text(actx->created_item, " - %s", digit_str);
1474 }
1475
1476 static void 
1477 dissect_ansi_map_digits_type(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1478         
1479         guint8 octet , octet_len;
1480         guint8 b1,b2,b3,b4;
1481         int offset = 0;
1482         char            *digit_str;
1483         
1484         proto_tree *subtree;
1485
1486         
1487         subtree = proto_item_add_subtree(actx->created_item, ett_digitstype);
1488
1489         /* Octet 1 */
1490         proto_tree_add_item(subtree, hf_ansi_map_type_of_digits, tvb, offset, 1, FALSE);
1491         offset++;
1492         /* Octet 2 */
1493         proto_tree_add_item(subtree, hf_ansi_map_reservedBitHG, tvb, offset, 1, FALSE);
1494         proto_tree_add_item(subtree, hf_ansi_map_si, tvb, offset, 1, FALSE);
1495         proto_tree_add_item(subtree, hf_ansi_map_reservedBitD, tvb, offset, 1, FALSE);
1496         proto_tree_add_item(subtree, hf_ansi_map_navail, tvb, offset, 1, FALSE);
1497         proto_tree_add_item(subtree, hf_ansi_map_pi, tvb, offset, 1, FALSE);
1498         proto_tree_add_item(subtree, hf_ansi_map_na, tvb, offset, 1, FALSE);
1499         offset++;
1500         /* Octet 3 */
1501         octet = tvb_get_guint8(tvb,offset);
1502         proto_tree_add_item(subtree, hf_ansi_map_np, tvb, offset, 1, FALSE);
1503         proto_tree_add_item(subtree, hf_ansi_map_digits_enc, tvb, offset, 1, FALSE);
1504         offset++;
1505         /* Octet 4 - */
1506         switch(octet>>4){
1507         case 0:/* Unknown or not applicable */
1508                 switch ((octet&0xf)){
1509                 case 1:
1510                         /* BCD Coding */
1511                         digit_str = unpack_digits2(tvb, offset, &Dgt_tbcd);
1512                         proto_tree_add_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, digit_str);
1513                         proto_item_append_text(actx->created_item, " - %s", digit_str);
1514                         break;
1515                 case 2:
1516                         /* IA5 Coding */
1517                         proto_tree_add_item(subtree, hf_ansi_map_ia5_digits, tvb, offset, -1, FALSE);
1518                         proto_item_append_text(actx->created_item, " - %s", tvb_get_ephemeral_string(tvb,offset,tvb_length_remaining(tvb,offset)));
1519                         break;
1520                 case 3:
1521                         /* Octet string */
1522                         break;
1523                 default:
1524                         break;
1525                 }
1526                 break;
1527         case 1:/* ISDN Numbering (not used in this Standard). */
1528         case 3:/* Data Numbering (ITU-T Rec. X.121) (not used in this Standard). */
1529         case 4:/* Telex Numbering (ITU-T Rec. F.69) (not used in this Standard). */
1530         case 5:/* Maritime Mobile Numbering (not used in this Standard). */
1531                 proto_tree_add_text(subtree, tvb, offset, -1, "This Number plan should not have been used");
1532                 break;
1533         case 2:/* Telephony Numbering (ITU-T Rec. E.164,E.163). */
1534         case 6:/* Land Mobile Numbering (ITU-T Rec. E.212) */
1535         case 7:/* Private Numbering Plan */
1536                 octet_len = tvb_get_guint8(tvb,offset);
1537                 proto_tree_add_item(subtree, hf_ansi_map_nr_digits, tvb, offset, 1, FALSE);
1538                 if(octet_len == 0)
1539                         return;
1540                 offset++;
1541                 switch ((octet&0xf)){
1542                 case 1:
1543                         /* BCD Coding */
1544                         digit_str = unpack_digits2(tvb, offset, &Dgt_tbcd);
1545                         proto_tree_add_string(subtree, hf_ansi_map_bcd_digits, tvb, offset, -1, digit_str);
1546                         proto_item_append_text(actx->created_item, " - %s", digit_str);
1547                         break;
1548                 case 2:
1549                         /* IA5 Coding */
1550                         proto_tree_add_item(subtree, hf_ansi_map_ia5_digits, tvb, offset, -1, FALSE);
1551                         proto_item_append_text(actx->created_item, " - %s", tvb_get_ephemeral_string(tvb,offset,tvb_length_remaining(tvb,offset)));
1552                         break;
1553                 case 3:
1554                         /* Octet string */
1555                         break;
1556                 default:
1557                         break;
1558                 }
1559                 break;
1560         case 13:/* ANSI SS7 Point Code (PC) and Subsystem Number (SSN). */
1561                 switch ((octet&0xf)){
1562                 case 3:
1563                         /* Octet string */
1564                         /* Point Code Member Number octet 2 */
1565                         b1 = tvb_get_guint8(tvb,offset);
1566                         offset++;
1567                         /* Point Code Cluster Number octet 3 */
1568                         b2 = tvb_get_guint8(tvb,offset);
1569                         offset++;
1570                         /* Point Code Network Number octet 4 */
1571                         b3 = tvb_get_guint8(tvb,offset);
1572                         offset++;
1573                         /* Subsystem Number (SSN) octet 5 */
1574                         b4 = tvb_get_guint8(tvb,offset);
1575                         proto_tree_add_text(subtree, tvb, offset-3, 4 , "Point Code %u-%u-%u  SSN %u",
1576                                 b3, b2, b1, b4);
1577                         proto_item_append_text(actx->created_item, " - Point Code %u-%u-%u  SSN %u", b3, b2, b1, b4);
1578                         break;
1579                 default:
1580                         break;
1581                 }
1582                 break;
1583         case 14:/* Internet Protocol (IP) Address. */
1584                 break;
1585         default:
1586                 proto_tree_add_text(subtree, tvb, offset, -1, "This Number plan should not have been used");
1587                 break;
1588         }
1589
1590 }
1591 /* 6.5.3.13. Subaddress */
1592
1593 static const true_false_string ansi_map_Odd_Even_Ind_bool_val  = {
1594   "Odd",
1595   "Even"
1596 };
1597 /* Type of Subaddress (octet 1, bits E-G) */
1598 static const value_string ansi_map_sub_addr_type_vals[]  = {
1599     {   0, "NSAP (CCITT Rec. X.213 or ISO 8348 AD2)"},
1600     {   1, "User specified"},
1601     {   2, "Reserved"},
1602     {   3, "Reserved"},
1603     {   4, "Reserved"},
1604     {   5, "Reserved"},
1605     {   6, "Reserved"},
1606     {   7, "Reserved"},
1607         {       0, NULL }
1608 };
1609
1610 static void 
1611 dissect_ansi_map_subaddress(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1612         int offset = 0;
1613         
1614         proto_tree *subtree;
1615
1616         
1617         subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1618         /* Type of Subaddress (octet 1, bits E-G) */
1619         proto_tree_add_item(subtree, hf_ansi_map_subaddr_type, tvb, offset, 1, FALSE);
1620         /* Odd/Even Indicator (O/E) (octet 1, bit D) */
1621         proto_tree_add_item(subtree, hf_ansi_map_subaddr_odd_even, tvb, offset, 1, FALSE);
1622
1623 }
1624 /*
1625  * 6.5.2.2 ActionCode
1626  * Table 114 ActionCode value
1627  *
1628  * 6.5.2.2 ActionCode(TIA/EIA-41.5-D, page 5-129) */
1629
1630 static const value_string ansi_map_ActionCode_vals[]  = {
1631     {   0, "Not used"},
1632     {   1, "Continue processing"},
1633     {   2, "Disconnect call"},
1634     {   3, "Disconnect call leg"},
1635     {   4, "Conference Calling Drop Last Party"},
1636     {   5, "Bridge call leg(s) to conference call"},
1637     {   6, "Drop call leg on busy or routing failure"},
1638     {   7, "Disconnect all call legs"},
1639     {   8, "Attach MSC to OTAF"},
1640     {   9, "Initiate RegistrationNotification"},
1641     {   10, "Generate Public Encryption values"},
1642     {   11, "Generate A-key"},
1643     {   12, "Perform SSD Update procedure"},
1644     {   13, "Perform Re-authentication procedure"},
1645     {   14, "Release TRN"},
1646     {   15, "Commit A-key"},
1647     {   16, "Release Resources (e.g., A-key, Traffic Channel)"},
1648     {   17, "Record NEWMSID"},
1649     {   18, "Allocate Resources (e.g., Multiple message traffic channel delivery)."},
1650     {   19, "Generate Authentication Signature"},
1651     {   20, "Release leg and redirect subscriber"},
1652         {       21, "Do Not Wait For MS User Level Response"},
1653         {       22, "Prepare for CDMA Handset-Based Position Determination"},
1654         {       23, "CDMA Handset-Based Position Determination Complete"},
1655         {       0, NULL }
1656 };
1657 /* 6.5.2.3 AlertCode */
1658
1659 /* Pitch (octet 1, bits G-H) */
1660 static const value_string ansi_map_AlertCode_Pitch_vals[]  = {
1661         {   0, "Medium pitch"},
1662         {   1, "High pitch"},
1663         {   2, "Low pitch"},
1664         {   3, "Reserved"},
1665         {       0, NULL }
1666 };
1667 /* Cadence (octet 1, bits A-F) */
1668 static const value_string ansi_map_AlertCode_Cadence_vals[]  = {
1669         {   0, "NoTone"},
1670         {   1, "Long"},
1671         {   2, "ShortShort"},
1672         {   3, "ShortShortLong"},
1673         {   4, "ShortShort2"},
1674         {   5, "ShortLongShort"},
1675         {   6, "ShortShortShortShort"},
1676         {   7, "PBXLong"},
1677         {   8, "PBXShortShort"},
1678         {   9, "PBXShortShortLong"},
1679         {   0, "NoTone"},
1680
1681         {   10, "PBXShortLongShort"},
1682         {   11, "PBXShortShortShortShort"},
1683         {   12, "PipPipPipPip"},
1684         {   13, "Reserved. Treat the same as value 0, NoTone"},
1685         {   14, "Reserved. Treat the same as value 0, NoTone"},
1686         {   15, "Reserved. Treat the same as value 0, NoTone"},
1687         {   16, "Reserved. Treat the same as value 0, NoTone"},
1688         {   17, "Reserved. Treat the same as value 0, NoTone"},
1689         {   18, "Reserved. Treat the same as value 0, NoTone"},
1690         {   19, "Reserved. Treat the same as value 0, NoTone"},
1691         {       20, NULL }
1692 };
1693
1694 /* Alert Action (octet 2, bits A-C) */
1695 static const value_string ansi_map_AlertCode_Alert_Action_vals[]  = {
1696         {   0, "Alert without waiting to report"},
1697         {   1, "Apply a reminder alert once"},
1698         {   2, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1699         {   3, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1700         {   4, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1701         {   5, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1702         {   6, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1703         {   7, "Other values reserved. Treat the same as value 0, Alert without waiting to report"},
1704         {       0, NULL }
1705 };
1706 static void
1707 dissect_ansi_map_alertcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1708
1709         int offset = 0;
1710         
1711         proto_tree *subtree;
1712
1713         
1714         subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1715         /* Pitch (octet 1, bits G-H) */
1716         proto_tree_add_item(subtree, hf_ansi_alertcode_pitch, tvb, offset, 1, FALSE);
1717         /* Cadence (octet 1, bits A-F) */
1718         proto_tree_add_item(subtree, hf_ansi_alertcode_cadence, tvb, offset, 1, FALSE);
1719         offset++;
1720
1721         /* Alert Action (octet 2, bits A-C) */
1722         proto_tree_add_item(subtree, hf_ansi_alertcode_alertaction, tvb, offset, 1, FALSE);
1723
1724 }
1725 /* 6.5.2.4 AlertResult */
1726 /* Result (octet 1) */
1727 static const value_string ansi_map_AlertResult_result_vals[]  = {
1728         {   0, "Not specified"},
1729         {   1, "Success"},
1730         {   2, "Failure"},
1731         {   3, "Denied"},
1732         {   4, "NotAttempted"},
1733         {   5, "NoPageResponse"},
1734         {   6, "Busy"},
1735         {       0, NULL }
1736 };
1737
1738 /* 6.5.2.5 AnnouncementCode Updatef from NS0018Re*/
1739 /* Tone (octet 1) */
1740 static const value_string ansi_map_AnnouncementCode_tone_vals[]  = {
1741         {   0, "DialTone"},
1742         {   1, "RingBack or AudibleAlerting"},
1743         {   2, "InterceptTone or MobileReorder"},
1744         {   3, "CongestionTone or ReorderTone"},
1745         {   4, "BusyTone"},
1746         {   5, "ConfirmationTone"},
1747         {   6, "AnswerTone"},
1748         {   7, "CallWaitingTone"},
1749         {   8, "OffHookTone"},
1750         {   17, "RecallDialTone"},
1751         {   18, "BargeInTone"},
1752         {   20, "PPCInsufficientTone"},
1753         {   21, "PPCWarningTone1"},
1754         {   22, "PPCWarningTone2"},
1755         {   23, "PPCWarningTone3"},
1756         {   24, "PPCDisconnectTone"},
1757         {   25, "PPCRedirectTone"},
1758         {   63, "TonesOff"},
1759         {   192, "PipTone"},
1760         {   193, "AbbreviatedIntercept"},
1761         {   194, "AbbreviatedCongestion"},
1762         {   195, "WarningTone"},
1763         {   196, "DenialToneBurst"},
1764         {   197, "DialToneBurst"},
1765         {   250, "IncomingAdditionalCallTone"},
1766         {   251, "PriorityAdditionalCallTone"},
1767         {       0, NULL }
1768 };
1769 /* Class (octet 2, bits A-D) */
1770 static const value_string ansi_map_AnnouncementCode_class_vals[]  = {
1771         {   0, "Concurrent"},
1772         {   1, "Sequential"},
1773         {       0, NULL }
1774 };
1775 /* Standard Announcement (octet 3) Updated with N.S0015 */
1776 static const value_string ansi_map_AnnouncementCode_std_ann_vals[]  = {
1777         {   0, "None"},
1778         {   1, "UnauthorizedUser"},
1779         {   2, "InvalidESN"},
1780         {   3, "UnauthorizedMobile"},
1781         {   4, "SuspendedOrigination"},
1782         {   5, "OriginationDenied"},
1783         {   6, "ServiceAreaDenial"},
1784         {   16, "PartialDial"},
1785         {   17, "Require1Plus"},
1786         {   18, "Require1PlusNPA"},
1787         {   19, "Require0Plus"},
1788         {   20, "Require0PlusNPA"},
1789         {   21, "Deny1Plus"},
1790         {   22, "Unsupported10plus"},
1791         {   23, "Deny10plus"},
1792         {   24, "Unsupported10XXX"},
1793         {   25, "Deny10XXX"},
1794         {   26, "Deny10XXXLocally"},
1795         {   27, "Require10Plus"},
1796         {   28, "RequireNPA"},
1797         {   29, "DenyTollOrigination"},
1798         {   30, "DenyInternationalOrigination"},
1799         {   31, "Deny0Minus"},
1800         {   48, "DenyNumber"},
1801         {   49, "AlternateOperatorServices"},
1802         {   64, "No Circuit or AllCircuitsBusy or FacilityProblem"},
1803         {   65, "Overload"},
1804         {   66, "InternalOfficeFailure"},
1805         {   67, "NoWinkReceived"},
1806         {   68, "InterofficeLinkFailure"},
1807         {   69, "Vacant"},
1808         {   70, "InvalidPrefix or InvalidAccessCode"},
1809         {   71, "OtherDialingIrregularity"},
1810         {   80, "VacantNumber or DisconnectedNumber"},
1811         {   81, "DenyTermination"},
1812         {   82, "SuspendedTermination"},
1813         {   83, "ChangedNumber"},
1814         {   84, "InaccessibleSubscriber"},
1815         {   85, "DenyIncomingTol"},
1816         {   86, "RoamerAccessScreening"},
1817         {   87, "RefuseCall"},
1818         {   88, "RedirectCall"},
1819         {   89, "NoPageResponse"},
1820         {   90, "NoAnswer"},
1821         {   96, "RoamerIntercept"},
1822         {   97, "GeneralInformation"},
1823         {   112, "UnrecognizedFeatureCode"},
1824         {   113, "UnauthorizedFeatureCode"},
1825         {   114, "RestrictedFeatureCode"},
1826         {   115, "InvalidModifierDigits"},
1827         {   116, "SuccessfulFeatureRegistration"},
1828         {   117, "SuccessfulFeatureDeRegistration"},
1829         {   118, "SuccessfulFeatureActivation"},
1830         {   119, "SuccessfulFeatureDeActivation"},
1831         {   120, "InvalidForwardToNumber"},
1832         {   121, "CourtesyCallWarning"},
1833         {   128, "EnterPINSendPrompt"},
1834         {   129, "EnterPINPrompt"},
1835         {   130, "ReEnterPINSendPrompt"},
1836         {   131, "ReEnterPINPrompt"},
1837         {   132, "EnterOldPINSendPrompt"},
1838         {   133, "EnterOldPINPrompt"},
1839         {   134, "EnterNewPINSendPrompt"},
1840         {   135, "EnterNewPINPrompt"},
1841         {   136, "ReEnterNewPINSendPrompt"},
1842         {   137, "ReEnterNewPINPrompt"},
1843         {   138, "EnterPasswordPrompt"},
1844         {   139, "EnterDirectoryNumberPrompt"},
1845         {   140, "ReEnterDirectoryNumberPrompt"},
1846         {   141, "EnterFeatureCodePrompt"},
1847         {   142, "EnterEnterCreditCardNumberPrompt"},
1848         {   143, "EnterDestinationNumberPrompt"},
1849         {   152, "PPCInsufficientAccountBalance"},
1850         {   153, "PPCFiveMinuteWarning"},
1851         {   154, "PPCThreeMinuteWarning"},
1852         {   155, "PPCTwoMinuteWarning"},
1853         {   156, "PPCOneMinuteWarning"},
1854         {   157, "PPCDisconnect"},
1855         {   158, "PPCRedirect"},
1856         {       0, NULL }
1857 };
1858
1859
1860
1861 static void
1862 dissect_ansi_map_announcementcode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1863
1864         int offset = 0;
1865         
1866         proto_tree *subtree;
1867
1868         
1869         subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1870         
1871         /* Tone (octet 1) */
1872         proto_tree_add_item(subtree, hf_ansi_map_announcementcode_tone, tvb, offset, 1, FALSE);
1873         offset++;
1874         /* Class (octet 2, bits A-D) */
1875         proto_tree_add_item(subtree, hf_ansi_map_announcementcode_class, tvb, offset, 1, FALSE);
1876         offset++;
1877         /* Standard Announcement (octet 3) */
1878         proto_tree_add_item(subtree, hf_ansi_map_announcementcode_std_ann, tvb, offset, 1, FALSE);
1879         offset++;
1880         /* Custom Announcement ( octet 4 )
1881                 e.      The assignment of this octet is left to bilateral agreement. When a Custom
1882                         Announcement is specified it takes precedence over either the Standard
1883                         Announcement or Tone
1884          */
1885         proto_tree_add_item(subtree, hf_ansi_map_announcementcode_cust_ann, tvb, offset, 1, FALSE);
1886
1887 }
1888 /* 6.5.2.8 AuthenticationCapability Updated N.S0003*/
1889 static const value_string ansi_map_AuthenticationCapability_vals[]  = {
1890         {   0, "Not used"},
1891         {   1, "No authentication required"},
1892         {   2, "Authentication required"},
1893         {   128, "Authentication required and UIM capable."},
1894         {       0, NULL }
1895 };
1896
1897 /* 6.5.2.14 AuthorizationPeriod*/
1898
1899 /* Period (octet 1) */
1900 static const value_string ansi_map_authorizationperiod_period_vals[]  = {
1901         {   0, "Not used"},
1902         {   1, "Per Call"},
1903         {   2, "Hours"},
1904         {   3, "Days"},
1905         {   4, "Weeks"},
1906         {   5, "Per Agreement"},
1907         {   6, "Indefinite (i.e., authorized until canceled or deregistered)"},
1908         {   7, "Number of calls. Re-authorization should be attempted after this number of (rejected) call attempts"},
1909         {       0, NULL }
1910 };
1911 /* Value (octet 2)
1912 Number of minutes hours, days, weeks, or
1913 number of calls (as per Period). If Period
1914 indicates anything else the Value is set to zero
1915 on sending and ignored on receipt. 
1916 */
1917 static void
1918 dissect_ansi_map_authorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1919
1920         int offset = 0;
1921         
1922         proto_tree *subtree;
1923
1924         
1925         subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1926         proto_tree_add_item(subtree, hf_ansi_map_authorizationperiod_period, tvb, offset, 1, FALSE);
1927         offset++;
1928         proto_tree_add_item(subtree, hf_ansi_map_value, tvb, offset, 1, FALSE);
1929
1930 }
1931 /* 6.5.2.15 AvailabilityType */
1932 static const value_string ansi_map_AvailabilityType_vals[]  = {
1933         {   0, "Not used"},
1934         {   1, "Unspecified MS inactivity type"},
1935         {       0, NULL }
1936 };
1937
1938 /* 6.5.2.16 BillingID */
1939 static void
1940 dissect_ansi_map_billingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1941
1942         int offset = 0;
1943         
1944         proto_tree *subtree;
1945
1946         
1947         subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
1948
1949         proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE);
1950         offset = offset + 2;
1951         proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE);
1952         offset++;
1953         /* ID Number */
1954         proto_tree_add_item(subtree, hf_ansi_map_idno, tvb, offset, 3, FALSE);
1955         offset = offset + 3;
1956         proto_tree_add_item(subtree, hf_ansi_map_segcount, tvb, offset, 1, FALSE);
1957
1958 }
1959
1960
1961 /* 6.5.2.20 CallingFeaturesIndicator */
1962 static const value_string ansi_map_FeatureActivity_vals[]  = {
1963         {   0, "Not used"},
1964         {   1, "Not authorized"},
1965         {   2, "Authorized but de-activated"},
1966         {   3, "Authorized and activated"},
1967         {       0, NULL }
1968 };
1969
1970
1971 static void
1972 dissect_ansi_map_callingfeaturesindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
1973         int offset = 0;
1974         int length; 
1975         
1976         proto_tree *subtree;
1977
1978         length = tvb_length_remaining(tvb,offset); 
1979         
1980         subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
1981
1982         /* Call Waiting: FeatureActivity, CW-FA (Octet 1 bits GH )              */
1983         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cwfa, tvb, offset, 1, FALSE);
1984         /* Call Forwarding No Answer FeatureActivity, CFNA-FA (Octet 1 bits EF )        */
1985         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfnafa, tvb, offset, 1, FALSE);
1986         /* Call Forwarding Busy FeatureActivity, CFB-FA (Octet 1 bits CD )      */
1987         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfbfa, tvb, offset, 1, FALSE);
1988         /* Call Forwarding Unconditional FeatureActivity, CFU-FA (Octet 1 bits AB )     */
1989         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cfufa, tvb, offset, 1, FALSE);
1990         offset++;
1991         length--;
1992
1993         /* Call Transfer: FeatureActivity, CT-FA (Octet 2 bits GH )             */
1994         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ctfa, tvb, offset, 1, FALSE);
1995         /* Voice Privacy FeatureActivity, VP-FA (Octet 2 bits EF )      */
1996         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_vpfa, tvb, offset, 1, FALSE);
1997         /* Call Delivery: FeatureActivity (not interpreted on reception by IS-41-C or later)
1998                 CD-FA (Octet 2 bits CD )        */
1999         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cdfa, tvb, offset, 1, FALSE);
2000         /* Three-Way Calling FeatureActivity, 3WC-FA (Octet 2 bits AB ) */
2001         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_3wcfa, tvb, offset, 1, FALSE);
2002         offset++;
2003         length--;
2004
2005
2006         /* Calling Number Identification Restriction Override FeatureActivity CNIROver-FA (Octet 3 bits GH )    */
2007         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cniroverfa, tvb, offset, 1, FALSE);
2008         /* Calling Number Identification Restriction: FeatureActivity CNIR-FA (Octet 3 bits EF )        */
2009         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnirfa, tvb, offset, 1, FALSE);
2010         /* Calling Number Identification Presentation: FeatureActivity CNIP2-FA (Octet 3 bits CD )      */
2011         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnip2fa, tvb, offset, 1, FALSE);
2012         /* Calling Number Identification Presentation: FeatureActivity CNIP1-FA (Octet 3 bits AB )      */
2013         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cnip1fa, tvb, offset, 1, FALSE);
2014         length--;
2015         if ( length == 0)
2016                 return;
2017         offset++;
2018
2019         /* USCF divert to voice mail: FeatureActivity USCFvm-FA (Octet 4 bits GH )      */
2020         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfvmfa, tvb, offset, 1, FALSE);
2021         /* Answer Hold: FeatureActivity AH-FA (Octet 4 bits EF ) N.S0029-0 v1.0 */
2022         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ahfa, tvb, offset, 1, FALSE);
2023         /* Data Privacy Feature Activity DP-FA (Octet 4 bits CD ) N.S0008-0 v 1.0       */
2024         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_dpfa, tvb, offset, 1, FALSE);
2025         /* Priority Call Waiting FeatureActivity PCW-FA (Octet 4 bits AB )      */
2026         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_pcwfa, tvb, offset, 1, FALSE);
2027         length--;
2028         if ( length == 0)
2029                 return;
2030         offset++;
2031
2032         /* USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA (Octet 5 bits AB ) */
2033         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfmsfa, tvb, offset, 1, FALSE);
2034         /* USCF divert to network registered DN:FeatureActivity. USCFnr-FA (Octet 5 bits CD )*/
2035         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_uscfnrfa, tvb, offset, 1, FALSE);
2036         /* CDMA-Packet Data Service: FeatureActivity. CPDS-FA (Octet 5 bits EF ) N.S0029-0 v1.0*/
2037         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_cpdsfa, tvb, offset, 1, FALSE);
2038         /* CDMA-Concurrent Service:FeatureActivity. CCS-FA (Octet 5 bits GH ) N.S0029-0 v1.0*/
2039         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_ccsfa, tvb, offset, 1, FALSE);
2040         length--;
2041         if ( length == 0)
2042                 return;
2043         offset++;
2044
2045         /* TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA (Octet 6 bits AB ) N.S0029-0 v1.0*/
2046         proto_tree_add_item(subtree, hf_ansi_map_callingfeaturesindicator_epefa, tvb, offset, 1, FALSE);
2047 }
2048
2049
2050 /* 6.5.2.27 CancellationType */
2051 static const value_string ansi_map_CancellationType_vals[]  = {
2052         {   0, "Not used"},
2053         {   1, "ServingSystemOption"},
2054         {   2, "ReportInCall."},
2055         {   3, "Discontinue"},
2056         {       0, NULL }
2057 };
2058
2059 /* 6.5.2.29 CDMACallMode Updated with N.S0029-0 v1.0*/
2060 /* Call Mode (octet 1, bit A) */
2061 static const true_false_string ansi_map_CDMACallMode_cdma_bool_val  = {
2062   "CDMA 800 MHz channel (Band Class 0) acceptable.",
2063   "CDMA 800 MHz channel (Band Class 0) not acceptable"
2064 };
2065 /* Call Mode (octet 1, bit B) */
2066 static const true_false_string ansi_map_CallMode_amps_bool_val  = {
2067         "AAMPS 800 MHz channel acceptable",
2068         "AMPS 800 MHz channel not acceptable"
2069 };
2070 /* Call Mode (octet 1, bit C) */
2071 static const true_false_string ansi_map_CallMode_namps_bool_val  = {
2072         "NAMPS 800 MHz channel acceptable",
2073         "NAMPS 800 MHz channel not acceptable"
2074 };
2075 /* Call Mode (octet 1, bit D) */
2076 static const true_false_string ansi_map_CDMACallMode_cls1_bool_val  = {
2077   "CDMA 1900 MHz channel (Band Class 1) acceptable.",
2078   "CDMA 1900 MHz channel (Band Class 1) not acceptable"
2079 };
2080 /* Call Mode (octet 1, bit E) */
2081 static const true_false_string ansi_map_CDMACallMode_cls2_bool_val  = {
2082   "TACS channel (Band Class 2) acceptable",
2083   "TACS channel (Band Class 2) not acceptable"
2084 };
2085 /* Call Mode (octet 1, bit F) */
2086 static const true_false_string ansi_map_CDMACallMode_cls3_bool_val  = {
2087   "JTACS channel (Band Class 3) acceptable",
2088   "JTACS channel (Band Class 3) not acceptable"
2089 };
2090 /* Call Mode (octet 1, bit G) */
2091 static const true_false_string ansi_map_CDMACallMode_cls4_bool_val  = {
2092   "Korean PCS channel (Band Class 4) acceptable",
2093   "Korean PCS channel (Band Class 4) not acceptable"
2094 };
2095 /* Call Mode (octet 1, bit H) */
2096 static const true_false_string ansi_map_CDMACallMode_cls5_bool_val  = {
2097   "450 MHz channel (Band Class 5) not acceptable",
2098   "450 MHz channel (Band Class 5) not acceptable"
2099 };
2100 /* Call Mode (octet 2, bit A) */
2101 static const true_false_string ansi_map_CDMACallMode_cls6_bool_val  = {
2102   "2 GHz channel (Band Class 6) acceptable.",
2103   "2 GHz channel (Band Class 6) not acceptable."
2104 };
2105
2106 /* Call Mode (octet 2, bit B) */
2107 static const true_false_string ansi_map_CDMACallMode_cls7_bool_val  = {
2108   "700 MHz channel (Band Class 7) acceptable",
2109   "700 MHz channel (Band Class 7) not acceptable"
2110 };
2111
2112 /* Call Mode (octet 2, bit C) */
2113 static const true_false_string ansi_map_CDMACallMode_cls8_bool_val  = {
2114   "1800 MHz channel (Band Class 8) acceptable",
2115   "1800 MHz channel (Band Class 8) not acceptable"
2116 };
2117 /* Call Mode (octet 2, bit D) */
2118 static const true_false_string ansi_map_CDMACallMode_cls9_bool_val  = {
2119   "900 MHz channel (Band Class 9) acceptable",
2120   "900 MHz channel (Band Class 9) not acceptable"
2121 };
2122 /* Call Mode (octet 2, bit E) */
2123 static const true_false_string ansi_map_CDMACallMode_cls10_bool_val  = {
2124   "Secondary 800 MHz channel (Band Class 10) acceptable.",
2125   "Secondary 800 MHz channel (Band Class 10) not acceptable."
2126 };
2127
2128 static void
2129 dissect_ansi_map_cdmacallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2130         int offset = 0;
2131         int length; 
2132         
2133         proto_tree *subtree;
2134
2135         length = tvb_length_remaining(tvb,offset); 
2136
2137         
2138         subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2139         /* Call Mode (octet 1, bit H) */
2140         proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls5, tvb, offset, 1, FALSE);
2141         /* Call Mode (octet 1, bit G) */
2142         proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls4, tvb, offset, 1, FALSE);
2143         /* Call Mode (octet 1, bit F) */
2144         proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls3, tvb, offset, 1, FALSE);
2145         /* Call Mode (octet 1, bit E) */
2146         proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls2, tvb, offset, 1, FALSE);
2147         /* Call Mode (octet 1, bit D) */
2148         proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls1, tvb, offset, 1, FALSE);
2149         /* Call Mode (octet 1, bit C) */
2150         proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_namps, tvb, offset, 1, FALSE);
2151         /* Call Mode (octet 1, bit B) */
2152         proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_amps, tvb, offset, 1, FALSE);
2153         /* Call Mode (octet 1, bit A) */
2154         proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cdma, tvb, offset, 1, FALSE);
2155
2156         length--; 
2157         if ( length == 0)
2158                 return;
2159         offset++;
2160
2161         /* Call Mode (octet 2, bit E) */
2162         proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls10, tvb, offset, 1, FALSE);
2163         /* Call Mode (octet 2, bit D) */
2164         proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls9, tvb, offset, 1, FALSE);
2165         /* Call Mode (octet 2, bit C) */
2166         proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls8, tvb, offset, 1, FALSE);
2167         /* Call Mode (octet 2, bit B) */
2168         proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls7, tvb, offset, 1, FALSE);
2169         /* Call Mode (octet 2, bit A) */
2170         proto_tree_add_item(subtree, hf_ansi_map_cdmacallmode_cls6, tvb, offset, 1, FALSE);
2171
2172 }
2173 /* 6.5.2.30 CDMAChannelData */
2174 /* Updated with N.S0010-0 v 1.0 */
2175
2176 static const value_string ansi_map_cdmachanneldata_band_cls_vals[]  = {
2177         {   0, "800 MHz Cellular System"},
2178         {       0, NULL }
2179 };
2180
2181 static void
2182 dissect_ansi_map_cdmachanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2183
2184         int offset = 0;
2185         int length; 
2186         
2187         proto_tree *subtree;
2188
2189         length = tvb_length_remaining(tvb,offset);
2190
2191         
2192         subtree = proto_item_add_subtree(actx->created_item, ett_cdmachanneldata);
2193
2194         proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE);
2195         proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_Frame_Offset, tvb, offset, 1, FALSE);
2196         /* CDMA Channel Number */
2197         proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_CDMA_ch_no, tvb, offset, 2, FALSE);
2198         offset = offset + 2;
2199         length = length -2;
2200         /* Band Class */
2201         proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE);
2202         proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_band_cls, tvb, offset, 1, FALSE);
2203         /* Long Code Mask */
2204         proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b6, tvb, offset, 1, FALSE);
2205         offset++;
2206         proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b5, tvb, offset, 1, FALSE);
2207         offset++;
2208         proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b4, tvb, offset, 1, FALSE);
2209         offset++;
2210         proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b3, tvb, offset, 1, FALSE);
2211         offset++;
2212         proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b2, tvb, offset, 1, FALSE);
2213         offset++;
2214         proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_lc_mask_b1, tvb, offset, 1, FALSE);
2215         length = length - 6;
2216         if (length == 0)
2217                 return;
2218         offset++;
2219         /* NP_EXT */
2220         proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_np_ext, tvb, offset, 1, FALSE);
2221         /* Nominal Power */
2222         proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_nominal_pwr, tvb, offset, 1, FALSE);
2223         /* Number Preamble */
2224         proto_tree_add_item(subtree, hf_ansi_map_cdmachanneldata_nr_preamble, tvb, offset, 1, FALSE);
2225
2226 }
2227 /* 6.5.2.31 CDMACodeChannel */
2228
2229 /* 6.5.2.41 CDMAStationClassMark */
2230 /* Power Class: (PC) (octet 1, bits A and B) */
2231 static const value_string ansi_map_CDMAStationClassMark_pc_vals[]  = {
2232         {   0, "Class I"},
2233         {   1, "Class II"},
2234         {   2, "Class III"},
2235         {   3, "Reserved"},
2236         {       0, NULL }
2237 };
2238 /* Analog Transmission: (DTX) (octet 1, bit C) */
2239 static const true_false_string ansi_map_CDMAStationClassMark_dtx_bool_val  = {
2240         "Discontinuous",
2241         "Continuous"
2242 };
2243 /* Slotted Mode Indicator: (SMI) (octet 1, bit F) */
2244 static const true_false_string ansi_map_CDMAStationClassMark_smi_bool_val  = {
2245         "Slotted capable",
2246         "Slotted incapable"
2247 };
2248 /* Dual-mode Indicator(DMI) (octet 1, bit G) */
2249 static const true_false_string ansi_map_CDMAStationClassMark_dmi_bool_val  = {
2250         "Dual-mode CDMA",
2251         "CDMA only"
2252 };
2253
2254
2255 static void
2256 dissect_ansi_map_cdmastationclassmark(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2257         int offset = 0;
2258         
2259         proto_tree *subtree;
2260
2261         
2262         subtree = proto_item_add_subtree(actx->created_item, ett_cdmastationclassmark);
2263
2264         proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE);
2265         /* Dual-mode Indicator(DMI) (octet 1, bit G) */
2266         proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_dmi, tvb, offset, 1, FALSE);
2267         /* Slotted Mode Indicator: (SMI) (octet 1, bit F) */
2268         proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_smi, tvb, offset, 1, FALSE);
2269         proto_tree_add_item(subtree, hf_ansi_map_reservedBitED, tvb, offset, 1, FALSE);
2270         /* Analog Transmission: (DTX) (octet 1, bit C) */
2271         proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_dtx, tvb, offset, 1, FALSE);
2272         /* Power Class: (PC) (octet 1, bits A and B) */
2273         proto_tree_add_item(subtree, hf_ansi_map_cdmastationclassmark_pc, tvb, offset, 1, FALSE);
2274 }
2275 /* 6.5.2.47 ChannelData */
2276 /* Discontinuous Transmission Mode (DTX) (octet 1, bits E and D) */
2277 static const value_string ansi_map_ChannelData_dtx_vals[]  = {
2278         {   0, "DTX disabled"},
2279         {   1, "Reserved. Treat the same as value 00, DTX disabled."},
2280         {   2, "DTX-low mode"},
2281         {   3, "DTX mode active or acceptable"},
2282         {       0, NULL }
2283 };
2284
2285
2286 static void
2287 dissect_ansi_map_channeldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2288         int offset = 0;
2289         
2290         proto_tree *subtree;
2291
2292         
2293         subtree = proto_item_add_subtree(actx->created_item, ett_channeldata);
2294
2295         /* SAT Color Code (SCC) (octet 1, bits H and G) */
2296         proto_tree_add_item(subtree, hf_ansi_map_channeldata_scc, tvb, offset, 1, FALSE);
2297         /* Discontinuous Transmission Mode (DTX) (octet 1, bits E and D) */
2298         proto_tree_add_item(subtree, hf_ansi_map_channeldata_dtx, tvb, offset, 1, FALSE);
2299         /* Voice Mobile Attenuation Code (VMAC) (octet 1, bits A - C)*/
2300         proto_tree_add_item(subtree, hf_ansi_map_channeldata_vmac, tvb, offset, 1, FALSE);
2301
2302         offset++;
2303         /* Channel Number (CHNO) ( octet 2 and 3 ) */
2304         proto_tree_add_item(subtree, hf_ansi_map_channeldata_chno, tvb, offset, 2, FALSE);
2305
2306 }
2307
2308 /* 6.5.2.50 ConfidentialityModes */
2309 /* Updated with N.S0008-0 v 1.0*/
2310 /* Voice Privacy (VP) Confidentiality Status (octet 1, bit A) */
2311
2312 static const true_false_string ansi_map_ConfidentialityModes_bool_val  = {
2313         "On",
2314         "Off"
2315 };
2316 static void
2317 dissect_ansi_map_confidentialitymodes(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2318         int offset = 0;
2319         
2320         proto_tree *subtree;
2321
2322         
2323         subtree = proto_item_add_subtree(actx->created_item, ett_confidentialitymodes);
2324
2325         /* DataPrivacy (DP) Confidentiality Status (octet 1, bit C) */
2326         proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_dp, tvb, offset, 1, FALSE);
2327         /* Signaling Message Encryption (SE) Confidentiality Status (octet 1, bit B) */
2328         proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_se, tvb, offset, 1, FALSE);
2329         /* Voice Privacy (VP) Confidentiality Status (octet 1, bit A) */
2330         proto_tree_add_item(subtree, hf_ansi_map_ConfidentialityModes_vp, tvb, offset, 1, FALSE);
2331
2332 }
2333
2334 /* 6.5.2.51 ControlChannelData */
2335
2336 /* Digital Color Code (DCC) (octet 1, bit H and G) */
2337 /* Control Mobile Attenuation Code (CMAC) (octet 1, bit A - C) */
2338 /* Channel Number (CHNO) ( octet 2 and 3 ) */
2339 /* Supplementary Digital Color Codes (SDCC1 and SDCC2) */
2340 /* SDCC1 ( octet 4, bit D and C )*/
2341 /* SDCC2 ( octet 4, bit A and B )*/
2342
2343 static void
2344 dissect_ansi_map_controlchanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2345         int offset = 0;
2346         
2347         proto_tree *subtree;
2348
2349         
2350         subtree = proto_item_add_subtree(actx->created_item, ett_controlchanneldata);
2351
2352         /* Digital Color Code (DCC) (octet 1, bit H and G) */
2353         proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_dcc, tvb, offset, 1, FALSE);
2354         proto_tree_add_item(subtree, hf_ansi_map_reservedBitFED, tvb, offset, 1, FALSE);
2355         /* Control Mobile Attenuation Code (CMAC) (octet 1, bit A - C) */
2356         proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_cmac, tvb, offset, 1, FALSE);
2357         offset++;
2358         /* Channel Number (CHNO) ( octet 2 and 3 ) */
2359         proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_chno, tvb, offset, 2, FALSE);
2360         /* Supplementary Digital Color Codes (SDCC1 and SDCC2) */
2361         offset = offset +2;
2362         /* SDCC1 ( octet 4, bit D and C )*/
2363         proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc1, tvb, offset, 1, FALSE);
2364         proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, FALSE);
2365         /* SDCC2 ( octet 4, bit A and B )*/
2366         proto_tree_add_item(subtree, hf_ansi_map_controlchanneldata_sdcc2, tvb, offset, 1, FALSE);
2367
2368 }
2369
2370 /* 6.5.2.52 CountUpdateReport */
2371 static const value_string ansi_map_CountUpdateReport_vals[]  = {
2372         {   0, "Class I"},
2373         {   1, "Class II"},
2374         {   2, "Class III"},
2375         {   3, "Reserved"},
2376         {       0, NULL }
2377 };
2378
2379 /* 6.5.2.53 DeniedAuthorizationPeriod */
2380 /* Period (octet 1) */ 
2381 static const value_string ansi_map_deniedauthorizationperiod_period_vals[]  = {
2382         {   0, "Not used"},
2383         {   1, "Per Call. Re-authorization should be attempted on the next call attempt"},
2384         {   2, "Hours"},
2385         {   3, "Days"},
2386         {   4, "Weeks"},
2387         {   5, "Per Agreement"},
2388         {   6, "Reserved"},
2389         {   7, "Number of calls. Re-authorization should be attempted after this number of (rejected) call attempts"},
2390         {   8, "Minutes"},
2391         {       0, NULL }
2392 };
2393 /* Value (octet 2)
2394 Number of minutes hours, days, weeks, or
2395 number of calls (as per Period). If Period
2396 indicates anything else the Value is set to zero
2397 on sending and ignored on receipt. 
2398 */
2399
2400 static void
2401 dissect_ansi_map_deniedauthorizationperiod(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2402
2403         int offset = 0;
2404         
2405         proto_tree *subtree;
2406
2407         
2408         subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2409         proto_tree_add_item(subtree, hf_ansi_map_deniedauthorizationperiod_period, tvb, offset, 1, FALSE);
2410         offset++;
2411         proto_tree_add_item(subtree, hf_ansi_map_value, tvb, offset, 1, FALSE);
2412
2413 }
2414
2415
2416 /* 6.5.2.57 DigitCollectionControl */
2417 /* TODO Add decoding here */
2418
2419 /* 6.5.2.64 ExtendedMSCID */
2420 static const value_string ansi_map_msc_type_vals[]  = {
2421         {   0, "Not specified"},
2422         {   1, "Serving MSC"},
2423         {   2, "Home MSC"},
2424         {   3, "Gateway MSC"},
2425         {   4, "HLR"},
2426         {   5, "VLR"},
2427         {   6, "EIR (reserved)"},
2428         {   7, "AC"},
2429         {   8, "Border MSC"},
2430         {   9, "Originating MSC"},
2431         {       0, NULL }
2432 };
2433
2434 static void
2435 dissect_ansi_map_extendedmscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2436
2437         int offset = 0;
2438         
2439         proto_tree *subtree;
2440
2441         
2442         subtree = proto_item_add_subtree(actx->created_item, ett_extendedmscid);
2443         /* Type (octet 1) */
2444         proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, FALSE);
2445         offset++;
2446         proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE);
2447         offset = offset + 2;
2448         proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE);
2449
2450 }
2451 /* 6.5.2.65 ExtendedSystemMyTypeCode */
2452 static void
2453 dissect_ansi_map_extendedsystemmytypecode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx){
2454
2455         int offset = 0;
2456         
2457         proto_tree *subtree;
2458
2459         
2460         subtree = proto_item_add_subtree(actx->created_item, ett_extendedsystemmytypecode);
2461         /* Type (octet 1) */
2462         proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, FALSE);
2463         offset++;
2464         offset = dissect_ansi_map_SystemMyTypeCode(TRUE, tvb, offset, actx, subtree, hf_ansi_map_systemMyTypeCode);
2465 }
2466
2467
2468 /* 6.5.2.68 GeographicAuthorization */
2469 /* Geographic Authorization (octet 1) */
2470 static const value_string ansi_map_GeographicAuthorization_vals[]  = {
2471         {   0, "Not used"},
2472         {   1, "Authorized for all MarketIDs served by the VLR"},
2473         {   2, "Authorized for this MarketID only"},
2474         {   3, "Authorized for this MarketID and Switch Number only"},
2475         {   4, "Authorized for this LocationAreaID within a MarketID only"},
2476         {   5, "VLR"},
2477         {   6, "EIR (reserved)"},
2478         {   7, "AC"},
2479         {   8, "Border MSC"},
2480         {   9, "Originating MSC"},
2481         {       0, NULL }
2482 };
2483
2484 /* 6.5.2.71 HandoffState */
2485 /* Party Involved (PI) (octet 1, bit A) */
2486 static const true_false_string ansi_map_HandoffState_pi_bool_val  = {
2487         "Terminator is handing off",
2488         "Originator is handing off"
2489 };
2490 static void
2491 dissect_ansi_map_handoffstate(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2492
2493         int offset = 0;
2494         
2495         proto_tree *subtree;
2496
2497         
2498         subtree = proto_item_add_subtree(actx->created_item, ett_handoffstate);
2499         /* Party Involved (PI) (octet 1, bit A) */
2500         proto_tree_add_item(subtree, hf_ansi_map_handoffstate_pi, tvb, offset, 1, FALSE);
2501 }
2502
2503 /* 6.5.2.72 InterMSCCircuitID */
2504 /* Trunk Member Number (M) Octet2 */
2505 static void
2506 dissect_ansi_map_intermsccircuitid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2507
2508         int offset = 0;
2509         
2510         proto_tree *subtree;
2511         guint8 octet, octet2;
2512
2513         
2514         subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2515         /* Trunk Group Number (G) Octet 1 */
2516         octet = tvb_get_guint8(tvb,offset);
2517         proto_tree_add_item(subtree, hf_ansi_map_tgn, tvb, offset, 1, FALSE);
2518         offset++;
2519         /* Trunk Member Number (M) Octet2 */
2520         octet2 = tvb_get_guint8(tvb,offset);
2521         proto_tree_add_item(subtree, hf_ansi_map_tmn, tvb, offset, 1, FALSE);
2522         proto_item_append_text(actx->created_item, " (G %u/M %u)", octet, octet2);
2523 }
2524
2525 /* 6.5.2.78 MessageWaitingNotificationCount */
2526 /* Type of messages (octet 1) */
2527 static const value_string ansi_map_MessageWaitingNotificationCount_type_vals[]  = {
2528         {   0, "Voice messages"},
2529         {   1, "Short Message Services (SMS) messages"},
2530         {   2, "Group 3 (G3) Fax messages"},
2531         {       0, NULL }
2532 };
2533
2534 static void
2535 dissect_ansi_map_messagewaitingnotificationcount(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2536
2537         int offset = 0;
2538         
2539         proto_tree *subtree;
2540
2541         
2542         subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2543         /* Type of messages (octet 1) */
2544         proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationcount_tom, tvb, offset, 1, FALSE);
2545         offset++;
2546         /* Number of Messages Waiting (octet 2) */
2547         proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationcount_no_mw, tvb, offset, 1, FALSE);
2548
2549 }
2550
2551 /* 6.5.2.79 MessageWaitingNotificationType */
2552 /* Pip Tone (PT) (octet 1, bit A) */
2553 static const true_false_string ansi_map_MessageWaitingNotificationType_pt_bool_val  = {
2554         "Pip Tone (PT) notification is required",
2555         "Pip Tone (PT) notification is not authorized or no notification is required"
2556 };
2557 /* Alert Pip Tone (APT) (octet 1, bit B) */
2558 static const true_false_string ansi_map_MessageWaitingNotificationType_apt_bool_val  = {
2559         "Alert Pip Tone (APT) notification is required",
2560         "Alert Pip Tone (APT) notification is not authorized or notification is not required"
2561 };
2562 /* Message Waiting Indication (MWI) (octet 1, bits C and D) */
2563 static const value_string ansi_map_MessageWaitingNotificationType_mwi_vals[]  = {
2564         {   0, "No MWI. Message Waiting Indication (MWI) notification is not authorized or notification is not required"},
2565         {   1, "Reserved"},
2566         {   2, "MWI On. Message Waiting Indication (MWI) notification is required. Messages waiting"},
2567         {   3, "MWI Off. Message Waiting Indication (MWI) notification is required. No messages waiting"},
2568         {       0, NULL }
2569 };
2570
2571 static void
2572 dissect_ansi_map_messagewaitingnotificationtype(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2573
2574         int offset = 0;
2575         
2576         proto_tree *subtree;
2577
2578         
2579         subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
2580         
2581         /* Message Waiting Indication (MWI) (octet 1, bits C and D) */
2582         proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_mwi, tvb, offset, 1, FALSE);
2583         /* Alert Pip Tone (APT) (octet 1, bit B) */
2584         proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_apt, tvb, offset, 1, FALSE);
2585         /* Pip Tone (PT) (octet 1, bit A) */
2586         proto_tree_add_item(subtree, hf_ansi_map_messagewaitingnotificationtype_pt, tvb, offset, 1, FALSE);
2587 }
2588
2589 /* 6.5.2.81 MobileIdentificationNumber */
2590
2591 /* 6.5.2.82 MSCID */
2592
2593 static void
2594 dissect_ansi_map_mscid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2595         int offset = 0;
2596         
2597         proto_tree *subtree;
2598
2599         
2600         subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2601
2602         proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE);
2603         offset = offset + 2;
2604         proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE);
2605 }
2606
2607
2608 /* 6.5.2.84 MSLocation */
2609 static void
2610 dissect_ansi_map_mslocation(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2611         int offset = 0;
2612         
2613         proto_tree *subtree;
2614
2615         
2616         subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2617
2618         /* Latitude in tenths of a second octet 1 - 3 */
2619         proto_tree_add_item(subtree, hf_ansi_map_mslocation_lat, tvb, offset, 3, FALSE);
2620         offset = offset + 3;
2621         /* Longitude in tenths of a second octet 4 - 6 */
2622         proto_tree_add_item(subtree, hf_ansi_map_mslocation_long, tvb, offset, 3, FALSE);
2623         offset = offset + 3;
2624         /* Resolution in units of 1 foot octet 7, octet 8 optional */
2625         proto_tree_add_item(subtree, hf_ansi_map_mslocation_res, tvb, offset, -1, FALSE);
2626
2627 }
2628 /* 6.5.2.85 NAMPSCallMode */
2629 static void
2630 dissect_ansi_map_nampscallmode(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2631         int offset = 0;
2632         proto_tree *subtree;
2633
2634         
2635         subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2636
2637         /* Call Mode (octet 1, bits A and B) */
2638         proto_tree_add_item(subtree, hf_ansi_map_nampscallmode_amps, tvb, offset, 1, FALSE);
2639         proto_tree_add_item(subtree, hf_ansi_map_nampscallmode_namps, tvb, offset, 1, FALSE);
2640 }
2641
2642 /* 6.5.2.86 NAMPSChannelData */
2643 /* Narrow Analog Voice Channel Assignment (NAVCA) (octet 1, bits A and B) */
2644 static const value_string ansi_map_NAMPSChannelData_navca_vals[]  = {
2645         {   0, "Wide. 30 kHz AMPS voice channel"},
2646         {   1, "Upper. 10 kHz NAMPS voice channel"},
2647         {   2, "Middle. 10 kHz NAMPS voice channel"},
2648         {   3, "Lower. 10 kHz NAMPS voice channel"},
2649         {       0, NULL }
2650 };
2651 /* Color Code Indicator (CCIndicator) (octet 1, bits C, D, and E) */
2652 static const value_string ansi_map_NAMPSChannelData_ccinidicator_vals[]  = {
2653         {   0, "ChannelData parameter SCC field applies"},
2654         {   1, "Digital SAT Color Code 1 (ignore SCC field)"},
2655         {   2, "Digital SAT Color Code 2 (ignore SCC field)"},
2656         {   3, "Digital SAT Color Code 3 (ignore SCC field)"},
2657         {   4, "Digital SAT Color Code 4 (ignore SCC field)"},
2658         {   5, "Digital SAT Color Code 5 (ignore SCC field)"},
2659         {   6, "Digital SAT Color Code 6 (ignore SCC field)"},
2660         {   7, "Digital SAT Color Code 7 (ignore SCC field)"},
2661         {       0, NULL }
2662 };
2663
2664
2665
2666 static void
2667 dissect_ansi_map_nampschanneldata(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2668         int offset = 0;
2669         proto_tree *subtree;
2670
2671         
2672         subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2673
2674         /* Color Code Indicator (CCIndicator) (octet 1, bits C, D, and E) */
2675         proto_tree_add_item(subtree, hf_ansi_map_nampschanneldata_CCIndicator, tvb, offset, 1, FALSE);
2676         /* Narrow Analog Voice Channel Assignment (NAVCA) (octet 1, bits A and B) */
2677         proto_tree_add_item(subtree, hf_ansi_map_nampschanneldata_navca, tvb, offset, 1, FALSE);
2678
2679 }
2680
2681 /* 6.5.2.88 OneTimeFeatureIndicator */
2682 /* updated with N.S0012 */
2683 /* Call Waiting for Future Incoming Call (CWFI) (octet 1, bits A and B) */
2684 /* Call Waiting for Incoming Call (CWIC) (octet 1, bits C and D) */
2685
2686 static const value_string ansi_map_onetimefeatureindicator_cw_vals[]  = {
2687         {   0, "Ignore"},
2688         {   1, "No CW"},
2689         {   2, "Normal CW"},
2690         {   3, "Priority CW"},
2691         {       0, NULL }
2692 };
2693 /* MessageWaitingNotification (MWN) (octet 1, bits E and F) */
2694 static const value_string ansi_map_onetimefeatureindicator_mwn_vals[]  = {
2695         {   0, "Ignore"},
2696         {   1, "Pip Tone Inactive"},
2697         {   2, "Pip Tone Active"},
2698         {   3, "Reserved"},
2699         {       0, NULL }
2700 };
2701 /* Calling Number Identification Restriction (CNIR) (octet 1, bits G and H)*/
2702 static const value_string ansi_map_onetimefeatureindicator_cnir_vals[]  = {
2703         {   0, "Ignore"},
2704         {   1, "CNIR Inactive"},
2705         {   2, "CNIR Active"},
2706         {   3, "Reserved"},
2707         {       0, NULL }
2708 };
2709
2710 /* Priority Access and Channel Assignment (PACA) (octet 2, bits A and B)*/
2711 static const value_string ansi_map_onetimefeatureindicator_paca_vals[]  = {
2712         {   0, "Ignore"},
2713         {   1, "PACA Demand Inactive"},
2714         {   2, "PACA Demand Activated"},
2715         {   3, "Reserved"},
2716         {       0, NULL }
2717 };
2718
2719 /* Flash Privileges (Flash) (octet 2, bits C and D) */
2720 static const value_string ansi_map_onetimefeatureindicator_flash_vals[]  = {
2721         {   0, "Ignore"},
2722         {   1, "Flash Inactive"},
2723         {   2, "Flash Active"},
2724         {   3, "Reserved"},
2725         {       0, NULL }
2726 };
2727 /* Calling Name Restriction (CNAR) (octet 2, bits E and F) */
2728 static const value_string ansi_map_onetimefeatureindicator_cnar_vals[]  = {
2729         {   0, "Ignore"},
2730         {   1, "Presentation Allowed"},
2731         {   2, "Presentation Restricted."},
2732         {   3, "Blocking Toggle"},
2733         {       0, NULL }
2734 };
2735 static void
2736 dissect_ansi_map_onetimefeatureindicator(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2737         int offset = 0;
2738         proto_tree *subtree;
2739
2740         
2741         subtree = proto_item_add_subtree(actx->created_item, ett_mscid);
2742
2743         /* Calling Number Identification Restriction (CNIR) (octet 1, bits G and H)*/
2744         /* MessageWaitingNotification (MWN) (octet 1, bits E and F) */
2745         /* Call Waiting for Incoming Call (CWIC) (octet 1, bits C and D) */
2746         /* Call Waiting for Future Incoming Call (CWFI) (octet 1, bits A and B) */
2747         offset++;
2748         /* Calling Name Restriction (CNAR) (octet 2, bits E and F) */
2749         /* Flash Privileges (Flash) (octet 2, bits C and D) */
2750         /* Priority Access and Channel Assignment (PACA) (octet 2, bits A and B)*/
2751
2752
2753 }
2754
2755 /* 6.5.2.90 OriginationTriggers */
2756 /* All Origination (All) (octet 1, bit A) */
2757 static const true_false_string ansi_map_originationtriggers_all_bool_val  = {
2758   "Launch an OriginationRequest for any call attempt. This overrides all other values",
2759   "Trigger is not active"
2760 };
2761
2762 /* Local (octet 1, bit B) */
2763 static const true_false_string ansi_map_originationtriggers_local_bool_val  = {
2764   "Launch an OriginationRequest for any local call attempt",
2765   "Trigger is not active"
2766 };
2767
2768 /* Intra-LATA Toll (ILATA) (octet 1, bit C) */
2769 static const true_false_string ansi_map_originationtriggers_ilata_bool_val  = {
2770   "Launch an OriginationRequest for any intra-LATA call attempt",
2771   "Trigger is not active"
2772 };
2773 /* Inter-LATA Toll (OLATA) (octet 1, bit D) */
2774 static const true_false_string ansi_map_originationtriggers_olata_bool_val  = {
2775   "Launch an OriginationRequest for any inter-LATA toll call attempt",
2776   "Trigger is not active"
2777 };
2778 /* International (Int'l ) (octet 1, bit E) */
2779 static const true_false_string ansi_map_originationtriggers_int_bool_val  = {
2780   "Launch an OriginationRequest for any international call attempt",
2781   "Trigger is not active"
2782 };
2783 /* World Zone (WZ) (octet 1, bit F) */
2784 static const true_false_string ansi_map_originationtriggers_wz_bool_val  = {
2785   "Launch an OriginationRequest for any call attempt outside of the current World Zone (as defined in ITU-T Rec. E.164)",
2786   "Trigger is not active"
2787 };
2788
2789 /* Unrecognized Number (Unrec) (octet 1, bit G) */
2790 static const true_false_string ansi_map_originationtriggers_unrec_bool_val  = {
2791   "Launch an OriginationRequest for any call attempt to an unrecognized number",
2792   "Trigger is not active"
2793 };
2794 /* Revertive Call (RvtC) (octet 1, bit H)*/
2795 static const true_false_string ansi_map_originationtriggers_rvtc_bool_val  = {
2796   "Launch an OriginationRequest for any Revertive Call attempt",
2797   "Trigger is not active"
2798 };
2799
2800 /* Star (octet 2, bit A) */
2801 static const true_false_string ansi_map_originationtriggers_star_bool_val  = {
2802   "Launch an OriginationRequest for any number beginning with a Star '*' digit",
2803   "Trigger is not active"
2804 };
2805
2806 /* Double Star (DS) (octet 2, bit B) */
2807 static const true_false_string ansi_map_originationtriggers_ds_bool_val  = {
2808   "Launch an OriginationRequest for any number beginning with two Star '**' digits",
2809   "Trigger is not active"
2810 };
2811 /* Pound (octet 2, bit C) */
2812 static const true_false_string ansi_map_originationtriggers_pound_bool_val  = {
2813   "Launch an OriginationRequest for any number beginning with a Pound '#' digit",
2814   "Trigger is not active"
2815 };
2816 /* Double Pound (DP) (octet 2, bit D) */
2817 static const true_false_string ansi_map_originationtriggers_dp_bool_val  = {
2818   "Launch an OriginationRequest for any number beginning with two Pound '##' digits",
2819   "Trigger is not active"
2820 };
2821 /* Prior Agreement (PA) (octet 2, bit E) */
2822 static const true_false_string ansi_map_originationtriggers_pa_bool_val  = {
2823   "Launch an OriginationRequest for any number matching a criteria of a prior agreement",
2824   "Trigger is not active"
2825 };
2826
2827 /* No digits (octet 3, bit A) */
2828 static const true_false_string ansi_map_originationtriggers_nodig_bool_val  = {
2829   "Launch an OriginationRequest for any call attempt with no digits",
2830   "Trigger is not active"
2831 };
2832
2833 /* 1 digit (octet 3, bit B) */
2834 static const true_false_string ansi_map_originationtriggers_onedig_bool_val  = {
2835   "Launch an OriginationRequest for any call attempt with 1 digit",
2836   "Trigger is not active"
2837 };
2838 /* 1 digit (octet 3, bit C) */
2839 static const true_false_string ansi_map_originationtriggers_twodig_bool_val  = {
2840   "Launch an OriginationRequest for any call attempt with 2 digits",
2841   "Trigger is not active"
2842 };
2843 /* 1 digit (octet 3, bit D) */
2844 static const true_false_string ansi_map_originationtriggers_threedig_bool_val  = {
2845   "Launch an OriginationRequest for any call attempt with 3 digits",
2846   "Trigger is not active"
2847 };
2848 /* 1 digit (octet 3, bit E) */
2849 static const true_false_string ansi_map_originationtriggers_fourdig_bool_val  = {
2850   "Launch an OriginationRequest for any call attempt with 4 digits",
2851   "Trigger is not active"
2852 };
2853 /* 1 digit (octet 3, bit F) */
2854 static const true_false_string ansi_map_originationtriggers_fivedig_bool_val  = {
2855   "Launch an OriginationRequest for any call attempt with 5 digits",
2856   "Trigger is not active"
2857 };
2858 /* 1 digit (octet 3, bit G) */
2859 static const true_false_string ansi_map_originationtriggers_sixdig_bool_val  = {
2860   "Launch an OriginationRequest for any call attempt with 6 digits",
2861   "Trigger is not active"
2862 };
2863 /* 1 digit (octet 3, bit H) */
2864 static const true_false_string ansi_map_originationtriggers_sevendig_bool_val  = {
2865   "Launch an OriginationRequest for any call attempt with 7 digits",
2866   "Trigger is not active"
2867 };
2868 /* 1 digit (octet 4, bit A) */
2869 static const true_false_string ansi_map_originationtriggers_eightdig_bool_val  = {
2870   "Launch an OriginationRequest for any call attempt with 8 digits",
2871   "Trigger is not active"
2872 };
2873 /* 1 digit (octet 4, bit B) */
2874 static const true_false_string ansi_map_originationtriggers_ninedig_bool_val  = {
2875   "Launch an OriginationRequest for any call attempt with 9 digits",
2876   "Trigger is not active"
2877 };
2878 /* 1 digit (octet 4, bit C) */
2879 static const true_false_string ansi_map_originationtriggers_tendig_bool_val  = {
2880   "Launch an OriginationRequest for any call attempt with 10 digits",
2881   "Trigger is not active"
2882 };
2883 /* 1 digit (octet 4, bit D) */
2884 static const true_false_string ansi_map_originationtriggers_elevendig_bool_val  = {
2885   "Launch an OriginationRequest for any call attempt with 11 digits",
2886   "Trigger is not active"
2887 };
2888 /* 1 digit (octet 4, bit E) */
2889 static const true_false_string ansi_map_originationtriggers_thwelvdig_bool_val  = {
2890   "Launch an OriginationRequest for any call attempt with 12 digits",
2891   "Trigger is not active"
2892 };
2893 /* 1 digit (octet 4, bit F) */
2894 static const true_false_string ansi_map_originationtriggers_thirteendig_bool_val  = {
2895   "Launch an OriginationRequest for any call attempt with 13 digits",
2896   "Trigger is not active"
2897 };
2898 /* 1 digit (octet 4, bit G) */
2899 static const true_false_string ansi_map_originationtriggers_fourteendig_bool_val  = {
2900   "Launch an OriginationRequest for any call attempt with 14 digits",
2901   "Trigger is not active"
2902 };
2903 /* 1 digit (octet 4, bit H) */
2904 static const true_false_string ansi_map_originationtriggers_fifteendig_bool_val  = {
2905   "Launch an OriginationRequest for any call attempt with 15 digits",
2906   "Trigger is not active"
2907 };
2908
2909 static void
2910 dissect_ansi_map_originationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
2911
2912         int offset = 0;
2913         proto_tree *subtree;
2914
2915         
2916         subtree = proto_item_add_subtree(actx->created_item, ett_originationtriggers);
2917
2918         /* Revertive Call (RvtC) (octet 1, bit H)*/
2919         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_rvtc, tvb, offset, 1, FALSE);
2920         /* Unrecognized Number (Unrec) (octet 1, bit G) */
2921         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_unrec, tvb, offset,        1, FALSE);
2922         /* World Zone (WZ) (octet 1, bit F) */
2923         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_wz, tvb, offset,   1, FALSE);
2924         /* International (Int'l ) (octet 1, bit E) */
2925         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_int, tvb, offset,  1, FALSE);
2926         /* Inter-LATA Toll (OLATA) (octet 1, bit D) */
2927         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_olata, tvb, offset,        1, FALSE);
2928         /* Intra-LATA Toll (ILATA) (octet 1, bit C) */
2929         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ilata, tvb, offset,        1, FALSE);
2930         /* Local (octet 1, bit B) */
2931         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_local, tvb, offset,        1, FALSE);
2932         /* All Origination (All) (octet 1, bit A) */
2933         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_all, tvb, offset,  1, FALSE);
2934         offset++;
2935
2936         /*Prior Agreement (PA) (octet 2, bit E) */
2937         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_pa, tvb, offset,   1, FALSE);
2938         /* Double Pound (DP) (octet 2, bit D) */
2939         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_dp, tvb, offset,   1, FALSE);
2940         /* Pound (octet 2, bit C) */
2941         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_pound, tvb, offset,        1, FALSE);
2942         /* Double Star (DS) (octet 2, bit B) */
2943         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ds, tvb, offset,   1, FALSE);
2944         /* Star (octet 2, bit A) */
2945         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_star, tvb, offset, 1, FALSE);
2946         offset++;
2947
2948         /* 7 digit (octet 3, bit H) */
2949         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_sevendig, tvb, offset,     1, FALSE);
2950         /* 6 digit (octet 3, bit G) */
2951         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_sixdig, tvb, offset,       1, FALSE);
2952         /* 5 digit (octet 3, bit F) */
2953         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fivedig, tvb, offset,      1, FALSE);
2954         /* 4 digit (octet 3, bit E) */
2955         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fourdig, tvb, offset,      1, FALSE);
2956         /* 3 digit (octet 3, bit D) */
2957         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_threedig, tvb, offset,     1, FALSE);
2958         /* 2 digit (octet 3, bit C) */
2959         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_twodig, tvb, offset,       1, FALSE);
2960         /* 1 digit (octet 3, bit B) */
2961         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_onedig, tvb, offset,       1, FALSE);
2962         /* No digits (octet 3, bit A) */
2963         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_nodig, tvb, offset,        1, FALSE);
2964         offset++;
2965
2966         /* 15 digit (octet 4, bit H) */
2967         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fifteendig, tvb, offset,   1, FALSE);
2968         /* 14 digit (octet 4, bit G) */
2969         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_fourteendig, tvb, offset,  1, FALSE);
2970         /* 13 digit (octet 4, bit F) */
2971         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_thirteendig, tvb, offset,  1, FALSE);
2972         /* 12 digit (octet 4, bit E) */
2973         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_thwelvedig, tvb, offset,   1, FALSE);
2974         /* 11 digit (octet 4, bit D) */
2975         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_elevendig, tvb, offset,    1, FALSE);
2976         /* 10 digit (octet 4, bit C) */
2977         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_tendig, tvb, offset,       1, FALSE);
2978         /* 9 digit (octet 4, bit B) */
2979         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_ninedig, tvb, offset,      1, FALSE);
2980         /* 8 digits (octet 4, bit A) */
2981         proto_tree_add_item(subtree, hf_ansi_map_originationtriggers_eightdig, tvb, offset,     1, FALSE);
2982
2983 }
2984
2985 /* 6.5.2.91 PACAIndicator */
2986
2987 /* Permanent Activation (PA) (octet 1, bit A) */
2988 static const true_false_string ansi_map_pacaindicator_pa_bool_val  = {
2989   "PACA is permanently activated",
2990   "PACA is not permanently activated"
2991 };
2992
2993 static const value_string ansi_map_PACA_Level_vals[]  = {
2994     {   0, "Not used"},
2995     {   1, "Priority Level. 1 This is the highest level"},
2996     {   2, "Priority Level 2"},
2997     {   3, "Priority Level 3"},
2998     {   4, "Priority Level 4"},
2999     {   5, "Priority Level 5"},
3000     {   6, "Priority Level 6"},
3001     {   7, "Priority Level 7"},
3002     {   8, "Priority Level 8"},
3003     {   8, "Priority Level 9"},
3004     {   10, "Priority Level 10"},
3005     {   11, "Priority Level 11"},
3006     {   12, "Priority Level 12"},
3007     {   13, "Priority Level 13"},
3008     {   14, "Priority Level 14"},
3009     {   15, "Priority Level 15"},
3010         {       0, NULL }
3011 };
3012
3013 static void
3014 dissect_ansi_map_pacaindicator(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3015
3016         int offset = 0;
3017         proto_tree *subtree;
3018
3019         
3020         subtree = proto_item_add_subtree(actx->created_item, ett_pacaindicator);
3021         /* PACA Level (octet 1, bits B-E) */
3022         proto_tree_add_item(subtree, hf_ansi_map_PACA_Level, tvb, offset,       1, FALSE);
3023         /* Permanent Activation (PA) (octet 1, bit A) */
3024         proto_tree_add_item(subtree, hf_ansi_map_pacaindicator_pa, tvb, offset, 1, FALSE);
3025 }
3026
3027 /* 6.5.2.92 PageIndicator */
3028 static const value_string ansi_map_PageIndicator_vals[]  = {
3029     {   0, "Not used"},
3030     {   1, "Page"},
3031     {   2, "Listen only"},
3032         {       0, NULL }
3033 };
3034
3035 /* 6.5.2.93 PC_SSN */
3036 static void
3037 dissect_ansi_map_pc_ssn(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3038
3039         int offset = 0;
3040         proto_tree *subtree;
3041         guint8 b1,b2,b3,b4;
3042
3043         
3044         subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
3045         /* Type (octet 1) */
3046         proto_tree_add_item(subtree, hf_ansi_map_msc_type, tvb, offset, 1, FALSE);
3047         offset++;
3048         /* Point Code Member Number octet 2 */
3049         b1 = tvb_get_guint8(tvb,offset);
3050         offset++;
3051         /* Point Code Cluster Number octet 3 */
3052         b2 = tvb_get_guint8(tvb,offset);
3053         offset++;
3054         /* Point Code Network Number octet 4 */
3055         b3 = tvb_get_guint8(tvb,offset);
3056         offset++;
3057         /* Subsystem Number (SSN) octet 5 */
3058         b4 = tvb_get_guint8(tvb,offset);
3059         proto_tree_add_text(subtree, tvb, offset-3, 4 , "Point Code %u-%u-%u  SSN %u",
3060                 b3, b2, b1, b4);
3061
3062 }
3063 /* 6.5.2.94 PilotBillingID */
3064 static void
3065 dissect_ansi_map_pilotbillingid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3066
3067         int offset = 0;
3068         proto_tree *subtree;
3069
3070         
3071         subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
3072         /* First Originating MarketID octet 1 and 2 */
3073         proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE);
3074         offset = offset + 2;
3075         /* First Originating Switch Number octet 3*/
3076         proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE);
3077         offset++;
3078         /* ID Number */
3079         proto_tree_add_item(subtree, hf_ansi_map_idno, tvb, offset, 3, FALSE);
3080         offset = offset + 3;
3081         proto_tree_add_item(subtree, hf_ansi_map_segcount, tvb, offset, 1, FALSE);
3082
3083 }
3084 /* 6.5.2.96 PreferredLanguageIndicator */
3085 static const value_string ansi_map_PreferredLanguageIndicator_vals[]  = {
3086     {   0, "Unspecified"},
3087     {   1, "English"},
3088     {   2, "French"},
3089     {   3, "Spanish"},
3090     {   4, "German"},
3091     {   5, "Portuguese"},
3092         {       0, NULL }
3093 };
3094
3095 /* 6.5.2.106 ReceivedSignalQuality */
3096 /* a. This octet is encoded the same as octet 1 in the SignalQuality parameter (see
3097                 6.5.2.121).
3098 */
3099 /* 6.5.2.118 SetupResult */
3100 static const value_string ansi_map_SetupResult_vals[]  = {
3101     {   0, "Not used"},
3102     {   1, "Unsuccessful"},
3103     {   2, "Successful"},
3104         {       0, NULL }
3105 };
3106 /* 6.5.2.121 SignalQuality */
3107 /* TODO */
3108
3109 /*      6.5.2.122 SMS_AccessDeniedReason (TIA/EIA-41.5-D, page 5-256)
3110         N.S0011-0 v 1.0
3111  */
3112 static const value_string ansi_map_SMS_AccessDeniedReason_vals[]  = {
3113     {   0, "Not used"},
3114     {   1, "Denied"},
3115     {   2, "Postponed"},
3116     {   3, "Unavailable"},
3117     {   4, "Invalid"},
3118         {       0, NULL }
3119 };
3120
3121
3122 /* 6.5.2.125 SMS_CauseCode (TIA/EIA-41.5-D, page 5-262)
3123         N.S0011-0 v 1.0
3124  */
3125 static const value_string ansi_map_SMS_CauseCode_vals[]  = {
3126     {   0, "Address vacant"},
3127     {   1, "Address translation failure"},
3128     {   2, "Network resource shortage"},
3129     {   3, "Network failure"},
3130     {   4, "Invalid Teleservice ID"},
3131     {   5, "Other network problem"},
3132     {   6, "Unsupported network interface"},
3133     {   8, "CDMA handset-based position determination failure"},
3134     {   9, "CDMA handset-based position determination resources released - voice service request"},
3135     {   10, "CDMA handset-based position determination resources released - voice service request - message acknowledged"},
3136     {   11, "Reserved"},
3137     {   12, "Reserved"},
3138     {   13, "Reserved"},
3139     {   14, "Emergency Services Call Precedence"},
3140     {   32, "No page response"},
3141     {   33, "Destination busy"},
3142     {   34, "No acknowledgment"},
3143     {   35, "Destination resource shortage"},
3144     {   36, "SMS delivery postponed"},
3145     {   37, "Destination out of service"},
3146     {   38, "Destination no longer at this address"},
3147     {   39, "Other terminal problem"},
3148     {   64, "Radio interface resource shortage"},
3149     {   65, "Radio interface incompatibility"},
3150     {   66, "Other radio interface problem"},
3151     {   67, "Unsupported Base Station Capability"},
3152     {   96, "Encoding problem"},
3153     {   97, "Service origination denied"},
3154     {   98, "Service termination denied"},
3155     {   99, "Supplementary service not supported"},
3156     {   100, "Service not supported"},
3157     {   101, "Reserved"},
3158     {   102, "Missing expected parameter"},
3159     {   103, "Missing mandatory parameter"},
3160     {   104, "Unrecognized parameter value"},
3161     {   105, "Unexpected parameter value"},
3162     {   106, "User Data size error"},
3163     {   107, "Other general problems"},
3164     {   108, "Session not active"},
3165     {   109, "Reserved"},
3166     {   110, "MS Disconnect"},
3167         {       0, NULL }
3168 };
3169
3170 /* 6.5.2.126 SMS_ChargeIndicator */
3171 /* SMS Charge Indicator (octet 1) */
3172 static const value_string ansi_map_SMS_ChargeIndicator_vals[]  = {
3173     {   0, "Not used"},
3174     {   1, "No charge"},
3175     {   2, "Charge original originator"},
3176     {   3, "Charge original destination"},
3177         {       0, NULL }
3178 };
3179 /*      4 through 63 Reserved. Treat the same as value 1, No charge.
3180         64 through 127 Reserved. Treat the same as value 2, Charge original originator.
3181         128 through 223 Reserved. Treat the same as value 3, Charge original destination.
3182         224 through 255 Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 2, Charge
3183         original originator.
3184         */
3185
3186 /* 6.5.2.130 SMS_NotificationIndicator N.S0005-0 v 1.0*/
3187 static const value_string ansi_map_SMS_NotificationIndicator_vals[]  = {
3188     {   0, "Not used"},
3189     {   1, "Notify when available"},
3190     {   2, "Do not notify when available"},
3191         {       0, NULL }
3192 };
3193
3194 /* 6.5.2.136 SMS_OriginationRestrictions */
3195 /* DEFAULT (octet 1, bits A and B) */
3196
3197 static const value_string ansi_map_SMS_OriginationRestrictions_default_vals[]  = {
3198     {   0, "Block all"},
3199     {   1, "Reserved"},
3200     {   1, "Allow specific"},
3201     {   1, "Allow all"},
3202         {       0, NULL }
3203 };
3204 /* DIRECT (octet 1, bit C) */
3205 static const true_false_string ansi_map_SMS_OriginationRestrictions_direct_bool_val  = {
3206   "Allow Direct",
3207   "Block Direct"
3208 };
3209
3210 /* Force Message Center (FMC) (octet 1, bit D) */
3211 static const true_false_string ansi_map_SMS_OriginationRestrictions_fmc_bool_val  = {
3212   "Force Indirect",
3213   "No effect"
3214 };
3215
3216 static void
3217 dissect_ansi_map_sms_originationrestrictions(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3218
3219         int offset = 0;
3220         proto_tree *subtree;
3221
3222         
3223         subtree = proto_item_add_subtree(actx->created_item, ett_sms_originationrestrictions);
3224         proto_tree_add_item(subtree, hf_ansi_map_reservedBitHGFE, tvb, offset, 1, FALSE);
3225         proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_fmc, tvb, offset, 1, FALSE);
3226         proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_direct, tvb, offset, 1, FALSE);
3227         proto_tree_add_item(subtree, hf_ansi_map_sms_originationrestrictions_default, tvb, offset, 1, FALSE);
3228
3229 }
3230
3231 /* 6.5.2.137 SMS_TeleserviceIdentifier */
3232 /* Updated with N.S0011-0 v 1.0 */
3233
3234 /* SMS Teleservice Identifier (octets 1 and 2) */
3235 static const value_string ansi_map_SMS_TeleserviceIdentifier_vals[]  = {
3236     {     0, "Not used"},
3237     {     1, "Reserved for maintenance"},
3238     {     2, "SSD Update no response"},
3239     {     3, "SSD Update successful"},
3240     {     4, "SSD Update failed"},
3241     {  4096, "AMPS Extended Protocol Enhanced Services" },
3242     {  4097, "CDMA Cellular Paging Teleservice" },
3243     {  4098, "CDMA Cellular Messaging Teleservice" },
3244     {  4099, "CDMA Voice Mail Notification" },
3245     { 32513, "TDMA Cellular Messaging Teleservice" },
3246     { 32520, "TDMA System Assisted Mobile Positioning through Satellite (SAMPS)" },
3247     { 32584, "TDMA Segmented System Assisted Mobile Positioning Service" },
3248         {       0, NULL }
3249 };
3250 /* 6.5.2.140 SPINITriggers */
3251 /* All Origination (All) (octet 1, bit A) */
3252
3253 /* 6.5.2.142 SSDUpdateReport */
3254 static const value_string ansi_map_SSDUpdateReport_vals[]  = {
3255     {   0, "Not used"},
3256     {   4096, "AMPS Extended Protocol Enhanced Services"},
3257     {   4097, "CDMA Cellular Paging Teleservice"},
3258     {   4098, "CDMA Cellular Messaging Teleservice"},
3259     {   32513, "TDMA Cellular Messaging Teleservice"},
3260     {   32514, "TDMA Cellular Paging Teleservice (CPT-136)"},
3261     {   32515, "TDMA Over-the-Air Activation Teleservice (OATS)"},
3262     {   32516, "TDMA Over-the-Air Programming Teleservice (OPTS)"},
3263     {   32517, "TDMA General UDP Transport Service (GUTS)"},
3264     {   32576, "Reserved"},
3265     {   32577, "TDMA Segmented Cellular MessagingTeleservice"},
3266     {   32578, "TDMA Segmented Cellular Paging Teleservice"},
3267     {   32579, "TDMA Segmented Over-the-Air Activation Teleservice (OATS)"},
3268     {   32580, "TDMA Segmented Over-the-Air Programming Teleservice (OPTS)."},
3269     {   32581, "TDMA Segmented General UDP Transport Service (GUTS)"},
3270     {   32576, "Reserved"},
3271         {       0, NULL }
3272 };
3273
3274 /* 6.5.2.143 StationClassMark */
3275
3276 /* 6.5.2.144 SystemAccessData */
3277
3278 /* 6.5.2.146 SystemCapabilities */
3279 /* Updated in N.S0008-0 v 1.0 */
3280 static const true_false_string ansi_map_systemcapabilities_auth_bool_val  = {
3281   "Authentication parameters were requested on this system access (AUTH=1 in the OMT)",
3282   "Authentication parameters were not requested on this system access (AUTH=0 in the OMT)."
3283 };
3284
3285 static const true_false_string ansi_map_systemcapabilities_se_bool_val  = {
3286   "Signaling Message Encryption supported by the system",
3287   "Signaling Message Encryption not supported by the system"
3288 };
3289
3290 static const true_false_string ansi_map_systemcapabilities_vp_bool_val  = {
3291   "Voice Privacy supported by the system",
3292   "Voice Privacy not supported by the system"
3293 };
3294
3295 static const true_false_string ansi_map_systemcapabilities_cave_bool_val  = {
3296   "System can execute the CAVE algorithm and share SSD for the indicated MS",
3297   "System cannot execute the CAVE algorithm and cannot share SSD for the indicated MS"
3298 };
3299
3300 static const true_false_string ansi_map_systemcapabilities_ssd_bool_val  = {
3301   "SSD is shared with the system for the indicated MS",
3302   "SSD is not shared with the system for the indicated MS"
3303 };
3304
3305 static const true_false_string ansi_map_systemcapabilities_dp_bool_val  = {
3306   "DP is supported by the system",
3307   "DP is not supported by the system"
3308 };
3309
3310 static void
3311 dissect_ansi_map_systemcapabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3312
3313         int offset = 0;
3314         proto_tree *subtree;
3315
3316         
3317         subtree = proto_item_add_subtree(actx->created_item, ett_systemcapabilities);
3318         proto_tree_add_item(subtree, hf_ansi_map_reservedBitHG, tvb, offset, 1, FALSE);
3319         proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_dp, tvb, offset, 1, FALSE);
3320         proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_ssd, tvb, offset, 1, FALSE);
3321         proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_cave, tvb, offset, 1, FALSE);
3322         proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_vp, tvb, offset, 1, FALSE);
3323         proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_se, tvb, offset, 1, FALSE);
3324         proto_tree_add_item(subtree, hf_ansi_map_systemcapabilities_auth, tvb, offset, 1, FALSE);
3325 }
3326
3327 /* 6.5.2.151 TDMABurstIndicator */
3328 /* 6.5.2.152 TDMACallMode */
3329 /* 6.5.2.153 TDMAChannelData Updated in N.S0007-0 v 1.0*/
3330
3331 /* 6.5.2.155 TerminationAccessType */
3332 /* XXX Fix Me, Fill up the values or do special decoding? */
3333 static const value_string ansi_map_TerminationAccessType_vals[]  = {
3334     {   0, "Not used"},
3335     {   1, "Reserved for controlling system assignment (may be a trunk group identifier)."},
3336                 /* 1 through  127 */
3337     {   127, "Reserved for controlling system assignment (may be a trunk group identifier)."},
3338     {   128, "Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 253, Land-to-Mobile Directory Number access"},
3339                 /* 128 through  160 */
3340     {   160, "Reserved for TIA/EIA-41 protocol extension. If unknown, treat the same as value 253, Land-to-Mobile Directory Number access"},
3341     {   161, "Reserved for this Standard"},
3342                 /* 161 through  251 */
3343     {   151, "Reserved for this Standard"},
3344     {   252, "Mobile-to-Mobile Directory Number access"},
3345     {   253, "Land-to-Mobile Directory Number access"},
3346     {   254, "Remote Feature Control port access"},
3347     {   255, "Roamer port access"},
3348         {       0, NULL }
3349 };
3350
3351 /* 6.5.2.158 TerminationTreatment */
3352 static const value_string ansi_map_TerminationTreatment_vals[]  = {
3353     {   0, "Not used"},
3354     {   1, "MS Termination"},
3355     {   2, "Voice Mail Storage"},
3356     {   3, "Voice Mail Retrieval"},
3357     {   4, "Dialogue Termination"},
3358         {       0, NULL }
3359 };
3360
3361 /* 6.5.2.159 TerminationTriggers */
3362 /* Busy (octet 1, bits A and B) */
3363 static const value_string ansi_map_terminationtriggers_busy_vals[]  = {
3364     {   0, "Busy Call"},
3365     {   1, "Busy Trigger"},
3366     {   2, "Busy Leg"},
3367     {   3, "Reserved. Treat as an unrecognized parameter value"},
3368         {       0, NULL }
3369 };
3370 /* Routing Failure (RF) (octet 1, bits C and D) */
3371 static const value_string ansi_map_terminationtriggers_rf_vals[]  = {
3372     {   0, "Failed Call"},
3373     {   1, "Routing Failure Trigger"},
3374     {   2, "Failed Leg"},
3375     {   3, "Reserved. Treat as an unrecognized parameter value"},
3376         {       0, NULL }
3377 };
3378 /* No Page Response (NPR) (octet 1, bits E and F) */
3379 static const value_string ansi_map_terminationtriggers_npr_vals[]  = {
3380     {   0, "No Page Response Call"},
3381     {   1, "No Page Response Trigger"},
3382     {   2, "No Page Response Leg"},
3383     {   3, "Reserved. Treat as an unrecognized parameter value"},
3384         {       0, NULL }
3385 };
3386 /* No Answer (NA) (octet 1, bits G and H) */
3387 static const value_string ansi_map_terminationtriggers_na_vals[]  = {
3388     {   0, "No Answer Call"},
3389     {   1, "No Answer Trigger"},
3390     {   2, "No Answer Leg"},
3391     {   3, "Reserved"},
3392         {       0, NULL }
3393 };
3394 /* None Reachable (NR) (octet 2, bit A) */
3395 static const value_string ansi_map_terminationtriggers_nr_vals[]  = {
3396     {   0, "Member Not Reachable"},
3397     {   1, "Group Not Reachable"},
3398         {       0, NULL }
3399 };
3400
3401 /* 6.5.2.159 TerminationTriggers N.S0005-0 v 1.0*/
3402 static void
3403 dissect_ansi_map_terminationtriggers(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3404
3405         int offset = 0;
3406         proto_tree *subtree;
3407
3408         
3409         subtree = proto_item_add_subtree(actx->created_item, ett_transactioncapability);
3410
3411         proto_tree_add_item(subtree, hf_ansi_map_reservedBitH, tvb, offset, 1, FALSE);  
3412         /* No Page Response (NPR) (octet 1, bits E and F) */
3413         proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_npr, tvb, offset, 1, FALSE);
3414         /* No Answer (NA) (octet 1, bits G and H) */
3415         proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_na, tvb, offset, 1, FALSE);
3416         /* Routing Failure (RF) (octet 1, bits C and D) */
3417         proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_rf, tvb, offset, 1, FALSE);
3418         /* Busy (octet 1, bits A and B) */
3419         proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_busy, tvb, offset, 1, FALSE);
3420         offset++;
3421
3422         /* None Reachable (NR) (octet 2, bit A) */
3423         proto_tree_add_item(subtree, hf_ansi_map_terminationtriggers_nr, tvb, offset, 1, FALSE);
3424 }
3425
3426 /* 6.5.2.160 TransactionCapability (TIA/EIA-41.5-D, page 5-315) */
3427 /* Updated with N.S0010-0 v 1.0, N.S0012-0 v 1.0 N.S0013-0 v 1.0 */
3428 static const true_false_string ansi_map_trans_cap_prof_bool_val  = {
3429   "The system is capable of supporting the IS-41-C profile parameters",
3430   "The system is not capable of supporting the IS-41-C profile parameters"
3431 };
3432
3433 static const true_false_string ansi_map_trans_cap_busy_bool_val  = {
3434   "The system is capable of detecting a busy condition at the current time",
3435   "The system is not capable of detecting a busy condition at the current time"
3436 };
3437
3438 static const true_false_string ansi_map_trans_cap_ann_bool_val  = {
3439   "The system is capable of honoring the AnnouncementList parameter at the current time",
3440   "The system is not capable of honoring the AnnouncementList parameter at the current time"
3441 };
3442
3443 static const true_false_string ansi_map_trans_cap_rui_bool_val  = {
3444   "The system is capable of interacting with the user",
3445   "The system is not capable of interacting with the user"
3446 };
3447
3448 static const true_false_string ansi_map_trans_cap_spini_bool_val  = {
3449   "The system is capable of supporting local SPINI operation",
3450   "The system is not capable of supporting local SPINI operation at the current time"
3451 };
3452
3453 static const true_false_string ansi_map_trans_cap_uzci_bool_val  = {
3454   "The system is User Zone capable at the current time",
3455   "The system is not User Zone capable at the current time"
3456 };
3457 static const true_false_string ansi_map_trans_cap_ndss_bool_val  = {
3458   "Serving system is NDSS capable",
3459   "Serving system is not NDSS capable"
3460 };
3461 static const true_false_string ansi_map_trans_cap_nami_bool_val  = {
3462   "The system is CNAP/CNAR capable",
3463   "The system is not CNAP/CNAR capable"
3464 };
3465
3466 static const value_string ansi_map_trans_cap_multerm_vals[]  = {
3467     {   0, "The system cannot accept a termination at this time (i.e., cannot accept routing information)"},
3468     {   1, "The system supports the number of call legs indicated"},
3469     {   2, "The system supports the number of call legs indicated"},
3470     {   3, "The system supports the number of call legs indicated"},
3471     {   4, "The system supports the number of call legs indicated"},
3472     {   5, "The system supports the number of call legs indicated"},
3473     {   6, "The system supports the number of call legs indicated"},
3474     {   7, "The system supports the number of call legs indicated"},
3475     {   8, "The system supports the number of call legs indicated"},
3476     {   9, "The system supports the number of call legs indicated"},
3477     {   10, "The system supports the number of call legs indicated"},
3478     {   11, "The system supports the number of call legs indicated"},
3479     {   12, "The system supports the number of call legs indicated"},
3480     {   13, "The system supports the number of call legs indicated"},
3481     {   14, "The system supports the number of call legs indicated"},
3482     {   15, "The system supports the number of call legs indicated"},
3483         {       0, NULL }
3484 };
3485
3486 static const true_false_string ansi_map_trans_cap_tl_bool_val  = {
3487   "The system is capable of supporting the TerminationList parameter at the current time",
3488   "The system is not capable of supporting the TerminationList parameter at the current time"
3489 };
3490
3491 static const true_false_string ansi_map_trans_cap_waddr_bool_val  = {
3492   "The system is capable of supporting the TriggerAddressList parameter",
3493   "The system is not capable of supporting the TriggerAddressList parameter"
3494 };
3495
3496
3497 static void
3498 dissect_ansi_map_transactioncapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3499
3500         int offset = 0;
3501         proto_tree *subtree;
3502
3503         
3504         subtree = proto_item_add_subtree(actx->created_item, ett_transactioncapability);
3505
3506         /*NAME Capability Indicator (NAMI) (octet 1, bit H) */
3507         proto_tree_add_item(subtree, hf_ansi_map_trans_cap_nami, tvb, offset, 1, FALSE);
3508         /* NDSS Capability (NDSS) (octet 1, bit G) */
3509         proto_tree_add_item(subtree, hf_ansi_map_trans_cap_ndss, tvb, offset, 1, FALSE);
3510         /* UZ Capability Indicator (UZCI) (octet 1, bit F) */
3511         proto_tree_add_item(subtree, hf_ansi_map_trans_cap_uzci, tvb, offset, 1, FALSE);
3512         /* Subscriber PIN Intercept (SPINI) (octet 1, bit E) */
3513         proto_tree_add_item(subtree, hf_ansi_map_trans_cap_spini, tvb, offset, 1, FALSE);
3514         /* Remote User Interaction (RUI) (octet 1, bit D) */
3515         proto_tree_add_item(subtree, hf_ansi_map_trans_cap_rui, tvb, offset, 1, FALSE);
3516         /* Announcements (ANN) (octet 1, bit C) */
3517         proto_tree_add_item(subtree, hf_ansi_map_trans_cap_ann, tvb, offset, 1, FALSE);
3518         /* Busy Detection (BUSY) (octet 1, bit B) */
3519         proto_tree_add_item(subtree, hf_ansi_map_trans_cap_busy, tvb, offset, 1, FALSE);
3520         /* Profile (PROF) (octet 1, bit A) */
3521         proto_tree_add_item(subtree, hf_ansi_map_trans_cap_prof, tvb, offset, 1, FALSE);
3522         offset++;
3523
3524         /* WIN Addressing (WADDR) (octet 2, bit F) */
3525         proto_tree_add_item(subtree, hf_ansi_trans_cap_waddr, tvb, offset, 1, FALSE);
3526         /* TerminationList (TL) (octet 2, bit E) */
3527         proto_tree_add_item(subtree, hf_ansi_trans_cap_tl, tvb, offset, 1, FALSE);
3528         /* Multiple Terminations (octet 2, bits A-D) */
3529         proto_tree_add_item(subtree, hf_ansi_trans_cap_multerm, tvb, offset, 1, FALSE);
3530 }
3531
3532 /* 6.5.2.162 UniqueChallengeReport */
3533 /* Unique Challenge Report (octet 1) */
3534 static const value_string ansi_map_UniqueChallengeReport_vals[]  = {
3535     {   0, "Not used"},
3536     {   1, "Unique Challenge not attempted"},
3537     {   2, "Unique Challenge no response"},
3538     {   3, "Unique Challenge successful"},
3539     {   4, "Unique Challenge failed"},
3540         {       0, NULL }
3541 };
3542
3543 /* 6.5.2.166 VoicePrivacyMask */
3544
3545
3546 /* 6.5.2.e (TSB76) CDMAServiceConfigurationRecord N.S0008-0 v 1.0 */
3547 /* a. This field carries the CDMA Service Configuration Record. The bit-layout is the
3548 same as that of Service Configuration Record in TSB74, and J-STD-008.
3549 */
3550
3551 /* 6.5.2.f CDMAServiceOption N.S0010-0 v 1.0 */
3552
3553 /* values copied from old ANSi map dissector */
3554 static const range_string cdmaserviceoption_vals[] = {
3555         { 1, 1, "Basic Variable Rate Voice Service (8 kbps)" }, 
3556         { 2, 2, "Mobile Station Loopback (8 kbps)" }, 
3557         { 3, 3, "Enhanced Variable Rate Voice Service (8 kbps)" }, 
3558         { 4, 4, "Asynchronous Data Service (9.6 kbps)" }, 
3559         { 5, 5, "Group 3 Facsimile (9.6 kbps)" },
3560         { 6, 6, "Short Message Services (Rate Set 1)" }, 
3561         { 7, 7, "Packet Data Service: Internet or ISO Protocol Stack (9.6 kbps)" }, 
3562         { 8, 8, "Packet Data Service: CDPD Protocol Stack (9.6 kbps)" }, 
3563         { 9, 9, "Mobile Station Loopback (13 kbps)" }, 
3564         { 10, 10, "STU-III Transparent Service" }, 
3565         { 11, 11, "STU-III Non-Transparent Service" }, 
3566         { 12, 12, "Asynchronous Data Service (14.4 or 9.6 kbps)" }, 
3567         { 13, 13, "Group 3 Facsimile (14.4 or 9.6 kbps)" }, 
3568         { 14, 14, "Short Message Services (Rate Set 2)" }, 
3569         { 15, 15, "Packet Data Service: Internet or ISO Protocol Stack (14.4 kbps)" }, 
3570         { 16, 16, "Packet Data Service: CDPD Protocol Stack (14.4 kbps)" }, 
3571         { 17, 17, "High Rate Voice Service (13 kbps)" }, 
3572         { 18, 18, "Over-the-Air Parameter Administration (Rate Set 1)" }, 
3573         { 19, 19, "Over-the-Air Parameter Administration (Rate Set 2)" }, 
3574         { 20, 20, "Group 3 Analog Facsimile (Rate Set 1)" }, 
3575         { 21, 21, "Group 3 Analog Facsimile (Rate Set 2)" }, 
3576         { 22, 22, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS1 reverse)" }, 
3577         { 23, 23, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS1 forward, RS2 reverse)" }, 
3578         { 24, 24, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS1 reverse)" }, 
3579         { 25, 25, "High Speed Packet Data Service: Internet or ISO Protocol Stack (RS2 forward, RS2 reverse)" },
3580         { 26, 26, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS1 reverse)" }, 
3581         { 27, 27, "High Speed Packet Data Service: CDPD Protocol Stack (RS1 forward, RS2 reverse)" }, 
3582         { 28, 28, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS1 reverse)" }, 
3583         { 29, 29, "High Speed Packet Data Service: CDPD Protocol Stack (RS2 forward, RS2 reverse)" }, 
3584         { 30, 30, "Supplemental Channel Loopback Test for Rate Set 1" }, 
3585         { 31, 31, "Supplemental Channel Loopback Test for Rate Set 2" }, 
3586         { 32, 32, "Test Data Service Option (TDSO)" }, 
3587         { 33, 33, "cdma2000 High Speed Packet Data Service, Internet or ISO Protocol Stack" }, 
3588         { 34, 34, "cdma2000 High Speed Packet Data Service, CDPD Protocol Stack" }, 
3589         { 35, 35, "Location Services, Rate Set 1 (9.6 kbps)" },
3590         { 36, 36, "Location Services, Rate Set 2 (14.4 kbps)" }, 
3591         { 37, 37, "ISDN Interworking Service (64 kbps)" }, 
3592         { 38, 38, "GSM Voice" }, 
3593         { 39, 39, "GSM Circuit Data" }, 
3594         { 40, 40, "GSM Packet Data" }, 
3595         { 41, 41, "GSM Short Message Service" }, 
3596         { 42, 42, "None Reserved for MC-MAP standard service options" }, 
3597         { 54, 54, "Markov Service Option (MSO)" }, 
3598         { 55, 55, "Loopback Service Option (LSO)" },
3599         { 56, 56, "Selectable Mode Vocoder" }, 
3600         { 57, 57, "32 kbps Circuit Video Conferencing" }, 
3601         { 58, 58, "64 kbps Circuit Video Conferencing" }, 
3602         { 59, 59, "HRPD Accounting Records Identifier" }, 
3603         { 60, 60, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Removal" }, 
3604         { 61, 61, "Link Layer Assisted Robust Header Compression (LLA ROHC) - Header Compression" }, 
3605         { 62, 4099, "None Reserved for standard service options" }, 
3606         { 4100, 4100, "Asynchronous Data Service, Revision 1 (9.6 or 14.4 kbps)" }, 
3607         { 4101, 4101, "Group 3 Facsimile, Revision 1 (9.6 or 14.4 kbps)" }, 
3608         { 4102, 4102, "Reserved for standard service option" },
3609         { 4103, 4103, "Packet Data Service: Internet or ISO Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" }, 
3610         { 4104, 4104, "Packet Data Service: CDPD Protocol Stack, Revision 1 (9.6 or 14.4 kbps)" }, 
3611         { 4105, 32767, "Reserved for standard service options" }, 
3612         { 32768, 32768, "QCELP (13 kbps)" }, 
3613         { 32769, 32771, "Proprietary QUALCOMM Incorporated" }, 
3614         { 32772, 32775, "Proprietary OKI Telecom" }, 
3615         { 32776, 32779, "Proprietary Lucent Technologies" }, 
3616         { 32780, 32783, "Nokia" }, 
3617         { 32784, 32787, "NORTEL NETWORKS" }, 
3618         { 32788, 32791, "Sony Electronics Inc" }, 
3619         { 32792, 32795, "Motorola" }, 
3620         { 32796, 32799, "QUALCOMM Incorporated" }, 
3621         { 32800, 32803, "QUALCOMM Incorporated" }, 
3622         { 32804, 32807, "QUALCOMM Incorporated" }, 
3623         { 32808, 32811, "QUALCOMM Incorporated" }, 
3624         { 32812, 32815, "Lucent Technologies" }, 
3625         { 32816, 32819, "Denso International" }, 
3626         { 32820, 32823, "Motorola" }, 
3627         { 32824, 32827, "Denso International" }, 
3628         { 32828, 32831, "Denso International" }, 
3629         { 32832, 32835, "Denso International" }, 
3630         { 32836, 32839, "NEC America" },
3631         { 32840, 32843, "Samsung Electrnics" },
3632         { 32844, 32847, "Texas Instruments Incorporated" },
3633         { 32848, 32851, "Toshiba Corporation" },
3634         { 32852, 32855, "LG Electronics Inc." },
3635         { 32856, 32859, "VIA Telecom Inc." },
3636         { 0,           0,          NULL                   }
3637 };
3638
3639 static void
3640 dissect_ansi_map_cdmaserviceoption(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3641         int offset = 0;
3642         proto_tree *subtree;
3643
3644         
3645         subtree = proto_item_add_subtree(actx->created_item, ett_cdmaserviceoption);
3646
3647         proto_tree_add_item(subtree, hf_ansi_map_cdmaserviceoption, tvb, offset, 2, FALSE);
3648
3649
3650 }
3651 /* 6.5.2.f (TSB76) CDMAServiceOption N.S0008-0 v 1.0*/
3652 /* This field carries the CDMA Service Option. The bit-layout is the same as that of
3653 Service Option in TSB74 and J-STD-008.*/
3654
3655 /* 6.5.2.i (IS-730) TDMAServiceCode N.S0008-0 v 1.0 */
3656 static const value_string ansi_map_TDMAServiceCode_vals[]  = {
3657     {   0, "Analog Speech Only"},
3658     {   1, "Digital Speech Only"},
3659     {   2, "Analog or Digital Speech, Analog Preferred"},
3660     {   3, "Analog or Digital Speech, Digital Preferred"},
3661     {   4, "Asynchronous Data"},
3662     {   5, "G3 Fax"},
3663     {   6, "Not Used (Service Rejected)"},
3664     {   7, "STU-III"},
3665         {       0, NULL }
3666 };
3667 /* 6.5.2.j (IS-730) TDMATerminalCapability N.S0008-0 v 1.0 Updted with N.S0015-0 */
3668 /* Supported Frequency Band (octet 1) */
3669 /* Voice Coder (octet 2) */
3670 /* Protocol Version (octet 3) N.S0015-0 */
3671 static const value_string ansi_map_TDMATerminalCapability_prot_ver_vals[]  = {
3672     {   0, "EIA-553 or IS-54-A"},
3673     {   1, "TIA/EIA-627.(IS-54-B)"},
3674     {   2, "IS-136"},
3675     {   3, "Permanently Reserved (ANSI J-STD-011).Treat the same as value 4, IS-136-A."},
3676     {   4, "PV 0 as published in TIA/EIA-136-0 and IS-136-A."},
3677     {   5, "PV 1 as published in TIA/EIA-136-A."},
3678     {   6, "PV 2 as published in TIA/EIA-136-A."},
3679     {   7, "PV 3 as published in TIA/EIA-136-A."},
3680         {       0, NULL }
3681 };
3682 /* Asynchronous Data (ADS) (octet 4, bit A) N.S0007-0*/
3683 /* Group 3 Fax (G3FAX) (octet 4, bit B) */
3684 /* Secure Telephone Unit III (STU3) (octet 4, bit C) */
3685 /* Analog Voice (AVOX) (octet 4, bit D) */
3686 /* Half Rate (HRATE) (octet 4, bit E) */
3687 /* Full Rate (FRATE) (octet 4, bit F) */
3688 /* Double Rate (2RATE) (octet 4, bit G) */
3689 /* Triple Rate (3RATE) (octet 4, bit H) */
3690
3691
3692 /* 6.5.2.k (IS-730)) TDMAVoiceCoder N.S0008-0 v 1.0, N.S0007-0 */
3693 /* VoiceCoder (octet 1) */
3694
3695 /* 6.5.2.p UserZoneData N.S0015-0 */
3696
3697 /* 6.5.2.aa BaseStationManufacturerCode N.S0007-0 v 1.0 */
3698 /* The BaseStationManufacturerCode (BSMC) parameter specifies the manufacturer of the
3699 base station that is currently serving the MS (see IS-136 for enumeration of values).*/
3700
3701 /* 6.5.2.ab BSMCStatus */
3702
3703 /* BSMC Status (octet 1) */
3704 static const value_string ansi_map_BSMCStatus_vals[]  = {
3705     {   0, "Same BSMC Value shall not be supported"},
3706     {   1, "Same BSMC Value shall be supported"},
3707         {       0, NULL }
3708 };
3709
3710 /*- 6.5.2.ac ControlChannelMode (N.S0007-0 v 1.0)*/
3711 static const value_string ansi_map_ControlChannelMode_vals[]  = {
3712     {   0, "Unknown"},
3713     {   1, "MS is in Analog CC Mode"},
3714     {   2, "MS is in Digital CC Mode"},
3715     {   3, "MS is in NAMPS CC Mode"},
3716         {       0, NULL }
3717 };
3718
3719 /* 6.5.2.ad NonPublicData N.S0007-0 v 1.0*/
3720 /* NP Only Service (NPOS) (octet 1, bits A and B) */
3721 /* Charging Area Tone Service (CATS) (octet 1, bits C - F) */
3722 /* PSID/RSID Download Order (PRDO) (octet 1, bits G and H) */
3723
3724 /* 6.5.2.ae PagingFrameClass N.S0007-0 v 1.0*/
3725 /* Paging Frame Class (octet 1) */
3726
3727 static const value_string ansi_map_PagingFrameClass_vals[]  = {
3728     {   0, "PagingFrameClass 1 (1.28 seconds)"},
3729     {   1, "PagingFrameClass 2 (2.56 seconds)"},
3730     {   2, "PagingFrameClass 3 (3.84 seconds)"},
3731     {   3, "PagingFrameClass 4 (7.68 seconds)"},
3732     {   4, "PagingFrameClass 5 (15.36 seconds)"},
3733     {   5, "PagingFrameClass 6 (30.72 seconds)"},
3734     {   6, "PagingFrameClass 7 (61.44 seconds)"},
3735     {   7, "PagingFrameClass 8 (122.88 seconds)"},
3736     {   8, "Reserved. Treat the same as value 0, PagingFrameClass 1"},
3737         {       0, NULL }
3738 };
3739
3740 /* 6.5.2.af PSID_RSIDInformation N.S0007-0 v 1.0*/
3741 /* PSID/RSID Indicator (octet 1, bit A) */
3742 /* PSID/RSID Type (octet 1, bits B-D) */
3743
3744 /* 6.5.2.ah ServicesResult N.S0007-0 v 1.0*/
3745 /* PSID/RSID Download Result (PRDR) (octet 1, bits A and B) */
3746 static const value_string ansi_map_ServicesResult_ppr_vals[]  = {
3747     {   0, "No Indication"},
3748     {   1, "Unsuccessful PSID/RSID download"},
3749     {   2, "Successful PSID/RSID download"},
3750     {   3, "Reserved. Treat the same as value 0, No Indication"},
3751         {       0, NULL }
3752 };
3753
3754 /* 6.5.2.ai SOCStatus N.S0007-0 v 1.0*/
3755
3756 /* SOC Status (octet 1) */
3757 static const value_string ansi_map_SOCStatus_vals[]  = {
3758     {   0, "Same SOC Value shall not be supported"},
3759     {   1, "Same SOC Value shall be supported"},
3760         {       0, NULL }
3761 };
3762
3763 /* 6.5.2.aj SystemOperatorCode N.S0007-0 v 1.0*/
3764 /* The SystemOperatorCode (SOC) parameter specifies the system operator that is currently
3765 providing service to a MS (see IS-136 for enumeration of values) */
3766
3767 /* 6.5.2.al UserGroup N.S0007-0 v 1.0*/
3768
3769 /* 6.5.2.am UserZoneData N.S0007-0 v 1.0*/
3770
3771
3772 /*Table 6.5.2.ay TDMABandwidth value N.S0008-0 v 1.0 */
3773 static const value_string ansi_map_TDMABandwidth_vals[]  = {
3774     {   0, "Half-Rate Digital Traffic Channel Only"},
3775     {   1, "Full-Rate Digital Traffic Channel Only"},
3776     {   2, "Half-Rate or Full-rate Digital Traffic Channel - Full-Rate Preferred"},
3777     {   3, "Half-rate or Full-rate Digital Traffic Channel - Half-rate Preferred"},
3778     {   4, "Double Full-Rate Digital Traffic Channel Only"},
3779     {   5, "Triple Full-Rate Digital Traffic Channel Only"},
3780     {   6, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3781     {   7, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3782     {   8, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3783     {   9, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3784     {   10, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3785     {   11, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3786     {   12, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3787     {   13, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3788     {   14, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3789     {   15, "Reserved. Treat reserved values the same as value 1 - Full-Rate Digital Traffic Channel Only"},
3790         {       0, NULL }
3791
3792 };
3793
3794 /* 6.5.2.az TDMADataFeaturesIndicator N.S0008-0 v 1.0 */
3795 /* TDMADataFeaturesIndicator 
3796 ansi_map_FeatureActivity_vals
3797
3798  ADS FeatureActivity ADS-FA ( octet 1 bit A and B )
3799  G3 Fax FeatureActivity G3FAX-FA ( octet 1 bit C and D )
3800  STU-III FeatureActivity STUIII-FA ( octet 1 bit E and F )
3801  Half Rate data FeatureActivity HRATE-FA ( octet 2 bit A and B )
3802  Full Rate data FeatureActivity FRATE-FA ( octet 2 bit C and D )
3803  Double Rate data FeatureActivity 2RATE-FA ( octet 2 bit E and F )
3804  Triple Rate data FeatureActivity 3RATE-FA ( octet g bit G and H )
3805
3806  Table 6.5.2.azt TDMADataFeaturesIndicator value
3807  static const value_string ansi_map_TDMADataFeaturesIndicator_vals[]  = {
3808     {   0, "Not Used"},
3809     {   1, "Not Authorized"},
3810     {   2, "Authorized, but de-activated"},
3811     {   3, "Authorized and activated"},
3812         {       0, NULL }
3813
3814 };
3815 */
3816
3817 /* 6.5.2.ba TDMADataMode N.S0008-0 v 1.0*/
3818
3819 /* 6.5.2.bb TDMAVoiceMode */
3820
3821 /* 6.5.2.bb CDMAConnectionReference N.S0008-0 v 1.0 */
3822 /* Service Option Connection Reference Octet 1 */
3823 /*      a. This field carries the CDMA Service Option Connection Reference. The bitlayout
3824                 is the same as that of Service Option Connection Reference in TSB74 and
3825                 J-STD-008.
3826 */
3827
3828 /* 6.5.2.ad CDMAState N.S0008-0 v 1.0 */
3829 /* Service Option State Octet 1 */
3830 /* a. This field carries the CDMA Service Option State information. The CDMA
3831 Service Option State is defined in the current CDMA Service Options standard.
3832 If CDMA Service Option State is not explicitly defined within a section of the
3833 relevant CDMA Service Option standard, the CDMA Service Option State shall
3834 carry the value of the ORD_Q octet of all current Service Option Control Orders
3835 (see IS-95), or the contents of all current CDMA Service Option Control
3836 Messages (see TSB74) type specific field for this connection reference. */
3837
3838 /* 6.5.2.aj SecondInterMSCCircuitID */
3839 /* -- XXX Same code as ISLPinformation???
3840 dissect_ansi_map_secondintermsccircuitid(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree){
3841
3842         int offset = 0;
3843         
3844         proto_tree *subtree;
3845
3846         
3847         subtree = proto_item_add_subtree(actx->created_item, ett_billingid);
3848         / Trunk Group Number (G) Octet 1 /
3849         proto_tree_add_item(subtree, hf_ansi_map_tgn, tvb, offset, 1, FALSE);
3850         offset++;
3851         / Trunk Member Number (M) Octet2 /
3852         proto_tree_add_item(subtree, hf_ansi_map_tmn, tvb, offset, 1, FALSE);
3853 }
3854 */
3855 /* 6.5.2.as ChangeServiceAttributes N.S0008-0 v 1.0 */
3856 /* Change Facilities Flag (CHGFAC)(octet 1, bits A - B) */
3857 static const value_string ansi_map_ChangeServiceAttributes_chgfac_vals[]  = {
3858     {   0, "Change Facilities Operation Requested"},
3859     {   1, "Change Facilities Operation Not Requested"},
3860     {   2, "Change Facilities Operation Used"},
3861     {   3, "Change Facilities Operation Not Used"},
3862         {       0, NULL }
3863 };
3864 /* Service Negotiate Flag (SRVNEG)(octet 1, bits C - D) */
3865 static const value_string ansi_map_ChangeServiceAttributes_srvneg_vals[]  = {
3866     {   0, "Service Negotiation Used"},
3867     {   1, "Service Negotiation Not Used"},
3868     {   2, "Service Negotiation Required"},
3869     {   3, "Service Negotiation Not Required"},
3870         {       0, NULL }
3871 };
3872 /* 6.5.2.au DataPrivacyParameters N.S0008-0 v 1.0*/
3873 /* Privacy Mode (PM) (octet 1, Bits A and B) */
3874 static const value_string ansi_map_DataPrivacyParameters_pm_vals[]  = {
3875     {   0, "Privacy inactive or not supported"},
3876     {   1, "Privacy Requested or Acknowledged"},
3877     {   2, "Reserved. Treat reserved values the same as value 0, Privacy inactive or not supported."},
3878     {   3, "Reserved. Treat reserved values the same as value 0, Privacy inactive or not supported."},
3879         {       0, NULL }
3880 };
3881 /* Data Privacy Version (PM) (octet 2) */
3882 static const value_string ansi_map_DataPrivacyParameters_data_priv_ver_vals[]  = {
3883     {   0, "Not used"},
3884     {   1, "Data Privacy Version 1"},
3885         {       0, NULL }
3886 };
3887
3888 /* 6.5.2.av ISLPInformation N.S0008-0 v 1.0*/
3889 /* ISLP Type (octet 1) */
3890 static const value_string ansi_map_islp_type_vals[]  = {
3891     {   0, "No ISLP supported"},
3892     {   1, "ISLP supported"},
3893         {       0, NULL }
3894 };
3895 /* 6.5.2.bc AnalogRedirectInfo */
3896 /* Sys Ordering (octet 1, bits A-E) */
3897 /* Ignore CDMA (IC) (octet 1, bit F) */
3898
3899 /* 6.5.2.be CDMAChannelNumber N.S0010-0 v 1.0*/
3900
3901 /* 6.5.2.bg CDMAPowerCombinedIndicator N.S0010-0 v 1.0*/
3902
3903 /* 6.5.2.bi CDMASearchParameters N.S0010-0 v 1.0*/
3904
3905 /* 6.5.2.bk CDMANetworkIdentification N.S0010-0 v 1.0*/
3906 /* See CDMA [J-STD-008] for encoding of this field. */
3907
3908 /* 6.5.2.bo RequiredParametersMask N.S0010-0 v 1.0 */
3909
3910 /* 6.5.2.bp ServiceRedirectionCause */
3911 static const value_string ansi_map_ServiceRedirectionCause_type_vals[]  = {
3912     {   0, "Not used"},
3913     {   1, "NormalRegistration"},
3914     {   2, "SystemNotFound."},
3915     {   3, "ProtocolMismatch."},
3916     {   4, "RegistrationRejection."},
3917     {   5, "WrongSID."},
3918     {   6, "WrongNID.."},
3919         {       0, NULL }
3920 };
3921
3922 /* 6.5.2.bq ServiceRedirectionInfo  N.S0010-0 v 1.0 */
3923
3924 /* 6.5.2.br RoamingIndication N.S0010-0 v 1.0*/
3925 /* See CDMA [TSB58] for the definition of this field. */
3926
3927 /* 6.5.2.bw CallingPartyName N.S0012-0 v 1.0*/
3928
3929 /* Presentation Status (octet 1, bits A and B) */
3930 static const value_string ansi_map_Presentation_Status_vals[]  = {
3931     {   0, "Presentation allowed"},
3932     {   1, "Presentation restricted"},
3933     {   2, "Blocking toggle"},
3934     {   3, "No indication"},
3935         {       0, NULL }
3936 };
3937 /* Availability (octet 1, bit E) N.S0012-0 v 1.0*/
3938 static const true_false_string ansi_map_Availability_bool_val  = {
3939   "Name not available",
3940   "Name available/unknown"
3941 };
3942 static void
3943 dissect_ansi_map_callingpartyname(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3944
3945         proto_tree *subtree;
3946         
3947         subtree = proto_item_add_subtree(actx->created_item, ett_callingpartyname);
3948         /* Availability (octet 1, bit E) N.S0012-0 v 1.0*/
3949
3950         /* Presentation Status (octet 1, bits A and B) */
3951
3952
3953
3954 }
3955
3956
3957 /* 6.5.2.bx DisplayText N.S0012-0 v 1.0*/
3958 /* a. Refer to ANSI T1.610 for field encoding. */
3959
3960 /* 6.5.2.bz ServiceID
3961 Service Identifier (octets 1 to n)
3962 0 Not used.
3963 1 Calling Name Presentation - No RND.
3964 2 Calling Name Presentation with RND.
3965  */
3966
3967 /* 6.5.2.co GlobalTitle N.S0013-0 v 1.0
3968  * Refer to Section 3 of ANSI T1.112 for the encoding of this field.
3969  */
3970 /* Address Indicator octet 1 */
3971 /* Global Title Octet 2 - n */
3972
3973
3974 /* 6.5.2.dc SpecializedResource N.S0013-0 v 1.0*/
3975 /* Resource Type (octet 1) */
3976 static const value_string ansi_map_resource_type_vals[]  = {
3977     {   0, "Not used"},
3978     {   1, "DTMF tone detector"},
3979     {   2, "Automatic Speech Recognition - Speaker Independent - Digits"},
3980     {   3, "Automatic Speech Recognition - Speaker Independent - Speech User Interface Version 1"},
3981         {       0, NULL }
3982 };
3983 /* 6.5.2.df TriggerCapability */
3984 /* Updated with N.S0004 N.S0013-0 v 1.0*/
3985
3986 static const true_false_string ansi_map_triggercapability_bool_val  = {
3987   "triggers can be armed by the TriggerAddressList parameter",
3988   "triggers cannot be armed by the TriggerAddressList parameter"
3989 };
3990
3991 static void
3992 dissect_ansi_map_triggercapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
3993
3994         int offset = 0;
3995         proto_tree *subtree;
3996
3997         
3998         subtree = proto_item_add_subtree(actx->created_item, ett_triggercapability);
3999
4000
4001         /* O_No_Answer (ONA) (octet 1, bit H)*/
4002         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_ona, tvb, offset,    1, FALSE);
4003         /* O_Disconnect (ODISC) (octet 1, bit G)*/
4004         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_odisc, tvb, offset,  1, FALSE);
4005         /* O_Answer (OANS) (octet 1, bit F)*/
4006         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_oans, tvb, offset,   1, FALSE);
4007         /* Origination_Attempt_Authorized (OAA) (octet 1, bit E)*/
4008         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_oaa, tvb, offset,    1, FALSE);
4009         /* Revertive_Call (RvtC) (octet 1, bit D)*/
4010         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_rvtc, tvb, offset,   1, FALSE);
4011         /* All_Calls (All) (octet 1, bit C)*/
4012         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_all, tvb, offset,    1, FALSE);
4013         /* K-digit (K-digit) (octet 1, bit B)*/
4014         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_kdigit, tvb, offset, 1, FALSE);
4015         /* Introducing Star/Pound (INIT) (octet 1, bit A) */
4016         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_init, tvb, offset,   1, FALSE);
4017         offset++;
4018
4019
4020         /* O_Called_Party_Busy (OBSY) (octet 2, bit H)*/
4021         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_obsy, tvb, offset,   1, FALSE);
4022         /* Called_Routing_Address_Available (CdRAA) (octet 2, bit G)*/
4023         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_cdraa, tvb, offset,  1, FALSE);
4024         /* Initial_Termination (IT) (octet 2, bit F)*/
4025         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_it, tvb, offset,     1, FALSE);
4026         /* Calling_Routing_Address_Available (CgRAA)*/
4027         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_cgraa, tvb, offset,  1, FALSE);
4028         /* Advanced_Termination (AT) (octet 2, bit D)*/
4029         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_at, tvb, offset,     1, FALSE);
4030         /* Prior_Agreement (PA) (octet 2, bit C)*/
4031         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_pa, tvb, offset,     1, FALSE);
4032         /* Unrecognized_Number (Unrec) (octet 2, bit B)*/
4033         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_unrec, tvb, offset,  1, FALSE);
4034         /* Call Types (CT) (octet 2, bit A)*/
4035         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_ct, tvb, offset,     1, FALSE);
4036         offset++;
4037         /* */
4038         /* */
4039         /* */
4040         /* T_Disconnect (TDISC) (octet 3, bit E)*/
4041         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tdisc, tvb, offset,  1, FALSE);
4042         /* T_Answer (TANS) (octet 3, bit D)*/
4043         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tans, tvb, offset,   1, FALSE);
4044         /* T_No_Answer (TNA) (octet 3, bit C)*/
4045         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tna, tvb, offset,    1, FALSE);
4046         /* T_Busy (TBusy) (octet 3, bit B)*/
4047         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tbusy, tvb, offset,  1, FALSE);
4048         /* Terminating_Resource_Available (TRA) (octet 3, bit A) */
4049         proto_tree_add_item(subtree, hf_ansi_map_triggercapability_tra, tvb, offset,    1, FALSE);
4050
4051 }
4052 /* 6.5.2.ei DMH_ServiceID N.S0018 */
4053
4054 /* 6.5.2.dj WINOperationsCapability */
4055 /* Updated with N.S0004 */
4056 /* ConnectResource (CONN) (octet 1, bit A) */
4057 static const true_false_string ansi_map_winoperationscapability_conn_bool_val  = {
4058   "Sender is capable of supporting the ConnectResource, DisconnectResource, ConnectionFailureReport and ResetTimer (SSFT timer) operations",
4059   "Sender is not capable of supporting the ConnectResource, DisconnectResource,ConnectionFailureReport and ResetTimer (SSFT timer) operations"
4060 };
4061
4062 /* CallControlDirective (CCDIR) (octet 1, bit B) */
4063 static const true_false_string ansi_map_winoperationscapability_ccdir_bool_val  = {
4064   "Sender is capable of supporting the CallControlDirective operation",
4065   "Sender is not capable of supporting the CallControlDirective operation"
4066 };
4067
4068 /* PositionRequest (POS) (octet 1, bit C) */
4069 static const true_false_string ansi_map_winoperationscapability_pos_bool_val  = {
4070   "Sender is capable of supporting the PositionRequest operation",
4071   "Sender is not capable of supporting the PositionRequest operation"
4072 };
4073 static void
4074 dissect_ansi_map_winoperationscapability(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
4075
4076         int offset = 0;
4077         proto_tree *subtree;
4078
4079         subtree = proto_item_add_subtree(actx->created_item, ett_winoperationscapability);
4080         
4081         /* PositionRequest (POS) (octet 1, bit C) */
4082         proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_pos, tvb, offset,      1, FALSE);
4083         /* CallControlDirective (CCDIR) (octet 1, bit B) */
4084         proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_ccdir, tvb, offset,    1, FALSE);
4085         /* ConnectResource (CONN) (octet 1, bit A) */
4086         proto_tree_add_item(subtree, hf_ansi_map_winoperationscapability_conn, tvb, offset,     1, FALSE);
4087
4088 }
4089 /*
4090  * 6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301
4091  * Code to be found after include functions.
4092  */
4093
4094 /* 6.5.2.ei TIA/EIA-41.5-D Modifications N.S0018Re */
4095 /* Octet 1,2 1st MarketID */
4096 /* Octet 3 1st MarketSegmentID */
4097 /* Octet 4,5 1st DMH_ServiceID value */
4098 /* Second marcet ID etc */
4099 /* 6.5.2.ek ControlNetworkID N.S0018*/
4100 static void
4101 dissect_ansi_map_controlnetworkid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
4102
4103         int offset = 0;
4104         proto_tree *subtree;
4105
4106         
4107         subtree = proto_item_add_subtree(actx->created_item, ett_controlnetworkid);
4108         /* MarketID octet 1 and 2 */
4109         proto_tree_add_item(subtree, hf_ansi_map_MarketID, tvb, offset, 2, FALSE);
4110         offset = offset + 2;
4111         /* Switch Number octet 3*/
4112         proto_tree_add_item(subtree, hf_ansi_map_swno, tvb, offset, 1, FALSE);
4113         offset++;
4114 }
4115
4116
4117 /* 6.5.2.dk WIN_TriggerList N.S0013-0 v 1.0 */
4118
4119 /* 6.5.2.ec DisplayText2 Updated in N.S0015-0*/
4120
4121 /* 6.5.2.eq MSStatus N.S0004 */
4122
4123 /* 6.5.2.er PositionInformationCode N.S0004 */
4124
4125 /* 6.5.2.fd InterMessageTime N.S0015-0*/
4126 /* Timer value (in 10s of seconds) octet 1 */
4127
4128 /* 6.5.2.fe MSIDUsage N.S0015-0 */
4129 /* M and I Report (octet 1, bits A and B) */
4130 static const value_string ansi_MSIDUsage_m_or_i_vals[]  = {
4131     {   0, "Not used"},
4132     {   1, "MIN last used"},
4133     {   2, "IMSI last used"},
4134     {   3, "Reserved"},
4135         {       0, NULL }
4136 };
4137
4138 /* 6.5.2.ff NewMINExtension N.S0015-0 */
4139
4140 /* 6.5.2.fv ACGEncountered N.S0023-0 v 1.0 */
4141 /* ACG Encountered (octet 1, bits A-F) */
4142 static const value_string ansi_ACGEncountered_vals[]  = {
4143     {   0, "PC_SSN"},
4144     {   1, "1-digit control"},
4145     {   2, "2-digit control"},
4146     {   3, "3-digit control"},
4147     {   4, "4-digit control"},
4148     {   5, "5-digit control"},
4149     {   6, "6-digit control"},
4150     {   7, "7-digit control"},
4151     {   8, "8-digit control"},
4152     {   9, "9-digit control"},
4153     {   10, "10-digit control"},
4154     {   11, "11-digit control"},
4155     {   12, "12-digit control"},
4156     {   13, "13-digit control"},
4157     {   14, "14-digit control"},
4158     {   15, "15-digit control"},
4159         {       0, NULL }
4160 };
4161 /* Control Type (octet 1, bits G-H) */
4162 static const value_string ansi_ACGEncountered_cntrl_type_vals[]  = {
4163     {   0, "Not used."},
4164     {   1, "Service Management System Initiated control encountered"},
4165     {   2, "SCF Overload control encountered"},
4166     {   3, "Reserved. Treat the same as value 0, Not used."},
4167         {       0, NULL }
4168 };
4169
4170 /* 6.5.2.fw ControlType N.S0023-0 v 1.0 */
4171
4172
4173
4174 /* 6.5.2.ge QoSPriority N.S0029-0 v1.0*/
4175 /* 6.5.2.xx QOSPriority */
4176 /* Non-Assured Priority (octet 1, bits A-D) */
4177 static const value_string ansi_map_Priority_vals[]  = {
4178     {   0, "Priority Level 0. This is the lowest level"},
4179     {   1, "Priority Level 1"},
4180     {   2, "Priority Level 2"},
4181     {   3, "Priority Level 3"},
4182     {   4, "Priority Level 4"},
4183     {   5, "Priority Level 5"},
4184     {   6, "Priority Level 6"},
4185     {   7, "Priority Level 7"},
4186     {   8, "Priority Level 8"},
4187     {   8, "Priority Level 9"},
4188     {   10, "Priority Level 10"},
4189     {   11, "Priority Level 11"},
4190     {   12, "Priority Level 12"},
4191     {   13, "Priority Level 13"},
4192     {   14, "Reserved"},
4193     {   15, "Reserved"},
4194         {       0, NULL }
4195 };
4196 /* Assured Priority (octet 1, bits E-H)*/
4197
4198
4199 /* 6.5.2.gf PDSNAddress N.S0029-0 v1.0*/
4200 /* a. See IOS Handoff Request message for the definition of this field. */
4201
4202 /* 6.5.2.gg PDSNProtocolType N.S0029-0 v1.0*/
4203 /* See IOS Handoff Request message for the definition of this field. */
4204
4205 /* 6.5.2.gh CDMAMSMeasuredChannelIdentity N.S0029-0 v1.0*/
4206
4207 /* 6.5.2.gl CallingPartyCategory N.S0027*/
4208 /* a. Refer to ITU-T Q.763 (Signalling System No. 7  ISDN user part formats and
4209 codes) for encoding of this parameter.
4210 b. Refer to national ISDN user part specifications for definitions and encoding of the
4211 reserved for national use values.
4212 */
4213 /* 6.5.2.gm CDMA2000HandoffInvokeIOSData N.S0029-0 v1.0*/
4214 /* IOS A1 Element Handoff Invoke Information */
4215
4216
4217 /* 6.5.2.gn CDMA2000HandoffResponseIOSData */
4218 /* IOS A1 Element Handoff Response Information N.S0029-0 v1.0*/
4219
4220 /* 6.5.2.gr CDMAServiceOptionConnectionIdentifier N.S0029-0 v1.0*/
4221
4222 /* 6.5.2.fk GeographicPosition */
4223 /* Calling Geodetic Location (CGL)
4224  * a. See T1.628 for encoding.
4225  * b. Ignore extra octets, if received. Send only defined (or significant) octets.
4226  */
4227 /* 6.5.2.fs PositionRequestType (See J-STD-036, page 8-47) X.S0002-0 v2.0
4228  */
4229
4230 /* Position Request Type (octet 1, bits A-H) */
4231 /*
4232 static const value_string ansi_map_Position_Request_Type_vals[]  = {
4233     {   0, "Not used"},
4234     {   1, "Initial Position"},
4235     {   2, "Return the updated position"},
4236     {   3, "Return the updated or last known position"},
4237     {   4, "Reserved for LSP interface"},
4238     {   5, "Initial Position Only"},
4239     {   6, "Return the last known position"},
4240     {   7, "Return the updated position based on the serving cell identity"},
4241 */
4242 /*
4243 values through 95 Reserved. Treat the same as value 1, Initial position.
4244 96 through 255 Reserved for TIA/EIA-41 protocol extension. If unknown, treat the
4245 same as value 1, Initial position.
4246 *
4247         {       0, NULL }
4248 };
4249
4250 */
4251
4252 /* LCS Client Type (CTYP) (octet 2, bit A) *
4253 0 Emergency services LCS Client.
4254 1 Non-emergency services LCS Client.
4255 Call-Related Indicator (CALL) (octet 2, bit B)
4256 Decimal Value Meaning
4257 0 Call-related LCS Client request.
4258 1 Non call-related LCS Client request.
4259
4260 Current Serving Cell Information for Coarse Position Determination (CELL) (octet 2, bit C)
4261 Decimal Value Meaning
4262 0 No specific request.
4263 1 Current serving cell information. Current serving cell information for
4264 Target MS requested. Radio contact with Target MS is required.
4265 */
4266 /* 6.5.2.ft PositionResult *
4267 static const value_string ansi_map_PositionResult_vals[]  = {
4268     {   0, "Not used"},
4269     {   1, "Initial position returned"},
4270     {   2, "Updated position returned"},
4271     {   3, "Last known position returned"},
4272     {   4, "Requested position is not available"},
4273     {   5, "Target MS disconnect"},
4274     {   6, "Target MS has handed-off"},
4275     {   7, "Identified MS is inactive or has roamed to another system"},
4276     {   8, "Unresponsive"},
4277     {   9, "Identified MS is responsive, but refused position request"},
4278     {   10, "System Failure"},
4279     {   11, "MSID is not known"},
4280     {   12, "Callback number is not known"},
4281     {   13, "Improper request"},
4282     {   14, "Mobile information returned"},
4283     {   15, "Signal not detected"},
4284     {   16, "PDE Timeout"},
4285     {   17, "Position pending"},
4286     {   18, "TDMA MAHO Information Returned"},
4287     {   19, "TDMA MAHO Information is not available"},
4288     {   20, "Access Denied"},
4289     {   21, "Requested PQOS not met"},
4290     {   22, "Resource required for CDMA handset-based position determination is currently unavailable"},
4291     {   23, "CDMA handset-based position determination failure"},
4292     {   24, "CDMA handset-based position determination failure detected by the PDE"},
4293     {   25, "CDMA handset-based position determination incomplete traffic channel requested for voice services"},
4294     {   26, "Emergency services call notification"},
4295     {   27, "Emergency services call precedence"},
4296     {   28, "Request acknowledged"},
4297         {       0, NULL }
4298 };
4299 */
4300 /* 6.5.2.bp-1 ServiceRedirectionCause value */
4301 static const value_string ansi_map_ServiceRedirectionCause_vals[]  = {
4302     {   0, "Not used"},
4303     {   1, "NormalRegistration"},
4304     {   2, "SystemNotFound"},
4305     {   3, "ProtocolMismatch"},
4306     {   4, "RegistrationRejection"},
4307     {   5, "WrongSID"},
4308     {   6, "WrongNID"},
4309         {       0, NULL }
4310 };
4311 /* 6.5.2.mT AuthenticationResponseReauthentication N.S0011-0 v 1.0*/
4312
4313 /* 6.5.2.vT ReauthenticationReport N.S0011-0 v 1.0*/
4314 static const value_string ansi_map_ReauthenticationReport_vals[]  = {
4315     {   0, "Not used"},
4316     {   1, "Reauthentication not attempted"},
4317     {   2, "Reauthentication no response"},
4318     {   3, "Reauthentication successful"},
4319     {   4, "RReauthentication failed"},
4320         {       0, NULL }
4321 };
4322
4323
4324
4325 /* 6.5.2.lB AKeyProtocolVersion
4326         N.S0011-0 v 1.0
4327  */
4328 static const value_string ansi_map_AKeyProtocolVersion_vals[]  = {
4329     {   0, "Not used"},
4330     {   1, "A-key Generation not supported"},
4331     {   2, "Diffie Hellman with 768-bit modulus, 160-bit primitive, and 160-bit exponents"},
4332     {   3, "Diffie Hellman with 512-bit modulus, 160-bit primitive, and 160-bit exponents"},
4333     {   4, "Diffie Hellman with 768-bit modulus, 32-bit primitive, and 160-bit exponents"},
4334         {       0, NULL }
4335 };
4336 /* 6.5.2.sB OTASP_ResultCode
4337         N.S0011-0 v 1.0
4338  */
4339 static const value_string ansi_map_OTASP_ResultCode_vals[]  = {
4340     {   0, "Accepted - Successful"},
4341     {   1, "Rejected - Unknown cause."},
4342     {   2, "Computation Failure - E.g., unable to compute A-key"},
4343     {   3, "CSC Rejected - CSC challenge failure"},
4344     {   4, "Unrecognized OTASPCallEntry"},
4345     {   5, "Unsupported AKeyProtocolVersion(s)"},
4346     {   6, "Unable to Commit"},
4347         {       0, NULL }
4348 };
4349
4350 /*6.5.2.wB ServiceIndicator
4351         N.S0011-0 v 1.0
4352  */
4353 static const value_string ansi_map_ServiceIndicator_vals[]  = {
4354     {   0, "Undefined Service"},
4355     {   1, "CDMA OTASP Service"},
4356     {   2, "TDMA OTASP Service"},
4357     {   3, "CDMA OTAPA Service"},
4358     {   4, "CDMA Position Determination Service (Emergency Services)"},
4359     {   5, "AMPS Position Determination Service (Emergency Services)"},
4360     {   6, "CDMA Position Determination Service (Value Added Services)"},
4361         {       0, NULL }
4362 };
4363
4364 /* 6.5.2.xB SignalingMessageEncryptionReport
4365         N.S0011-0 v 1.0
4366  */
4367 static const value_string ansi_map_SMEReport_vals[]  = {
4368     {   0, "Not used"},
4369     {   1, "Signaling Message Encryption enabling not attempted"},
4370     {   2, "Signaling Message Encryption enabling no response"},
4371     {   3, "Signaling Message Encryption is enabled"},
4372     {   4, "Signaling Message Encryption enabling failed"},
4373         {       0, NULL }
4374 };
4375
4376 /* 6.5.2.zB VoicePrivacyReport
4377         N.S0011-0 v 1.0
4378  */
4379 static const value_string ansi_map_VoicePrivacyReport_vals[]  = {
4380     {   0, "Not used"},
4381     {   1, "Voice Privacy not attempted"},
4382     {   2, "Voice Privacy no response"},
4383     {   3, "Voiec Privacy is active"},
4384     {   4, "Voice Privacy failed"},
4385         {       0, NULL }
4386 };
4387
4388
4389
4390 /*--- Included file: packet-ansi_map-fn.c ---*/
4391 #line 1 "packet-ansi_map-fn.c"
4392
4393
4394 static int
4395 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_) {
4396   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4397                                        NULL);
4398
4399   return offset;
4400 }
4401
4402
4403
4404 static int
4405 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_) {
4406 #line 26 "ansi_map.cnf"
4407         tvbuff_t *parameter_tvb = NULL;
4408   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4409                                        &parameter_tvb);
4410
4411         if (parameter_tvb){
4412                 dissect_ansi_map_min_type(parameter_tvb,actx->pinfo,tree, actx);
4413         }
4414
4415
4416
4417   return offset;
4418 }
4419
4420
4421
4422 static int
4423 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_) {
4424   offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
4425
4426   return offset;
4427 }
4428
4429
4430 static const value_string ansi_map_MSID_vals[] = {
4431   {   8, "mobileIdentificationNumber" },
4432   { 242, "imsi" },
4433   { 0, NULL }
4434 };
4435
4436 static const ber_choice_t MSID_choice[] = {
4437   {   8, &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
4438   { 242, &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
4439   { 0, NULL, 0, 0, 0, NULL }
4440 };
4441
4442 static int
4443 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_) {
4444   offset = dissect_ber_choice(actx, tree, tvb, offset,
4445                                  MSID_choice, hf_index, ett_ansi_map_MSID,
4446                                  NULL);
4447
4448   return offset;
4449 }
4450
4451
4452
4453 static int
4454 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_) {
4455   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4456                                        NULL);
4457
4458   return offset;
4459 }
4460
4461
4462
4463 static int
4464 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_) {
4465   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4466                                        NULL);
4467
4468   return offset;
4469 }
4470
4471
4472
4473 static int
4474 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_) {
4475   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4476                                        NULL);
4477
4478   return offset;
4479 }
4480
4481
4482
4483 static int
4484 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_) {
4485   offset = dissect_ber_integer(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_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_) {
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_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_) {
4505 #line 33 "ansi_map.cnf"
4506         tvbuff_t *parameter_tvb = NULL;
4507   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4508                                        &parameter_tvb);
4509
4510         if (parameter_tvb){
4511                 dissect_ansi_map_digits_type(parameter_tvb,actx->pinfo,tree, actx);
4512         }
4513
4514
4515
4516   return offset;
4517 }
4518
4519
4520
4521 static int
4522 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_) {
4523   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4524
4525   return offset;
4526 }
4527
4528
4529 static const value_string ansi_map_DenyAccess_vals[] = {
4530   {   0, "not-used" },
4531   {   1, "unspecified" },
4532   {   2, "ssd-Update-failure" },
4533   {   3, "cOUNT-Update-failure" },
4534   {   4, "unique-Challenge-failure" },
4535   {   5, "aUTHR-mismatch" },
4536   {   6, "cOUNT-mismatch" },
4537   {   7, "process-collision" },
4538   {   8, "missing-authentication-parameters" },
4539   {   9, "terminalType-mismatch" },
4540   {  10, "mIN-IMSI-or-ESN-authorization-failure" },
4541   { 0, NULL }
4542 };
4543
4544
4545 static int
4546 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_) {
4547   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4548                                   NULL);
4549
4550   return offset;
4551 }
4552
4553
4554
4555 static int
4556 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_) {
4557   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4558
4559   return offset;
4560 }
4561
4562
4563
4564 static int
4565 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_) {
4566   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4567                                        NULL);
4568
4569   return offset;
4570 }
4571
4572
4573
4574 static int
4575 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_) {
4576   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4577                                        NULL);
4578
4579   return offset;
4580 }
4581
4582
4583
4584 static int
4585 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_) {
4586   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4587                                        NULL);
4588
4589   return offset;
4590 }
4591
4592
4593
4594 static int
4595 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_) {
4596   offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
4597
4598   return offset;
4599 }
4600
4601
4602
4603 static int
4604 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_) {
4605 #line 190 "ansi_map.cnf"
4606         tvbuff_t *parameter_tvb = NULL;
4607   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4608                                        &parameter_tvb);
4609
4610         if (parameter_tvb){
4611                 dissect_ansi_map_mscid(parameter_tvb,actx->pinfo,tree, actx);
4612         }
4613
4614
4615
4616   return offset;
4617 }
4618
4619
4620
4621 static int
4622 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_) {
4623   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4624                                        NULL);
4625
4626   return offset;
4627 }
4628
4629
4630
4631 static int
4632 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_) {
4633   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4634                                        NULL);
4635
4636   return offset;
4637 }
4638
4639
4640
4641 static int
4642 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_) {
4643   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4644
4645   return offset;
4646 }
4647
4648
4649
4650 static int
4651 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_) {
4652   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
4653
4654   return offset;
4655 }
4656
4657
4658
4659 static int
4660 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_) {
4661   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4662                                        NULL);
4663
4664   return offset;
4665 }
4666
4667
4668
4669 static int
4670 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_) {
4671   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4672                                        NULL);
4673
4674   return offset;
4675 }
4676
4677
4678 static const value_string ansi_map_SSDNotShared_vals[] = {
4679   {   0, "not-used" },
4680   {   1, "discard-SSD" },
4681   { 0, NULL }
4682 };
4683
4684
4685 static int
4686 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_) {
4687   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4688                                   NULL);
4689
4690   return offset;
4691 }
4692
4693
4694 static const value_string ansi_map_UpdateCount_vals[] = {
4695   {   0, "not-used" },
4696   {   1, "update-COUNT" },
4697   { 0, NULL }
4698 };
4699
4700
4701 static int
4702 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_) {
4703   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4704                                   NULL);
4705
4706   return offset;
4707 }
4708
4709
4710 static const ber_sequence_t AuthenticationDirective_U_set[] = {
4711   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
4712   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
4713   { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
4714   { &hf_ansi_map_authenticationResponseReauthentication, BER_CLASS_CON, 182, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseReauthentication },
4715   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
4716   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
4717   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
4718   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
4719   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
4720   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
4721   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
4722   { &hf_ansi_map_randomVariableReauthentication, BER_CLASS_CON, 191, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableReauthentication },
4723   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
4724   { &hf_ansi_map_mobileStationMIN, BER_CLASS_CON, 184, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationMIN },
4725   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
4726   { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
4727   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
4728   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
4729   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
4730   { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
4731   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
4732   { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
4733   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
4734   { NULL, 0, 0, 0, NULL }
4735 };
4736
4737 static int
4738 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_) {
4739   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4740                               AuthenticationDirective_U_set, hf_index, ett_ansi_map_AuthenticationDirective_U);
4741
4742   return offset;
4743 }
4744
4745
4746
4747 static int
4748 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_) {
4749   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4750                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirective_U);
4751
4752   return offset;
4753 }
4754
4755
4756 static const ber_sequence_t AuthenticationDirectiveRes_U_set[] = {
4757   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
4758   { NULL, 0, 0, 0, NULL }
4759 };
4760
4761 static int
4762 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_) {
4763   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4764                               AuthenticationDirectiveRes_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveRes_U);
4765
4766   return offset;
4767 }
4768
4769
4770
4771 static int
4772 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_) {
4773   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4774                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirectiveRes_U);
4775
4776   return offset;
4777 }
4778
4779
4780
4781 static int
4782 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_) {
4783 #line 165 "ansi_map.cnf"
4784         tvbuff_t *parameter_tvb = NULL;
4785   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4786                                        &parameter_tvb);
4787
4788         if (parameter_tvb){
4789                 dissect_ansi_map_intermsccircuitid(parameter_tvb,actx->pinfo,tree, actx);
4790         }
4791
4792
4793
4794   return offset;
4795 }
4796
4797
4798 static const ber_sequence_t AuthenticationDirectiveForward_U_set[] = {
4799   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
4800   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
4801   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
4802   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
4803   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
4804   { NULL, 0, 0, 0, NULL }
4805 };
4806
4807 static int
4808 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_) {
4809   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4810                               AuthenticationDirectiveForward_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveForward_U);
4811
4812   return offset;
4813 }
4814
4815
4816
4817 static int
4818 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_) {
4819   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4820                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirectiveForward_U);
4821
4822   return offset;
4823 }
4824
4825
4826
4827 static int
4828 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_) {
4829   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4830                                        NULL);
4831
4832   return offset;
4833 }
4834
4835
4836
4837 static int
4838 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_) {
4839   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4840                                        NULL);
4841
4842   return offset;
4843 }
4844
4845
4846 static const ber_sequence_t AuthenticationDirectiveForwardRes_U_set[] = {
4847   { &hf_ansi_map_countUpdateReport, BER_CLASS_CON, 138, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CountUpdateReport },
4848   { &hf_ansi_map_uniqueChallengeReport, BER_CLASS_CON, 124, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UniqueChallengeReport },
4849   { NULL, 0, 0, 0, NULL }
4850 };
4851
4852 static int
4853 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_) {
4854   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
4855                               AuthenticationDirectiveForwardRes_U_set, hf_index, ett_ansi_map_AuthenticationDirectiveForwardRes_U);
4856
4857   return offset;
4858 }
4859
4860
4861
4862 static int
4863 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_) {
4864   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4865                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationDirectiveForwardRes_U);
4866
4867   return offset;
4868 }
4869
4870
4871 static const value_string ansi_map_ReportType_vals[] = {
4872   {   0, "not-used" },
4873   {   1, "unspecified-security-violation" },
4874   {   2, "mSID-ESN-mismatch" },
4875   {   3, "rANDC-mismatch" },
4876   {   4, "reserved" },
4877   {   5, "sSD-update-failed" },
4878   {   6, "reserved" },
4879   {   7, "cOUNT-mismatch" },
4880   {   8, "reserved" },
4881   {   9, "unique-Challenge-failed" },
4882   {  10, "unsolicited-Base-Station-Challenge" },
4883   {  11, "sSD-Update-no-response" },
4884   {  12, "cOUNT-Update-no-response" },
4885   {  13, "unique-Challenge-no-response" },
4886   {  14, "aUTHR-mismatch" },
4887   {  15, "tERMTYP-mismatch" },
4888   {  16, "missing-authentication-parameters" },
4889   { 0, NULL }
4890 };
4891
4892
4893 static int
4894 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_) {
4895   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4896                                   NULL);
4897
4898   return offset;
4899 }
4900
4901
4902 static const value_string ansi_map_SystemAccessType_vals[] = {
4903   {   0, "not-used" },
4904   {   1, "unspecified" },
4905   {   2, "flash-request" },
4906   {   3, "autonomous-registration" },
4907   {   4, "call-origination" },
4908   {   5, "page-response" },
4909   {   6, "no-access" },
4910   {   7, "power-down-registration" },
4911   {   8, "sms-page-response" },
4912   {   9, "otasp" },
4913   { 0, NULL }
4914 };
4915
4916
4917 static int
4918 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_) {
4919   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4920                                   NULL);
4921
4922   return offset;
4923 }
4924
4925
4926
4927 static int
4928 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_) {
4929 #line 335 "ansi_map.cnf"
4930         tvbuff_t *parameter_tvb = NULL;
4931   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
4932                                        &parameter_tvb);
4933
4934         if (parameter_tvb){
4935                 dissect_ansi_map_systemcapabilities(parameter_tvb,actx->pinfo,tree, actx);
4936         }
4937
4938
4939
4940
4941   return offset;
4942 }
4943
4944
4945
4946 static int
4947 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_) {
4948   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4949                                                 NULL);
4950
4951   return offset;
4952 }
4953
4954
4955 static const value_string ansi_map_TerminalType_vals[] = {
4956   {   0, "not-used" },
4957   {   1, "not-distinguished" },
4958   {   2, "iS-54-B" },
4959   {   3, "iS-136" },
4960   {   4, "j-STD-011" },
4961   {   5, "iS-136-A-or-TIA-EIA-136-Revision-0" },
4962   {   6, "tIA-EIA-136-A" },
4963   {   7, "iA-EIA-136-B" },
4964   {  32, "iS-95" },
4965   {  33, "iS-95B" },
4966   {  34, "j-STD-008" },
4967   {  35, "tIA-EIA-95-B" },
4968   {  36, "iS-2000" },
4969   {  64, "iS-88" },
4970   {  65, "iS-94" },
4971   {  66, "iS-91" },
4972   {  67, "j-STD-014" },
4973   {  68, "tIA-EIA-553-A" },
4974   {  69, "iS-91-A" },
4975   { 0, NULL }
4976 };
4977
4978
4979 static int
4980 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_) {
4981   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4982                                   NULL);
4983
4984   return offset;
4985 }
4986
4987
4988 static const ber_sequence_t AuthenticationFailureReport_U_set[] = {
4989   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
4990   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
4991   { &hf_ansi_map_reportType , BER_CLASS_CON, 44, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReportType },
4992   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
4993   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
4994   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
4995   { &hf_ansi_map_callHistoryCountExpected, BER_CLASS_CON, 79, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCountExpected },
4996   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
4997   { &hf_ansi_map_reportType2, BER_CLASS_CON, 44, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReportType },
4998   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
4999   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
5000   { NULL, 0, 0, 0, NULL }
5001 };
5002
5003 static int
5004 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_) {
5005   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5006                               AuthenticationFailureReport_U_set, hf_index, ett_ansi_map_AuthenticationFailureReport_U);
5007
5008   return offset;
5009 }
5010
5011
5012
5013 static int
5014 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_) {
5015   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5016                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationFailureReport_U);
5017
5018   return offset;
5019 }
5020
5021
5022 static const ber_sequence_t AuthenticationFailureReportRes_U_set[] = {
5023   { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
5024   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
5025   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5026   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
5027   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
5028   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
5029   { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
5030   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
5031   { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
5032   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
5033   { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
5034   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
5035   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
5036   { NULL, 0, 0, 0, NULL }
5037 };
5038
5039 static int
5040 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_) {
5041   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5042                               AuthenticationFailureReportRes_U_set, hf_index, ett_ansi_map_AuthenticationFailureReportRes_U);
5043
5044   return offset;
5045 }
5046
5047
5048
5049 static int
5050 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_) {
5051   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5052                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationFailureReportRes_U);
5053
5054   return offset;
5055 }
5056
5057
5058
5059 static int
5060 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_) {
5061   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5062                                        NULL);
5063
5064   return offset;
5065 }
5066
5067
5068
5069 static int
5070 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_) {
5071   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5072                                        NULL);
5073
5074   return offset;
5075 }
5076
5077
5078
5079 static int
5080 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_) {
5081   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5082                                        NULL);
5083
5084   return offset;
5085 }
5086
5087
5088
5089 static int
5090 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_) {
5091 #line 119 "ansi_map.cnf"
5092         tvbuff_t *parameter_tvb = NULL;
5093   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5094                                        &parameter_tvb);
5095
5096         if (parameter_tvb){
5097                 dissect_ansi_map_confidentialitymodes(parameter_tvb,actx->pinfo,tree, actx);
5098         }
5099
5100
5101   return offset;
5102 }
5103
5104
5105
5106 static int
5107 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_) {
5108   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5109                                        NULL);
5110
5111   return offset;
5112 }
5113
5114
5115
5116 static int
5117 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_) {
5118   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
5119
5120   return offset;
5121 }
5122
5123
5124
5125 static int
5126 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_) {
5127 #line 246 "ansi_map.cnf"
5128         tvbuff_t *parameter_tvb = NULL;
5129   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5130                                        &parameter_tvb);
5131
5132         if (parameter_tvb){
5133                 dissect_ansi_map_pc_ssn(parameter_tvb,actx->pinfo,tree, actx);
5134         }
5135
5136
5137
5138   return offset;
5139 }
5140
5141
5142
5143 static int
5144 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_) {
5145   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5146                                        NULL);
5147
5148   return offset;
5149 }
5150
5151
5152
5153 static int
5154 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_) {
5155   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5156                                        NULL);
5157
5158   return offset;
5159 }
5160
5161
5162 static const value_string ansi_map_SuspiciousAccess_vals[] = {
5163   {   0, "not-used" },
5164   {   1, "anomalous-Digits" },
5165   {   2, "unspecified" },
5166   { 0, NULL }
5167 };
5168
5169
5170 static int
5171 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_) {
5172   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5173                                   NULL);
5174
5175   return offset;
5176 }
5177
5178
5179
5180 static int
5181 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_) {
5182 #line 352 "ansi_map.cnf"
5183         tvbuff_t *parameter_tvb = NULL;
5184   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5185                                        &parameter_tvb);
5186
5187         if (parameter_tvb){
5188                 dissect_ansi_map_transactioncapability(parameter_tvb,actx->pinfo,tree, actx);
5189         }
5190
5191
5192
5193   return offset;
5194 }
5195
5196
5197 static const ber_sequence_t AuthenticationRequest_U_set[] = {
5198   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5199   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
5200   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5201   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
5202   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
5203   { &hf_ansi_map_authenticationData, BER_CLASS_CON, 161, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationData },
5204   { &hf_ansi_map_authenticationResponse, BER_CLASS_CON, 35, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponse },
5205   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5206   { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
5207   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
5208   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
5209   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
5210   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
5211   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
5212   { &hf_ansi_map_serviceRedirectionCause, BER_CLASS_CON, 237, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionCause },
5213   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5214   { &hf_ansi_map_suspiciousAccess, BER_CLASS_CON, 285, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SuspiciousAccess },
5215   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
5216   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
5217   { NULL, 0, 0, 0, NULL }
5218 };
5219
5220 static int
5221 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_) {
5222   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5223                               AuthenticationRequest_U_set, hf_index, ett_ansi_map_AuthenticationRequest_U);
5224
5225   return offset;
5226 }
5227
5228
5229
5230 static int
5231 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_) {
5232   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5233                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationRequest_U);
5234
5235   return offset;
5236 }
5237
5238
5239
5240 static int
5241 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_) {
5242   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5243                                        NULL);
5244
5245   return offset;
5246 }
5247
5248
5249 static const ber_sequence_t AnalogRedirectRecord_sequence[] = {
5250   { &hf_ansi_map_analogRedirectInfo, BER_CLASS_CON, 224, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectInfo },
5251   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5252   { NULL, 0, 0, 0, NULL }
5253 };
5254
5255 static int
5256 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_) {
5257   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5258                                    AnalogRedirectRecord_sequence, hf_index, ett_ansi_map_AnalogRedirectRecord);
5259
5260   return offset;
5261 }
5262
5263
5264
5265 static int
5266 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_) {
5267   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5268                                        NULL);
5269
5270   return offset;
5271 }
5272
5273
5274
5275 static int
5276 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_) {
5277   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5278                                        NULL);
5279
5280   return offset;
5281 }
5282
5283
5284 static const ber_sequence_t CDMAChannelNumberList_item_sequence[] = {
5285   { &hf_ansi_map_cdmaChannelNumber, BER_CLASS_CON, 226, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelNumber },
5286   { &hf_ansi_map_cdmaChannelNumber2, BER_CLASS_CON, 226, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelNumber },
5287   { NULL, 0, 0, 0, NULL }
5288 };
5289
5290 static int
5291 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_) {
5292   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5293                                    CDMAChannelNumberList_item_sequence, hf_index, ett_ansi_map_CDMAChannelNumberList_item);
5294
5295   return offset;
5296 }
5297
5298
5299 static const ber_sequence_t CDMAChannelNumberList_sequence_of[1] = {
5300   { &hf_ansi_map_CDMAChannelNumberList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CDMAChannelNumberList_item },
5301 };
5302
5303 static int
5304 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_) {
5305   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
5306                                       CDMAChannelNumberList_sequence_of, hf_index, ett_ansi_map_CDMAChannelNumberList);
5307
5308   return offset;
5309 }
5310
5311
5312 static const ber_sequence_t CDMARedirectRecord_sequence[] = {
5313   { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
5314   { &hf_ansi_map_cdmaChannelNumberList, BER_CLASS_CON, 227, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelNumberList },
5315   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5316   { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
5317   { NULL, 0, 0, 0, NULL }
5318 };
5319
5320 static int
5321 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_) {
5322   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
5323                                    CDMARedirectRecord_sequence, hf_index, ett_ansi_map_CDMARedirectRecord);
5324
5325   return offset;
5326 }
5327
5328
5329
5330 static int
5331 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_) {
5332   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5333                                        NULL);
5334
5335   return offset;
5336 }
5337
5338
5339
5340 static int
5341 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_) {
5342   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5343                                        NULL);
5344
5345   return offset;
5346 }
5347
5348
5349
5350 static int
5351 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_) {
5352   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5353                                        NULL);
5354
5355   return offset;
5356 }
5357
5358
5359
5360 static int
5361 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_) {
5362   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5363                                        NULL);
5364
5365   return offset;
5366 }
5367
5368
5369 static const ber_sequence_t AuthenticationRequestRes_U_set[] = {
5370   { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
5371   { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
5372   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
5373   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5374   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
5375   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
5376   { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
5377   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
5378   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
5379   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
5380   { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
5381   { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
5382   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
5383   { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
5384   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
5385   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
5386   { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
5387   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
5388   { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
5389   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
5390   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
5391   { NULL, 0, 0, 0, NULL }
5392 };
5393
5394 static int
5395 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_) {
5396   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5397                               AuthenticationRequestRes_U_set, hf_index, ett_ansi_map_AuthenticationRequestRes_U);
5398
5399   return offset;
5400 }
5401
5402
5403
5404 static int
5405 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_) {
5406   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5407                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationRequestRes_U);
5408
5409   return offset;
5410 }
5411
5412
5413
5414 static int
5415 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_) {
5416   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5417                                        NULL);
5418
5419   return offset;
5420 }
5421
5422
5423
5424 static int
5425 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_) {
5426 #line 432 "ansi_map.cnf"
5427         tvbuff_t *parameter_tvb = NULL;
5428   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5429                                        &parameter_tvb);
5430
5431         if (parameter_tvb){
5432                 if (SMS_BearerData_tvb !=NULL)
5433                 {
5434                         ServiceIndicator = tvb_get_guint8(parameter_tvb,0);
5435                         switch(ServiceIndicator){
5436                                 case 1: /* CDMA OTASP Service */
5437                                 case 3: /* CDMA OTAPA Service */
5438                                         dissector_try_port(is683_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
5439                                         break;
5440                                 case 4: /* CDMA Position Determination Service */
5441                                         dissector_try_port(is801_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
5442                                         break;
5443                                 default:
5444                                         break;
5445                         }
5446                 }
5447         }
5448          
5449
5450
5451   return offset;
5452 }
5453
5454
5455
5456 static int
5457 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_) {
5458   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5459                                        NULL);
5460
5461   return offset;
5462 }
5463
5464
5465
5466 static int
5467 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_) {
5468   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5469                                        NULL);
5470
5471   return offset;
5472 }
5473
5474
5475
5476 static int
5477 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_) {
5478   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5479                                        NULL);
5480
5481   return offset;
5482 }
5483
5484
5485 static const ber_sequence_t AuthenticationStatusReport_U_set[] = {
5486   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5487   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
5488   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
5489   { &hf_ansi_map_countUpdateReport, BER_CLASS_CON, 138, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CountUpdateReport },
5490   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
5491   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
5492   { &hf_ansi_map_reauthenticationReport, BER_CLASS_CON, 192, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReauthenticationReport },
5493   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5494   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
5495   { &hf_ansi_map_signalingMessageEncryptionReport, BER_CLASS_CON, 194, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionReport },
5496   { &hf_ansi_map_ssdUpdateReport, BER_CLASS_CON, 156, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDUpdateReport },
5497   { &hf_ansi_map_uniqueChallengeReport, BER_CLASS_CON, 124, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UniqueChallengeReport },
5498   { &hf_ansi_map_voicePrivacyReport, BER_CLASS_CON, 196, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyReport },
5499   { NULL, 0, 0, 0, NULL }
5500 };
5501
5502 static int
5503 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_) {
5504   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5505                               AuthenticationStatusReport_U_set, hf_index, ett_ansi_map_AuthenticationStatusReport_U);
5506
5507   return offset;
5508 }
5509
5510
5511
5512 static int
5513 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_) {
5514   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5515                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationStatusReport_U);
5516
5517   return offset;
5518 }
5519
5520
5521 static const ber_sequence_t AuthenticationStatusReportRes_U_set[] = {
5522   { &hf_ansi_map_authenticationAlgorithmVersion, BER_CLASS_CON, 77, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationAlgorithmVersion },
5523   { &hf_ansi_map_authenticationResponseUniqueChallenge, BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseUniqueChallenge },
5524   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5525   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
5526   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
5527   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
5528   { &hf_ansi_map_randomVariableSSD, BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableSSD },
5529   { &hf_ansi_map_randomVariableUniqueChallenge, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableUniqueChallenge },
5530   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
5531   { &hf_ansi_map_sharedSecretData, BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SharedSecretData },
5532   { &hf_ansi_map_ssdnotShared, BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDNotShared },
5533   { &hf_ansi_map_updateCount, BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UpdateCount },
5534   { NULL, 0, 0, 0, NULL }
5535 };
5536
5537 static int
5538 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_) {
5539   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5540                               AuthenticationStatusReportRes_U_set, hf_index, ett_ansi_map_AuthenticationStatusReportRes_U);
5541
5542   return offset;
5543 }
5544
5545
5546
5547 static int
5548 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_) {
5549   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5550                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AuthenticationStatusReportRes_U);
5551
5552   return offset;
5553 }
5554
5555
5556
5557 static int
5558 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_) {
5559   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5560                                        NULL);
5561
5562   return offset;
5563 }
5564
5565
5566 static const ber_sequence_t BaseStationChallenge_U_set[] = {
5567   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5568   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
5569   { &hf_ansi_map_randomVariableBaseStation, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableBaseStation },
5570   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5571   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
5572   { NULL, 0, 0, 0, NULL }
5573 };
5574
5575 static int
5576 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_) {
5577   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5578                               BaseStationChallenge_U_set, hf_index, ett_ansi_map_BaseStationChallenge_U);
5579
5580   return offset;
5581 }
5582
5583
5584
5585 static int
5586 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_) {
5587   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5588                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BaseStationChallenge_U);
5589
5590   return offset;
5591 }
5592
5593
5594
5595 static int
5596 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_) {
5597   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5598                                        NULL);
5599
5600   return offset;
5601 }
5602
5603
5604 static const ber_sequence_t BaseStationChallengeRes_U_set[] = {
5605   { &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
5606   { NULL, 0, 0, 0, NULL }
5607 };
5608
5609 static int
5610 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_) {
5611   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5612                               BaseStationChallengeRes_U_set, hf_index, ett_ansi_map_BaseStationChallengeRes_U);
5613
5614   return offset;
5615 }
5616
5617
5618
5619 static int
5620 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_) {
5621   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5622                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BaseStationChallengeRes_U);
5623
5624   return offset;
5625 }
5626
5627
5628 static const ber_sequence_t Blocking_U_set[] = {
5629   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
5630   { NULL, 0, 0, 0, NULL }
5631 };
5632
5633 static int
5634 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_) {
5635   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5636                               Blocking_U_set, hf_index, ett_ansi_map_Blocking_U);
5637
5638   return offset;
5639 }
5640
5641
5642
5643 static int
5644 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_) {
5645   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5646                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Blocking_U);
5647
5648   return offset;
5649 }
5650
5651
5652 static const ber_sequence_t BulkDeregistration_U_set[] = {
5653   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5654   { NULL, 0, 0, 0, NULL }
5655 };
5656
5657 static int
5658 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_) {
5659   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5660                               BulkDeregistration_U_set, hf_index, ett_ansi_map_BulkDeregistration_U);
5661
5662   return offset;
5663 }
5664
5665
5666
5667 static int
5668 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_) {
5669   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5670                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BulkDeregistration_U);
5671
5672   return offset;
5673 }
5674
5675
5676 static const ber_sequence_t CountRequest_U_set[] = {
5677   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5678   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
5679   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
5680   { NULL, 0, 0, 0, NULL }
5681 };
5682
5683 static int
5684 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_) {
5685   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5686                               CountRequest_U_set, hf_index, ett_ansi_map_CountRequest_U);
5687
5688   return offset;
5689 }
5690
5691
5692
5693 static int
5694 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_) {
5695   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5696                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CountRequest_U);
5697
5698   return offset;
5699 }
5700
5701
5702 static const ber_sequence_t CountRequestRes_U_set[] = {
5703   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
5704   { NULL, 0, 0, 0, NULL }
5705 };
5706
5707 static int
5708 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_) {
5709   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5710                               CountRequestRes_U_set, hf_index, ett_ansi_map_CountRequestRes_U);
5711
5712   return offset;
5713 }
5714
5715
5716
5717 static int
5718 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_) {
5719   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5720                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CountRequestRes_U);
5721
5722   return offset;
5723 }
5724
5725
5726
5727 static int
5728 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_) {
5729 #line 73 "ansi_map.cnf"
5730         tvbuff_t *parameter_tvb = NULL;
5731   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5732                                        &parameter_tvb);
5733
5734         if (parameter_tvb){
5735                 dissect_ansi_map_billingid(parameter_tvb,actx->pinfo,tree, actx);
5736         }
5737
5738
5739
5740   return offset;
5741 }
5742
5743
5744
5745 static int
5746 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_) {
5747 #line 111 "ansi_map.cnf"
5748         tvbuff_t *parameter_tvb = NULL;
5749   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5750                                        &parameter_tvb);
5751
5752         if (parameter_tvb){
5753                 dissect_ansi_map_channeldata(parameter_tvb,actx->pinfo,tree, actx);
5754         }
5755
5756
5757
5758   return offset;
5759 }
5760
5761
5762
5763 static int
5764 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_) {
5765   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5766                                                 NULL);
5767
5768   return offset;
5769 }
5770
5771
5772
5773 static int
5774 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_) {
5775   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5776                                        NULL);
5777
5778   return offset;
5779 }
5780
5781
5782
5783 static int
5784 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_) {
5785   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5786                                        NULL);
5787
5788   return offset;
5789 }
5790
5791
5792
5793 static int
5794 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_) {
5795   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5796                                        NULL);
5797
5798   return offset;
5799 }
5800
5801
5802 static const value_string ansi_map_HandoffReason_vals[] = {
5803   {   0, "not-used" },
5804   {   1, "unspecified" },
5805   {   2, "weak-Signal" },
5806   {   3, "off-loading" },
5807   {   4, "anticipatory" },
5808   { 0, NULL }
5809 };
5810
5811
5812 static int
5813 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_) {
5814   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
5815                                   NULL);
5816
5817   return offset;
5818 }
5819
5820
5821
5822 static int
5823 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_) {
5824 #line 157 "ansi_map.cnf"
5825         tvbuff_t *parameter_tvb = NULL;
5826   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5827                                        &parameter_tvb);
5828
5829         if (parameter_tvb){
5830                 dissect_ansi_map_handoffstate(parameter_tvb,actx->pinfo,tree, actx);
5831         }
5832
5833
5834
5835   return offset;
5836 }
5837
5838
5839
5840 static int
5841 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_) {
5842   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5843                                        NULL);
5844
5845   return offset;
5846 }
5847
5848
5849
5850 static int
5851 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_) {
5852   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5853                                        NULL);
5854
5855   return offset;
5856 }
5857
5858
5859
5860 static int
5861 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_) {
5862   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5863                                        NULL);
5864
5865   return offset;
5866 }
5867
5868
5869 static const ber_sequence_t FacilitiesDirective_U_set[] = {
5870   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
5871   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
5872   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
5873   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
5874   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
5875   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
5876   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
5877   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
5878   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
5879   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
5880   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
5881   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
5882   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
5883   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
5884   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
5885   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
5886   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
5887   { NULL, 0, 0, 0, NULL }
5888 };
5889
5890 static int
5891 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_) {
5892   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5893                               FacilitiesDirective_U_set, hf_index, ett_ansi_map_FacilitiesDirective_U);
5894
5895   return offset;
5896 }
5897
5898
5899
5900 static int
5901 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_) {
5902   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5903                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirective_U);
5904
5905   return offset;
5906 }
5907
5908
5909 static const ber_sequence_t FacilitiesDirectiveRes_U_set[] = {
5910   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
5911   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
5912   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
5913   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
5914   { NULL, 0, 0, 0, NULL }
5915 };
5916
5917 static int
5918 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_) {
5919   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
5920                               FacilitiesDirectiveRes_U_set, hf_index, ett_ansi_map_FacilitiesDirectiveRes_U);
5921
5922   return offset;
5923 }
5924
5925
5926
5927 static int
5928 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_) {
5929   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
5930                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirectiveRes_U);
5931
5932   return offset;
5933 }
5934
5935
5936
5937 static int
5938 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_) {
5939   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5940                                        NULL);
5941
5942   return offset;
5943 }
5944
5945
5946
5947 static int
5948 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_) {
5949 #line 48 "ansi_map.cnf"
5950         tvbuff_t *parameter_tvb = NULL;
5951   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5952                                        &parameter_tvb);
5953
5954         if (parameter_tvb){
5955                 dissect_ansi_map_alertcode(parameter_tvb,actx->pinfo,tree, actx);
5956         }
5957
5958
5959
5960   return offset;
5961 }
5962
5963
5964
5965 static int
5966 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_) {
5967 #line 410 "ansi_map.cnf"
5968         tvbuff_t *parameter_tvb = NULL;
5969     proto_tree *subtree;
5970
5971   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5972                                        &parameter_tvb);
5973
5974         if (parameter_tvb){
5975                 subtree = proto_item_add_subtree(actx->created_item, ett_CDMA2000HandoffInvokeIOSData);
5976                 dissect_cdma2000_a1_elements(parameter_tvb, actx->pinfo, subtree, 
5977                         0, tvb_length_remaining(parameter_tvb,0));
5978         }
5979
5980
5981   return offset;
5982 }
5983
5984
5985
5986 static int
5987 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_) {
5988   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5989                                        NULL);
5990
5991   return offset;
5992 }
5993
5994
5995
5996 static int
5997 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_) {
5998   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
5999                                        NULL);
6000
6001   return offset;
6002 }
6003
6004
6005 static const ber_sequence_t CDMABandClassInformation_sequence[] = {
6006   { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
6007   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
6008   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
6009   { NULL, 0, 0, 0, NULL }
6010 };
6011
6012 static int
6013 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_) {
6014   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6015                                    CDMABandClassInformation_sequence, hf_index, ett_ansi_map_CDMABandClassInformation);
6016
6017   return offset;
6018 }
6019
6020
6021 static const ber_sequence_t CDMABandClassList_sequence_of[1] = {
6022   { &hf_ansi_map_CDMABandClassList_item, BER_CLASS_CON, 171, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassInformation },
6023 };
6024
6025 static int
6026 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_) {
6027   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6028                                       CDMABandClassList_sequence_of, hf_index, ett_ansi_map_CDMABandClassList);
6029
6030   return offset;
6031 }
6032
6033
6034
6035 static int
6036 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_) {
6037 #line 88 "ansi_map.cnf"
6038         tvbuff_t *parameter_tvb = NULL;
6039   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6040                                        &parameter_tvb);
6041
6042         if (parameter_tvb){
6043                 dissect_ansi_map_cdmacallmode(parameter_tvb,actx->pinfo,tree, actx);
6044         }
6045
6046
6047   return offset;
6048 }
6049
6050
6051
6052 static int
6053 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_) {
6054 #line 95 "ansi_map.cnf"
6055         tvbuff_t *parameter_tvb = NULL;
6056   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6057                                        &parameter_tvb);
6058
6059         if (parameter_tvb){
6060                 dissect_ansi_map_cdmachanneldata(parameter_tvb,actx->pinfo,tree, actx);
6061         }
6062
6063
6064
6065   return offset;
6066 }
6067
6068
6069
6070 static int
6071 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_) {
6072   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6073                                        NULL);
6074
6075   return offset;
6076 }
6077
6078
6079
6080 static int
6081 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_) {
6082 #line 360 "ansi_map.cnf"
6083         tvbuff_t *parameter_tvb = NULL;
6084   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6085                                        &parameter_tvb);
6086
6087         if (parameter_tvb){
6088                 dissect_ansi_map_cdmaserviceoption(parameter_tvb,actx->pinfo,tree, actx);
6089         }
6090
6091
6092
6093
6094   return offset;
6095 }
6096
6097
6098
6099 static int
6100 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_) {
6101   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6102                                        NULL);
6103
6104   return offset;
6105 }
6106
6107
6108
6109 static int
6110 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_) {
6111   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6112                                        NULL);
6113
6114   return offset;
6115 }
6116
6117
6118
6119 static int
6120 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_) {
6121   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6122                                        NULL);
6123
6124   return offset;
6125 }
6126
6127
6128 static const ber_sequence_t CDMAConnectionReferenceInformation_sequence[] = {
6129   { &hf_ansi_map_cdmaConnectionReference, BER_CLASS_CON, 208, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReference },
6130   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
6131   { &hf_ansi_map_cdmaState  , BER_CLASS_CON, 213, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAState },
6132   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
6133   { &hf_ansi_map_cdmaServiceOptionConnectionIdentifier, BER_CLASS_CON, 361, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionConnectionIdentifier },
6134   { NULL, 0, 0, 0, NULL }
6135 };
6136
6137 static int
6138 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_) {
6139   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6140                                    CDMAConnectionReferenceInformation_sequence, hf_index, ett_ansi_map_CDMAConnectionReferenceInformation);
6141
6142   return offset;
6143 }
6144
6145
6146 static const ber_sequence_t CDMAConnectionReferenceList_item_sequence[] = {
6147   { &hf_ansi_map_cdmaConnectionReferenceInformation, BER_CLASS_CON, 211, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceInformation },
6148   { &hf_ansi_map_cdmaConnectionReferenceInformation2, BER_CLASS_CON, 211, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceInformation },
6149   { NULL, 0, 0, 0, NULL }
6150 };
6151
6152 static int
6153 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_) {
6154   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6155                                    CDMAConnectionReferenceList_item_sequence, hf_index, ett_ansi_map_CDMAConnectionReferenceList_item);
6156
6157   return offset;
6158 }
6159
6160
6161 static const ber_sequence_t CDMAConnectionReferenceList_sequence_of[1] = {
6162   { &hf_ansi_map_CDMAConnectionReferenceList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CDMAConnectionReferenceList_item },
6163 };
6164
6165 static int
6166 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_) {
6167   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6168                                       CDMAConnectionReferenceList_sequence_of, hf_index, ett_ansi_map_CDMAConnectionReferenceList);
6169
6170   return offset;
6171 }
6172
6173
6174
6175 static int
6176 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_) {
6177   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6178                                        NULL);
6179
6180   return offset;
6181 }
6182
6183
6184
6185 static int
6186 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_) {
6187   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6188                                        NULL);
6189
6190   return offset;
6191 }
6192
6193
6194 static const ber_sequence_t CDMAServiceOptionList_sequence_of[1] = {
6195   { &hf_ansi_map_CDMAServiceOptionList_item, BER_CLASS_CON, 175, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
6196 };
6197
6198 static int
6199 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_) {
6200   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6201                                       CDMAServiceOptionList_sequence_of, hf_index, ett_ansi_map_CDMAServiceOptionList);
6202
6203   return offset;
6204 }
6205
6206
6207
6208 static int
6209 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_) {
6210   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6211                                        NULL);
6212
6213   return offset;
6214 }
6215
6216
6217
6218 static int
6219 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_) {
6220 #line 103 "ansi_map.cnf"
6221         tvbuff_t *parameter_tvb = NULL;
6222   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6223                                        &parameter_tvb);
6224
6225         if (parameter_tvb){
6226                 dissect_ansi_map_cdmastationclassmark(parameter_tvb,actx->pinfo,tree, actx);
6227         }
6228
6229
6230
6231   return offset;
6232 }
6233
6234
6235
6236 static int
6237 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_) {
6238   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6239                                        NULL);
6240
6241   return offset;
6242 }
6243
6244
6245
6246 static int
6247 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_) {
6248   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6249                                        NULL);
6250
6251   return offset;
6252 }
6253
6254
6255 static const ber_sequence_t CDMATargetMAHOInformation_sequence[] = {
6256   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6257   { &hf_ansi_map_cdmaPilotStrength, BER_CLASS_CON, 65, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPilotStrength },
6258   { &hf_ansi_map_cdmaTargetOneWayDelay, BER_CLASS_CON, 61, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetOneWayDelay },
6259   { NULL, 0, 0, 0, NULL }
6260 };
6261
6262 static int
6263 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_) {
6264   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6265                                    CDMATargetMAHOInformation_sequence, hf_index, ett_ansi_map_CDMATargetMAHOInformation);
6266
6267   return offset;
6268 }
6269
6270
6271 static const ber_sequence_t CDMATargetMAHOList_sequence_of[1] = {
6272   { &hf_ansi_map_CDMATargetMAHOList_item, BER_CLASS_CON, 135, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOInformation },
6273 };
6274
6275 static int
6276 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_) {
6277   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6278                                       CDMATargetMAHOList_sequence_of, hf_index, ett_ansi_map_CDMATargetMAHOList);
6279
6280   return offset;
6281 }
6282
6283
6284
6285 static int
6286 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_) {
6287   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6288                                        NULL);
6289
6290   return offset;
6291 }
6292
6293
6294 static const ber_sequence_t CDMATargetMeasurementInformation_sequence[] = {
6295   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6296   { &hf_ansi_map_cdmaSignalQuality, BER_CLASS_CON, 64, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASignalQuality },
6297   { &hf_ansi_map_cdmaTargetOneWayDelay, BER_CLASS_CON, 61, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetOneWayDelay },
6298   { NULL, 0, 0, 0, NULL }
6299 };
6300
6301 static int
6302 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_) {
6303   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6304                                    CDMATargetMeasurementInformation_sequence, hf_index, ett_ansi_map_CDMATargetMeasurementInformation);
6305
6306   return offset;
6307 }
6308
6309
6310 static const ber_sequence_t CDMATargetMeasurementList_sequence_of[1] = {
6311   { &hf_ansi_map_CDMATargetMeasurementList_item, BER_CLASS_CON, 133, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementInformation },
6312 };
6313
6314 static int
6315 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_) {
6316   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6317                                       CDMATargetMeasurementList_sequence_of, hf_index, ett_ansi_map_CDMATargetMeasurementList);
6318
6319   return offset;
6320 }
6321
6322
6323
6324 static int
6325 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_) {
6326   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6327                                        NULL);
6328
6329   return offset;
6330 }
6331
6332
6333
6334 static int
6335 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_) {
6336 #line 198 "ansi_map.cnf"
6337         tvbuff_t *parameter_tvb = NULL;
6338   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6339                                        &parameter_tvb);
6340
6341         if (parameter_tvb){
6342                 dissect_ansi_map_mslocation(parameter_tvb,actx->pinfo,tree, actx);
6343         }
6344
6345
6346
6347   return offset;
6348 }
6349
6350
6351
6352 static int
6353 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_) {
6354 #line 206 "ansi_map.cnf"
6355         tvbuff_t *parameter_tvb = NULL;
6356   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6357                                        &parameter_tvb);
6358
6359         if (parameter_tvb){
6360                 dissect_ansi_map_nampscallmode(parameter_tvb,actx->pinfo,tree, actx);
6361         }
6362
6363
6364
6365   return offset;
6366 }
6367
6368
6369
6370 static int
6371 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_) {
6372 #line 214 "ansi_map.cnf"
6373         tvbuff_t *parameter_tvb = NULL;
6374   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6375                                        &parameter_tvb);
6376
6377         if (parameter_tvb){
6378                 dissect_ansi_map_nampschanneldata(parameter_tvb,actx->pinfo,tree, actx);
6379         }
6380
6381
6382
6383   return offset;
6384 }
6385
6386
6387
6388 static int
6389 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_) {
6390   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6391                                        NULL);
6392
6393   return offset;
6394 }
6395
6396
6397
6398 static int
6399 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_) {
6400   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6401                                        NULL);
6402
6403   return offset;
6404 }
6405
6406
6407
6408 static int
6409 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_) {
6410   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6411                                        NULL);
6412
6413   return offset;
6414 }
6415
6416
6417
6418 static int
6419 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_) {
6420   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6421                                        NULL);
6422
6423   return offset;
6424 }
6425
6426
6427
6428 static int
6429 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_) {
6430   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6431                                        NULL);
6432
6433   return offset;
6434 }
6435
6436
6437
6438 static int
6439 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_) {
6440   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6441                                        NULL);
6442
6443   return offset;
6444 }
6445
6446
6447
6448 static int
6449 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_) {
6450   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6451                                        NULL);
6452
6453   return offset;
6454 }
6455
6456
6457
6458 static int
6459 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_) {
6460   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6461                                        NULL);
6462
6463   return offset;
6464 }
6465
6466
6467
6468 static int
6469 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_) {
6470   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6471                                        NULL);
6472
6473   return offset;
6474 }
6475
6476
6477
6478 static int
6479 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_) {
6480   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6481                                        NULL);
6482
6483   return offset;
6484 }
6485
6486
6487 static const ber_sequence_t FacilitiesDirective2_U_set[] = {
6488   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
6489   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
6490   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
6491   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
6492   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
6493   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
6494   { &hf_ansi_map_baseStationManufacturerCode, BER_CLASS_CON, 197, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationManufacturerCode },
6495   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
6496   { &hf_ansi_map_cdma2000HandoffInvokeIOSData, BER_CLASS_CON, 356, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffInvokeIOSData },
6497   { &hf_ansi_map_cdmaBandClassList, BER_CLASS_CON, 172, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassList },
6498   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
6499   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
6500   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
6501   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
6502   { &hf_ansi_map_cdmaMSMeasuredChannelIdentity, BER_CLASS_CON, 351, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMSMeasuredChannelIdentity },
6503   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
6504   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
6505   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
6506   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
6507   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
6508   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
6509   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
6510   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
6511   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
6512   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
6513   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
6514   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
6515   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
6516   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
6517   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
6518   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
6519   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
6520   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
6521   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
6522   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
6523   { &hf_ansi_map_pdsnAddress, BER_CLASS_CON, 349, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNAddress },
6524   { &hf_ansi_map_pdsnProtocolType, BER_CLASS_CON, 350, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNProtocolType },
6525   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
6526   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
6527   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
6528   { &hf_ansi_map_systemOperatorCode, BER_CLASS_CON, 206, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemOperatorCode },
6529   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6530   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
6531   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
6532   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
6533   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
6534   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
6535   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL, dissect_ansi_map_TDMATerminalCapability },
6536   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
6537   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
6538   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
6539   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
6540   { NULL, 0, 0, 0, NULL }
6541 };
6542
6543 static int
6544 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_) {
6545   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6546                               FacilitiesDirective2_U_set, hf_index, ett_ansi_map_FacilitiesDirective2_U);
6547
6548   return offset;
6549 }
6550
6551
6552
6553 static int
6554 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_) {
6555   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6556                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirective2_U);
6557
6558   return offset;
6559 }
6560
6561
6562
6563 static int
6564 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_) {
6565   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6566                                        NULL);
6567
6568   return offset;
6569 }
6570
6571
6572
6573 static int
6574 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_) {
6575 #line 421 "ansi_map.cnf"
6576         tvbuff_t *parameter_tvb = NULL;
6577     proto_tree *subtree;
6578
6579   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6580                                        &parameter_tvb);
6581
6582         if (parameter_tvb){
6583                 subtree = proto_item_add_subtree(actx->created_item, ett_CDMA2000HandoffResponseIOSData);
6584                 dissect_cdma2000_a1_elements(parameter_tvb, actx->pinfo, subtree, 
6585                         0, tvb_length_remaining(parameter_tvb,0));
6586         }
6587
6588
6589   return offset;
6590 }
6591
6592
6593
6594 static int
6595 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_) {
6596   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6597                                        NULL);
6598
6599   return offset;
6600 }
6601
6602
6603
6604 static int
6605 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_) {
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_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_) {
6616   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6617                                        NULL);
6618
6619   return offset;
6620 }
6621
6622
6623 static const ber_sequence_t CDMACodeChannelInformation_sequence[] = {
6624   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6625   { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
6626   { &hf_ansi_map_cdmaPilotPN, BER_CLASS_CON, 173, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPilotPN },
6627   { &hf_ansi_map_cdmaPowerCombinedIndicator, BER_CLASS_CON, 228, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPowerCombinedIndicator },
6628   { NULL, 0, 0, 0, NULL }
6629 };
6630
6631 static int
6632 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_) {
6633   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
6634                                    CDMACodeChannelInformation_sequence, hf_index, ett_ansi_map_CDMACodeChannelInformation);
6635
6636   return offset;
6637 }
6638
6639
6640 static const ber_sequence_t CDMACodeChannelList_sequence_of[1] = {
6641   { &hf_ansi_map_CDMACodeChannelList_item, BER_CLASS_CON, 131, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelInformation },
6642 };
6643
6644 static int
6645 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_) {
6646   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
6647                                       CDMACodeChannelList_sequence_of, hf_index, ett_ansi_map_CDMACodeChannelList);
6648
6649   return offset;
6650 }
6651
6652
6653
6654 static int
6655 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_) {
6656   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6657                                        NULL);
6658
6659   return offset;
6660 }
6661
6662
6663
6664 static int
6665 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_) {
6666   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6667                                        NULL);
6668
6669   return offset;
6670 }
6671
6672
6673
6674 static int
6675 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_) {
6676   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6677                                        NULL);
6678
6679   return offset;
6680 }
6681
6682
6683 static const ber_sequence_t FacilitiesDirective2Res_U_set[] = {
6684   { &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
6685   { &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
6686   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
6687   { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
6688   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
6689   { &hf_ansi_map_cdmaSearchParameters, BER_CLASS_CON, 230, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchParameters },
6690   { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
6691   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
6692   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
6693   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
6694   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
6695   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
6696   { &hf_ansi_map_sOCStatus  , BER_CLASS_CON, 205, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SOCStatus },
6697   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6698   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
6699   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
6700   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
6701   { NULL, 0, 0, 0, NULL }
6702 };
6703
6704 static int
6705 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_) {
6706   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6707                               FacilitiesDirective2Res_U_set, hf_index, ett_ansi_map_FacilitiesDirective2Res_U);
6708
6709   return offset;
6710 }
6711
6712
6713
6714 static int
6715 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_) {
6716   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6717                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesDirective2Res_U);
6718
6719   return offset;
6720 }
6721
6722
6723 static const value_string ansi_map_ReleaseReason_vals[] = {
6724   {   0, "unspecified" },
6725   {   1, "callOverClearForward" },
6726   {   2, "callOverClearBackward" },
6727   {   3, "handoffSuccessful" },
6728   {   4, "handoffAbort-call-over" },
6729   {   5, "handoffAbort-not-received" },
6730   {   6, "abnormalMobileTermination" },
6731   {   7, "abnormalSwitchTermination" },
6732   {   8, "specialFeatureRelease" },
6733   {   9, "sessionOverClearForward" },
6734   {  10, "sessionOverClearBackward" },
6735   {  11, "clearAllServicesForward" },
6736   {  12, "clearAllServicesBackward" },
6737   {  13, "anchor-MSC-was-removed-from-the-packet-data-session" },
6738   {  14, "keep-MS-on-traffic-channel" },
6739   { 0, NULL }
6740 };
6741
6742
6743 static int
6744 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_) {
6745   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6746                                   NULL);
6747
6748   return offset;
6749 }
6750
6751
6752 static const ber_sequence_t FacilitiesRelease_U_set[] = {
6753   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
6754   { &hf_ansi_map_releaseReason, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseReason },
6755   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
6756   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
6757   { NULL, 0, 0, 0, NULL }
6758 };
6759
6760 static int
6761 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_) {
6762   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6763                               FacilitiesRelease_U_set, hf_index, ett_ansi_map_FacilitiesRelease_U);
6764
6765   return offset;
6766 }
6767
6768
6769
6770 static int
6771 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_) {
6772   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6773                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesRelease_U);
6774
6775   return offset;
6776 }
6777
6778
6779 static const ber_sequence_t FacilitiesReleaseRes_U_set[] = {
6780   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
6781   { NULL, 0, 0, 0, NULL }
6782 };
6783
6784 static int
6785 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_) {
6786   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6787                               FacilitiesReleaseRes_U_set, hf_index, ett_ansi_map_FacilitiesReleaseRes_U);
6788
6789   return offset;
6790 }
6791
6792
6793
6794 static int
6795 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_) {
6796   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6797                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitiesReleaseRes_U);
6798
6799   return offset;
6800 }
6801
6802
6803
6804 static int
6805 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_) {
6806   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6807                                        NULL);
6808
6809   return offset;
6810 }
6811
6812
6813
6814 static int
6815 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_) {
6816 #line 371 "ansi_map.cnf"
6817         tvbuff_t *parameter_tvb = NULL;
6818   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6819                                        &parameter_tvb);
6820
6821         if (parameter_tvb){
6822                 dissect_ansi_map_callingpartyname(parameter_tvb,actx->pinfo,tree, actx);
6823         }
6824
6825
6826
6827   return offset;
6828 }
6829
6830
6831
6832 static int
6833 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_) {
6834   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6835
6836   return offset;
6837 }
6838
6839
6840
6841 static int
6842 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_) {
6843   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6844
6845   return offset;
6846 }
6847
6848
6849
6850 static int
6851 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_) {
6852 #line 40 "ansi_map.cnf"
6853         tvbuff_t *parameter_tvb = NULL;
6854   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6855                                        &parameter_tvb);
6856
6857         if (parameter_tvb){
6858                 dissect_ansi_map_subaddress(parameter_tvb,actx->pinfo,tree, actx);
6859         }
6860
6861
6862
6863   return offset;
6864 }
6865
6866
6867
6868 static int
6869 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_) {
6870   offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
6871
6872   return offset;
6873 }
6874
6875
6876
6877 static int
6878 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_) {
6879   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6880                                        NULL);
6881
6882   return offset;
6883 }
6884
6885
6886
6887 static int
6888 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_) {
6889   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6890
6891   return offset;
6892 }
6893
6894
6895
6896 static int
6897 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_) {
6898   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
6899
6900   return offset;
6901 }
6902
6903
6904
6905 static int
6906 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_) {
6907 #line 222 "ansi_map.cnf"
6908         tvbuff_t *parameter_tvb = NULL;
6909   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
6910                                        &parameter_tvb);
6911
6912         if (parameter_tvb){
6913                 dissect_ansi_map_onetimefeatureindicator(parameter_tvb,actx->pinfo,tree, actx);
6914         }
6915
6916
6917
6918   return offset;
6919 }
6920
6921
6922 static const ber_sequence_t FeatureRequest_U_set[] = {
6923   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
6924   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
6925   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
6926   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
6927   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
6928   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
6929   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
6930   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
6931   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
6932   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
6933   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
6934   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
6935   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
6936   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
6937   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
6938   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
6939   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
6940   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
6941   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
6942   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
6943   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
6944   { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
6945   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
6946   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
6947   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
6948   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
6949   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
6950   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
6951   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
6952   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
6953   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
6954   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
6955   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
6956   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
6957   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
6958   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
6959   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
6960   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
6961   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
6962   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
6963   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
6964   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
6965   { NULL, 0, 0, 0, NULL }
6966 };
6967
6968 static int
6969 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_) {
6970   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
6971                               FeatureRequest_U_set, hf_index, ett_ansi_map_FeatureRequest_U);
6972
6973   return offset;
6974 }
6975
6976
6977
6978 static int
6979 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_) {
6980   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
6981                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FeatureRequest_U);
6982
6983   return offset;
6984 }
6985
6986
6987 static const value_string ansi_map_FeatureResult_vals[] = {
6988   {   0, "not-used" },
6989   {   1, "unsuccessful" },
6990   {   2, "successful" },
6991   { 0, NULL }
6992 };
6993
6994
6995 static int
6996 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_) {
6997   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
6998                                   NULL);
6999
7000   return offset;
7001 }
7002
7003
7004 static const value_string ansi_map_AccessDeniedReason_vals[] = {
7005   {   0, "not-used" },
7006   {   1, "unassigned-directory-number" },
7007   {   2, "inactive" },
7008   {   3, "busy" },
7009   {   4, "termination-denied" },
7010   {   5, "no-page-response" },
7011   {   6, "unavailable" },
7012   {   7, "service-Rejected-by-MS" },
7013   {   8, "services-Rejected-by-the-System" },
7014   {   9, "service-Type-Mismatch" },
7015   {  10, "service-Denied" },
7016   {  12, "position-Determination-Not-Supported" },
7017   { 0, NULL }
7018 };
7019
7020
7021 static int
7022 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_) {
7023   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7024                                   NULL);
7025
7026   return offset;
7027 }
7028
7029
7030
7031 static int
7032 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_) {
7033   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7034                                        NULL);
7035
7036   return offset;
7037 }
7038
7039
7040
7041 static int
7042 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_) {
7043 #line 56 "ansi_map.cnf"
7044         tvbuff_t *parameter_tvb = NULL;
7045   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7046                                        &parameter_tvb);
7047
7048         if (parameter_tvb){
7049                 dissect_ansi_map_announcementcode(parameter_tvb,actx->pinfo,tree, actx);
7050         }
7051
7052
7053
7054   return offset;
7055 }
7056
7057
7058 static const ber_sequence_t AnnouncementList_sequence[] = {
7059   { &hf_ansi_map_announcementCode1, BER_CLASS_CON, 76, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementCode },
7060   { &hf_ansi_map_announcementCode2, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementCode },
7061   { NULL, 0, 0, 0, NULL }
7062 };
7063
7064 static int
7065 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_) {
7066   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7067                                    AnnouncementList_sequence, hf_index, ett_ansi_map_AnnouncementList);
7068
7069   return offset;
7070 }
7071
7072
7073
7074 static int
7075 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_) {
7076   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7077
7078   return offset;
7079 }
7080
7081
7082
7083 static int
7084 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_) {
7085   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7086
7087   return offset;
7088 }
7089
7090
7091
7092 static int
7093 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_) {
7094   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7095                                        NULL);
7096
7097   return offset;
7098 }
7099
7100
7101
7102 static int
7103 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_) {
7104   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7105                                        NULL);
7106
7107   return offset;
7108 }
7109
7110
7111
7112 static int
7113 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_) {
7114   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7115
7116   return offset;
7117 }
7118
7119
7120
7121 static int
7122 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_) {
7123   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7124
7125   return offset;
7126 }
7127
7128
7129
7130 static int
7131 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_) {
7132   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7133
7134   return offset;
7135 }
7136
7137
7138 static const value_string ansi_map_DMH_RedirectionIndicator_vals[] = {
7139   {   0, "not-specified" },
7140   {   1, "cfu" },
7141   {   2, "cfb" },
7142   {   3, "cfna" },
7143   {   4, "cfo" },
7144   {   5, "cd-Unspecified" },
7145   {   6, "cd-PSTN" },
7146   {   7, "cd-Private" },
7147   {   8, "pstn-Tandem" },
7148   {   9, "private" },
7149   {  10, "busy" },
7150   {  11, "inactive" },
7151   {  12, "unassigned" },
7152   {  13, "termination-denied" },
7153   {  14, "cd-failure" },
7154   {  15, "ect" },
7155   {  16, "mah" },
7156   {  17, "fa" },
7157   {  18, "abandoned-call-leg" },
7158   {  19, "pca-call-refused" },
7159   {  20, "sca-call-refused" },
7160   {  21, "dialogue" },
7161   {  22, "cfd" },
7162   {  23, "cd-local" },
7163   {  24, "voice-mail-retrieval" },
7164   { 0, NULL }
7165 };
7166
7167
7168 static int
7169 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_) {
7170   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7171                                   NULL);
7172
7173   return offset;
7174 }
7175
7176
7177
7178 static int
7179 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_) {
7180   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7181                                        NULL);
7182
7183   return offset;
7184 }
7185
7186
7187
7188 static int
7189 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_) {
7190   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7191                                        NULL);
7192
7193   return offset;
7194 }
7195
7196
7197
7198 static int
7199 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_) {
7200 #line 238 "ansi_map.cnf"
7201         tvbuff_t *parameter_tvb = NULL;
7202   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7203                                        &parameter_tvb);
7204
7205         if (parameter_tvb){
7206                 dissect_ansi_map_pacaindicator(parameter_tvb,actx->pinfo,tree, actx);
7207         }
7208
7209
7210
7211   return offset;
7212 }
7213
7214
7215
7216 static int
7217 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_) {
7218   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7219
7220   return offset;
7221 }
7222
7223
7224
7225 static int
7226 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_) {
7227   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7228                                        NULL);
7229
7230   return offset;
7231 }
7232
7233
7234
7235 static int
7236 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_) {
7237   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7238
7239   return offset;
7240 }
7241
7242
7243
7244 static int
7245 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_) {
7246   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7247
7248   return offset;
7249 }
7250
7251
7252
7253 static int
7254 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_) {
7255   offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
7256
7257   return offset;
7258 }
7259
7260
7261 static const value_string ansi_map_ResumePIC_vals[] = {
7262   {   1, "continue-Call-Processing" },
7263   {   2, "collect-Information-PIC" },
7264   {   3, "analyze-Information-PIC" },
7265   {   4, "select-Route-PIC" },
7266   {   5, "authorize-Origination-Attempt-PIC" },
7267   {   6, "authorize-Call-Setup-PIC" },
7268   {   7, "send-Call-PIC" },
7269   {   8, "o-Alerting-PIC" },
7270   {   9, "o-Active-PIC" },
7271   {  10, "o-Suspended-PIC" },
7272   {  11, "o-Null-PIC" },
7273   {  32, "select-Facility-PIC" },
7274   {  33, "present-Call-PIC" },
7275   {  34, "authorize-Termination-Attempt-PIC" },
7276   {  35, "t-Alerting-PIC" },
7277   {  36, "t-Active-PIC" },
7278   {  37, "t-Suspended-PIC" },
7279   {  38, "t-Null-PIC" },
7280   { 0, NULL }
7281 };
7282
7283
7284 static int
7285 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_) {
7286   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7287                                   NULL);
7288
7289   return offset;
7290 }
7291
7292
7293
7294 static int
7295 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_) {
7296   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7297                                        NULL);
7298
7299   return offset;
7300 }
7301
7302
7303
7304 static int
7305 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_) {
7306 #line 344 "ansi_map.cnf"
7307         tvbuff_t *parameter_tvb = NULL;
7308   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7309                                        &parameter_tvb);
7310
7311         if (parameter_tvb){
7312                 dissect_ansi_map_terminationtriggers(parameter_tvb,actx->pinfo,tree, actx);
7313         }
7314
7315
7316
7317   return offset;
7318 }
7319
7320
7321 static const ber_sequence_t IntersystemTermination_sequence[] = {
7322   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
7323   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
7324   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
7325   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7326   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7327   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7328   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7329   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
7330   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
7331   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7332   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
7333   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7334   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7335   { NULL, 0, 0, 0, NULL }
7336 };
7337
7338 static int
7339 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_) {
7340   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7341                                    IntersystemTermination_sequence, hf_index, ett_ansi_map_IntersystemTermination);
7342
7343   return offset;
7344 }
7345
7346
7347
7348 static int
7349 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_) {
7350   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7351                                        NULL);
7352
7353   return offset;
7354 }
7355
7356
7357
7358 static int
7359 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_) {
7360   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7361
7362   return offset;
7363 }
7364
7365
7366
7367 static int
7368 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_) {
7369   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7370
7371   return offset;
7372 }
7373
7374
7375 static const ber_sequence_t LocalTermination_sequence[] = {
7376   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7377   { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
7378   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
7379   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7380   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
7381   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7382   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
7383   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
7384   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7385   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
7386   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7387   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7388   { &hf_ansi_map_voiceMailboxPIN, BER_CLASS_CON, 159, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxPIN },
7389   { &hf_ansi_map_voiceMailboxNumber, BER_CLASS_CON, 160, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxNumber },
7390   { NULL, 0, 0, 0, NULL }
7391 };
7392
7393 static int
7394 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_) {
7395   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7396                                    LocalTermination_sequence, hf_index, ett_ansi_map_LocalTermination);
7397
7398   return offset;
7399 }
7400
7401
7402 static const ber_sequence_t PSTNTermination_sequence[] = {
7403   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
7404   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7405   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7406   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
7407   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
7408   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7409   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7410   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7411   { NULL, 0, 0, 0, NULL }
7412 };
7413
7414 static int
7415 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_) {
7416   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7417                                    PSTNTermination_sequence, hf_index, ett_ansi_map_PSTNTermination);
7418
7419   return offset;
7420 }
7421
7422
7423 static const value_string ansi_map_TerminationList_item_vals[] = {
7424   {  89, "intersystemTermination" },
7425   {  91, "localTermination" },
7426   {  95, "pstnTermination" },
7427   { 0, NULL }
7428 };
7429
7430 static const ber_choice_t TerminationList_item_choice[] = {
7431   {  89, &hf_ansi_map_intersystemTermination, BER_CLASS_CON, 89, BER_FLAGS_IMPLTAG, dissect_ansi_map_IntersystemTermination },
7432   {  91, &hf_ansi_map_localTermination, BER_CLASS_CON, 91, BER_FLAGS_IMPLTAG, dissect_ansi_map_LocalTermination },
7433   {  95, &hf_ansi_map_pstnTermination, BER_CLASS_CON, 95, BER_FLAGS_IMPLTAG, dissect_ansi_map_PSTNTermination },
7434   { 0, NULL, 0, 0, 0, NULL }
7435 };
7436
7437 static int
7438 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_) {
7439   offset = dissect_ber_choice(actx, tree, tvb, offset,
7440                                  TerminationList_item_choice, hf_index, ett_ansi_map_TerminationList_item,
7441                                  NULL);
7442
7443   return offset;
7444 }
7445
7446
7447 static const ber_sequence_t TerminationList_set_of[1] = {
7448   { &hf_ansi_map_TerminationList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_TerminationList_item },
7449 };
7450
7451 static int
7452 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_) {
7453   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
7454                                  TerminationList_set_of, hf_index, ett_ansi_map_TerminationList);
7455
7456   return offset;
7457 }
7458
7459
7460
7461 static int
7462 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_) {
7463   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7464                                        NULL);
7465
7466   return offset;
7467 }
7468
7469
7470 static const value_string ansi_map_DestinationAddress_vals[] = {
7471   { 261, "globalTitle" },
7472   {  32, "pC-SSN" },
7473   { 0, NULL }
7474 };
7475
7476 static const ber_choice_t DestinationAddress_choice[] = {
7477   { 261, &hf_ansi_map_globalTitle, BER_CLASS_CON, 261, BER_FLAGS_IMPLTAG, dissect_ansi_map_GlobalTitle },
7478   {  32, &hf_ansi_map_pC_SSN     , BER_CLASS_CON, 32, BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
7479   { 0, NULL, 0, 0, 0, NULL }
7480 };
7481
7482 static int
7483 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_) {
7484   offset = dissect_ber_choice(actx, tree, tvb, offset,
7485                                  DestinationAddress_choice, hf_index, ett_ansi_map_DestinationAddress,
7486                                  NULL);
7487
7488   return offset;
7489 }
7490
7491
7492
7493 static int
7494 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_) {
7495 #line 394 "ansi_map.cnf"
7496         tvbuff_t *parameter_tvb = NULL;
7497   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
7498                                        &parameter_tvb);
7499
7500         if (parameter_tvb){
7501                 dissect_ansi_map_win_trigger_list(parameter_tvb,actx->pinfo,tree, actx);
7502         }
7503
7504
7505
7506   return offset;
7507 }
7508
7509
7510 static const ber_sequence_t TriggerList_set[] = {
7511   { &hf_ansi_map_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_DestinationAddress },
7512   { &hf_ansi_map_wIN_TriggerList, BER_CLASS_CON, 283, BER_FLAGS_IMPLTAG, dissect_ansi_map_WIN_TriggerList },
7513   { NULL, 0, 0, 0, NULL }
7514 };
7515
7516 static int
7517 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_) {
7518   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7519                               TriggerList_set, hf_index, ett_ansi_map_TriggerList);
7520
7521   return offset;
7522 }
7523
7524
7525 static const ber_sequence_t TriggerAddressList_set[] = {
7526   { &hf_ansi_map_triggerList, BER_CLASS_CON, 278, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerList },
7527   { &hf_ansi_map_triggerListOpt, BER_CLASS_CON, 278, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerList },
7528   { NULL, 0, 0, 0, NULL }
7529 };
7530
7531 static int
7532 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_) {
7533   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7534                               TriggerAddressList_set, hf_index, ett_ansi_map_TriggerAddressList);
7535
7536   return offset;
7537 }
7538
7539
7540 static const ber_sequence_t FeatureRequestRes_U_set[] = {
7541   { &hf_ansi_map_featureResult, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureResult },
7542   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
7543   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
7544   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
7545   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
7546   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
7547   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
7548   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
7549   { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
7550   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
7551   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
7552   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
7553   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
7554   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
7555   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
7556   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
7557   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
7558   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
7559   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
7560   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
7561   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
7562   { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
7563   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
7564   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
7565   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
7566   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
7567   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
7568   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
7569   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
7570   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
7571   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
7572   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
7573   { NULL, 0, 0, 0, NULL }
7574 };
7575
7576 static int
7577 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_) {
7578   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7579                               FeatureRequestRes_U_set, hf_index, ett_ansi_map_FeatureRequestRes_U);
7580
7581   return offset;
7582 }
7583
7584
7585
7586 static int
7587 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_) {
7588   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7589                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FeatureRequestRes_U);
7590
7591   return offset;
7592 }
7593
7594
7595
7596 static int
7597 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_) {
7598   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
7599
7600   return offset;
7601 }
7602
7603
7604 static const ber_sequence_t FlashRequest_U_set[] = {
7605   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
7606   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
7607   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7608   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7609   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
7610   { &hf_ansi_map_emergencyServicesRoutingDigits, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_EmergencyServicesRoutingDigits },
7611   { NULL, 0, 0, 0, NULL }
7612 };
7613
7614 static int
7615 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_) {
7616   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7617                               FlashRequest_U_set, hf_index, ett_ansi_map_FlashRequest_U);
7618
7619   return offset;
7620 }
7621
7622
7623
7624 static int
7625 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_) {
7626   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7627                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FlashRequest_U);
7628
7629   return offset;
7630 }
7631
7632
7633 static const ber_sequence_t HandoffBack_U_set[] = {
7634   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7635   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
7636   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7637   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7638   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7639   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7640   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7641   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
7642   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
7643   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
7644   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7645   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7646   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7647   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
7648   { NULL, 0, 0, 0, NULL }
7649 };
7650
7651 static int
7652 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_) {
7653   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7654                               HandoffBack_U_set, hf_index, ett_ansi_map_HandoffBack_U);
7655
7656   return offset;
7657 }
7658
7659
7660
7661 static int
7662 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_) {
7663   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7664                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBack_U);
7665
7666   return offset;
7667 }
7668
7669
7670 static const ber_sequence_t HandoffBackRes_U_set[] = {
7671   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7672   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7673   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7674   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7675   { NULL, 0, 0, 0, NULL }
7676 };
7677
7678 static int
7679 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_) {
7680   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7681                               HandoffBackRes_U_set, hf_index, ett_ansi_map_HandoffBackRes_U);
7682
7683   return offset;
7684 }
7685
7686
7687
7688 static int
7689 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_) {
7690   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7691                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBackRes_U);
7692
7693   return offset;
7694 }
7695
7696
7697 static const ber_sequence_t HandoffBack2_U_set[] = {
7698   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
7699   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
7700   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
7701   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7702   { &hf_ansi_map_baseStationManufacturerCode, BER_CLASS_CON, 197, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationManufacturerCode },
7703   { &hf_ansi_map_cdma2000HandoffInvokeIOSData, BER_CLASS_CON, 356, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffInvokeIOSData },
7704   { &hf_ansi_map_cdmaBandClassList, BER_CLASS_CON, 172, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassList },
7705   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
7706   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
7707   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
7708   { &hf_ansi_map_cdmaMSMeasuredChannelIdentity, BER_CLASS_CON, 351, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMSMeasuredChannelIdentity },
7709   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
7710   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
7711   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
7712   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
7713   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
7714   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
7715   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
7716   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
7717   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
7718   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7719   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7720   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
7721   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
7722   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
7723   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
7724   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
7725   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
7726   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
7727   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
7728   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
7729   { &hf_ansi_map_pdsnAddress, BER_CLASS_CON, 349, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNAddress },
7730   { &hf_ansi_map_pdsnProtocolType, BER_CLASS_CON, 350, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNProtocolType },
7731   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
7732   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
7733   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
7734   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
7735   { &hf_ansi_map_systemOperatorCode, BER_CLASS_CON, 206, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemOperatorCode },
7736   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7737   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
7738   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7739   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7740   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7741   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
7742   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL, dissect_ansi_map_TDMATerminalCapability },
7743   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
7744   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
7745   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
7746   { NULL, 0, 0, 0, NULL }
7747 };
7748
7749 static int
7750 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_) {
7751   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7752                               HandoffBack2_U_set, hf_index, ett_ansi_map_HandoffBack2_U);
7753
7754   return offset;
7755 }
7756
7757
7758
7759 static int
7760 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_) {
7761   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7762                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBack2_U);
7763
7764   return offset;
7765 }
7766
7767
7768 static const ber_sequence_t HandoffBack2Res_U_set[] = {
7769   { &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
7770   { &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
7771   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
7772   { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
7773   { &hf_ansi_map_cdmaSearchParameters, BER_CLASS_CON, 230, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchParameters },
7774   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
7775   { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
7776   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
7777   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7778   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
7779   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
7780   { &hf_ansi_map_sOCStatus  , BER_CLASS_CON, 205, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SOCStatus },
7781   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7782   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
7783   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7784   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
7785   { NULL, 0, 0, 0, NULL }
7786 };
7787
7788 static int
7789 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_) {
7790   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7791                               HandoffBack2Res_U_set, hf_index, ett_ansi_map_HandoffBack2Res_U);
7792
7793   return offset;
7794 }
7795
7796
7797
7798 static int
7799 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_) {
7800   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7801                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffBack2Res_U);
7802
7803   return offset;
7804 }
7805
7806
7807 static const ber_sequence_t TargetCellIDList_sequence[] = {
7808   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7809   { &hf_ansi_map_targetCellID1, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7810   { NULL, 0, 0, 0, NULL }
7811 };
7812
7813 static int
7814 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_) {
7815   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7816                                    TargetCellIDList_sequence, hf_index, ett_ansi_map_TargetCellIDList);
7817
7818   return offset;
7819 }
7820
7821
7822 static const ber_sequence_t HandoffMeasurementRequest_U_set[] = {
7823   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7824   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7825   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
7826   { &hf_ansi_map_targetCellIDList, BER_CLASS_CON, 207, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellIDList },
7827   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7828   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7829   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMATerminalCapability },
7830   { NULL, 0, 0, 0, NULL }
7831 };
7832
7833 static int
7834 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_) {
7835   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7836                               HandoffMeasurementRequest_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest_U);
7837
7838   return offset;
7839 }
7840
7841
7842
7843 static int
7844 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_) {
7845   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7846                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequest_U);
7847
7848   return offset;
7849 }
7850
7851
7852 static const value_string ansi_map_SignalQuality_vals[] = {
7853   {   0, "not-a-usable-signal" },
7854   {   1, "treat-as-Not-a-usable-signal" },
7855   {   2, "treat-as-Not-a-usable-signal" },
7856   {   3, "treat-as-Not-a-usable-signal" },
7857   {   4, "treat-as-Not-a-usable-signal" },
7858   {   5, "treat-as-Not-a-usable-signal" },
7859   {   6, "treat-as-Not-a-usable-signal" },
7860   {   7, "treat-as-Not-a-usable-signal" },
7861   {   8, "treat-as-Not-a-usable-signal" },
7862   {   9, "usable-signal-range" },
7863   { 245, "usable-signal-range" },
7864   { 246, "treat-the-same-as-interference" },
7865   { 247, "treat-the-same-as-interference" },
7866   { 248, "treat-the-same-as-interference" },
7867   { 249, "treat-the-same-as-interference" },
7868   { 250, "treat-the-same-as-interference" },
7869   { 251, "treat-the-same-as-interference" },
7870   { 252, "treat-the-same-as-interference" },
7871   { 253, "treat-the-same-as-interference" },
7872   { 254, "treat-the-same-as-interference" },
7873   { 255, "interference" },
7874   { 0, NULL }
7875 };
7876
7877
7878 static int
7879 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_) {
7880   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
7881                                                 NULL);
7882
7883   return offset;
7884 }
7885
7886
7887 static const ber_sequence_t HandoffMeasurementRequestRes_U_set[] = {
7888   { &hf_ansi_map_signalQuality, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalQuality },
7889   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7890   { NULL, 0, 0, 0, NULL }
7891 };
7892
7893 static int
7894 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_) {
7895   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7896                               HandoffMeasurementRequestRes_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequestRes_U);
7897
7898   return offset;
7899 }
7900
7901
7902
7903 static int
7904 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_) {
7905   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7906                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequestRes_U);
7907
7908   return offset;
7909 }
7910
7911
7912 static const ber_sequence_t HandoffMeasurementRequest2_U_set[] = {
7913   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
7914   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
7915   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
7916   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
7917   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
7918   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
7919   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
7920   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
7921   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
7922   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
7923   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
7924   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
7925   { &hf_ansi_map_targetCellIDList, BER_CLASS_CON, 207, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellIDList },
7926   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
7927   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
7928   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
7929   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
7930   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMATerminalCapability },
7931   { NULL, 0, 0, 0, NULL }
7932 };
7933
7934 static int
7935 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_) {
7936   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7937                               HandoffMeasurementRequest2_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest2_U);
7938
7939   return offset;
7940 }
7941
7942
7943
7944 static int
7945 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_) {
7946   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
7947                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequest2_U);
7948
7949   return offset;
7950 }
7951
7952
7953 static const ber_sequence_t TargetMeasurementInformation_sequence[] = {
7954   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
7955   { &hf_ansi_map_signalQuality, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalQuality },
7956   { NULL, 0, 0, 0, NULL }
7957 };
7958
7959 static int
7960 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_) {
7961   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
7962                                    TargetMeasurementInformation_sequence, hf_index, ett_ansi_map_TargetMeasurementInformation);
7963
7964   return offset;
7965 }
7966
7967
7968 static const ber_sequence_t TargetMeasurementList_sequence_of[1] = {
7969   { &hf_ansi_map_TargetMeasurementList_item, BER_CLASS_CON, 157, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementInformation },
7970 };
7971
7972 static int
7973 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_) {
7974   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
7975                                       TargetMeasurementList_sequence_of, hf_index, ett_ansi_map_TargetMeasurementList);
7976
7977   return offset;
7978 }
7979
7980
7981 static const ber_sequence_t HandoffMeasurementRequest2Res_U_set[] = {
7982   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
7983   { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
7984   { NULL, 0, 0, 0, NULL }
7985 };
7986
7987 static int
7988 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_) {
7989   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
7990                               HandoffMeasurementRequest2Res_U_set, hf_index, ett_ansi_map_HandoffMeasurementRequest2Res_U);
7991
7992   return offset;
7993 }
7994
7995
7996
7997 static int
7998 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_) {
7999   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8000                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffMeasurementRequest2Res_U);
8001
8002   return offset;
8003 }
8004
8005
8006 static const ber_sequence_t HandoffToThird_U_set[] = {
8007   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8008   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8009   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8010   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
8011   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8012   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
8013   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
8014   { &hf_ansi_map_baseStationManufacturerCode, BER_CLASS_CON, 197, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationManufacturerCode },
8015   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
8016   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8017   { &hf_ansi_map_cdmaBandClassList, BER_CLASS_CON, 172, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClassList },
8018   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
8019   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8020   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8021   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
8022   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8023   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8024   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
8025   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8026   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8027   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
8028   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
8029   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
8030   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
8031   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
8032   { &hf_ansi_map_handoffState, BER_CLASS_CON, 164, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffState },
8033   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
8034   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
8035   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8036   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
8037   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8038   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
8039   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8040   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8041   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMATerminalCapability },
8042   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8043   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8044   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
8045   { NULL, 0, 0, 0, NULL }
8046 };
8047
8048 static int
8049 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_) {
8050   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8051                               HandoffToThird_U_set, hf_index, ett_ansi_map_HandoffToThird_U);
8052
8053   return offset;
8054 }
8055
8056
8057
8058 static int
8059 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_) {
8060   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8061                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThird_U);
8062
8063   return offset;
8064 }
8065
8066
8067 static const ber_sequence_t HandoffToThirdRes_U_set[] = {
8068   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8069   { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
8070   { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
8071   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8072   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
8073   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
8074   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8075   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8076   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8077   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8078   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8079   { NULL, 0, 0, 0, NULL }
8080 };
8081
8082 static int
8083 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_) {
8084   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8085                               HandoffToThirdRes_U_set, hf_index, ett_ansi_map_HandoffToThirdRes_U);
8086
8087   return offset;
8088 }
8089
8090
8091
8092 static int
8093 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_) {
8094   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8095                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThirdRes_U);
8096
8097   return offset;
8098 }
8099
8100
8101 static const ber_sequence_t HandoffToThird2_U_set[] = {
8102   { &hf_ansi_map_bsmcstatus , BER_CLASS_CON, 198, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BSMCStatus },
8103   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8104   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8105   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8106   { &hf_ansi_map_interSwitchCount, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterSwitchCount },
8107   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8108   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
8109   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
8110   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8111   { &hf_ansi_map_cdma2000HandoffInvokeIOSData, BER_CLASS_CON, 356, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffInvokeIOSData },
8112   { &hf_ansi_map_cdmaCallMode, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACallMode },
8113   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8114   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
8115   { &hf_ansi_map_cdmaMSMeasuredChannelIdentity, BER_CLASS_CON, 351, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMSMeasuredChannelIdentity },
8116   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8117   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
8118   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8119   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8120   { &hf_ansi_map_cdmaServingOneWayDelay, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay },
8121   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8122   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8123   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
8124   { &hf_ansi_map_cdmaTargetMeasurementList, BER_CLASS_CON, 134, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMeasurementList },
8125   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
8126   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
8127   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
8128   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
8129   { &hf_ansi_map_handoffReason, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_HandoffReason },
8130   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
8131   { &hf_ansi_map_msLocation , BER_CLASS_CON, 70, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSLocation },
8132   { &hf_ansi_map_nampsCallMode, BER_CLASS_CON, 165, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSCallMode },
8133   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8134   { &hf_ansi_map_pdsnAddress, BER_CLASS_CON, 349, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNAddress },
8135   { &hf_ansi_map_pdsnProtocolType, BER_CLASS_CON, 350, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PDSNProtocolType },
8136   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
8137   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
8138   { &hf_ansi_map_sOCStatus  , BER_CLASS_CON, 205, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SOCStatus },
8139   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
8140   { &hf_ansi_map_stationClassMark, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_StationClassMark },
8141   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
8142   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8143   { &hf_ansi_map_tdmaCallMode, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMACallMode },
8144   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8145   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8146   { &hf_ansi_map_tdmaTerminalCapability, BER_CLASS_CON, 179, BER_FLAGS_OPTIONAL, dissect_ansi_map_TDMATerminalCapability },
8147   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8148   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
8149   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
8150   { NULL, 0, 0, 0, NULL }
8151 };
8152
8153 static int
8154 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_) {
8155   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8156                               HandoffToThird2_U_set, hf_index, ett_ansi_map_HandoffToThird2_U);
8157
8158   return offset;
8159 }
8160
8161
8162
8163 static int
8164 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_) {
8165   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8166                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThird2_U);
8167
8168   return offset;
8169 }
8170
8171
8172 static const ber_sequence_t HandoffToThird2Res_U_set[] = {
8173   { &hf_ansi_map_cdma2000HandoffResponseIOSData, BER_CLASS_CON, 357, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMA2000HandoffResponseIOSData },
8174   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
8175   { &hf_ansi_map_cdmaCodeChannelList, BER_CLASS_CON, 132, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannelList },
8176   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
8177   { &hf_ansi_map_cdmaSearchParameters, BER_CLASS_CON, 230, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchParameters },
8178   { &hf_ansi_map_cdmaSearchWindow, BER_CLASS_CON, 69, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASearchWindow },
8179   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
8180   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
8181   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
8182   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 74, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
8183   { &hf_ansi_map_targetCellID, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetCellID },
8184   { &hf_ansi_map_tdmaBurstIndicator, BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABurstIndicator },
8185   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
8186   { &hf_ansi_map_tdmaVoiceCoder, BER_CLASS_CON, 180, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceCoder },
8187   { NULL, 0, 0, 0, NULL }
8188 };
8189
8190 static int
8191 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_) {
8192   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8193                               HandoffToThird2Res_U_set, hf_index, ett_ansi_map_HandoffToThird2Res_U);
8194
8195   return offset;
8196 }
8197
8198
8199
8200 static int
8201 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_) {
8202   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8203                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_HandoffToThird2Res_U);
8204
8205   return offset;
8206 }
8207
8208
8209 static const ber_sequence_t InformationDirective_U_set[] = {
8210   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8211   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8212   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8213   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
8214   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8215   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8216   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8217   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8218   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8219   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8220   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8221   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
8222   { NULL, 0, 0, 0, NULL }
8223 };
8224
8225 static int
8226 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_) {
8227   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8228                               InformationDirective_U_set, hf_index, ett_ansi_map_InformationDirective_U);
8229
8230   return offset;
8231 }
8232
8233
8234
8235 static int
8236 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_) {
8237   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8238                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationDirective_U);
8239
8240   return offset;
8241 }
8242
8243
8244
8245 static int
8246 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_) {
8247   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8248                                        NULL);
8249
8250   return offset;
8251 }
8252
8253
8254 static const ber_sequence_t InformationDirectiveRes_U_set[] = {
8255   { &hf_ansi_map_alertResult, BER_CLASS_CON, 129, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertResult },
8256   { NULL, 0, 0, 0, NULL }
8257 };
8258
8259 static int
8260 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_) {
8261   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8262                               InformationDirectiveRes_U_set, hf_index, ett_ansi_map_InformationDirectiveRes_U);
8263
8264   return offset;
8265 }
8266
8267
8268
8269 static int
8270 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_) {
8271   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8272                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationDirectiveRes_U);
8273
8274   return offset;
8275 }
8276
8277
8278
8279 static int
8280 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_) {
8281 #line 173 "ansi_map.cnf"
8282         tvbuff_t *parameter_tvb = NULL;
8283   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8284                                        &parameter_tvb);
8285
8286         if (parameter_tvb){
8287                 dissect_ansi_map_messagewaitingnotificationcount(parameter_tvb,actx->pinfo,tree, actx);
8288         }
8289
8290
8291
8292   return offset;
8293 }
8294
8295
8296
8297 static int
8298 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_) {
8299 #line 181 "ansi_map.cnf"
8300         tvbuff_t *parameter_tvb = NULL;
8301   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8302                                        &parameter_tvb);
8303
8304         if (parameter_tvb){
8305                 dissect_ansi_map_messagewaitingnotificationtype(parameter_tvb,actx->pinfo,tree, actx);
8306         }
8307
8308
8309
8310
8311   return offset;
8312 }
8313
8314
8315 static const ber_sequence_t InformationForward_U_set[] = {
8316   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8317   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8318   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8319   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
8320   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8321   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8322   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8323   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8324   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8325   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8326   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
8327   { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 289, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
8328   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8329   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8330   { NULL, 0, 0, 0, NULL }
8331 };
8332
8333 static int
8334 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_) {
8335   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8336                               InformationForward_U_set, hf_index, ett_ansi_map_InformationForward_U);
8337
8338   return offset;
8339 }
8340
8341
8342
8343 static int
8344 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_) {
8345   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8346                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationForward_U);
8347
8348   return offset;
8349 }
8350
8351
8352 static const ber_sequence_t InformationForwardRes_U_set[] = {
8353   { &hf_ansi_map_alertResult, BER_CLASS_CON, 129, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertResult },
8354   { NULL, 0, 0, 0, NULL }
8355 };
8356
8357 static int
8358 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_) {
8359   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8360                               InformationForwardRes_U_set, hf_index, ett_ansi_map_InformationForwardRes_U);
8361
8362   return offset;
8363 }
8364
8365
8366
8367 static int
8368 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_) {
8369   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8370                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InformationForwardRes_U);
8371
8372   return offset;
8373 }
8374
8375
8376 static const ber_sequence_t InterSystemAnswer_U_set[] = {
8377   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8378   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8379   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8380   { NULL, 0, 0, 0, NULL }
8381 };
8382
8383 static int
8384 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_) {
8385   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8386                               InterSystemAnswer_U_set, hf_index, ett_ansi_map_InterSystemAnswer_U);
8387
8388   return offset;
8389 }
8390
8391
8392
8393 static int
8394 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_) {
8395   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8396                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemAnswer_U);
8397
8398   return offset;
8399 }
8400
8401
8402
8403 static int
8404 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_) {
8405   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8406                                        NULL);
8407
8408   return offset;
8409 }
8410
8411
8412
8413 static int
8414 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_) {
8415 #line 142 "ansi_map.cnf"
8416         tvbuff_t *parameter_tvb = NULL;
8417   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8418                                        &parameter_tvb);
8419
8420         if (parameter_tvb){
8421                 dissect_ansi_map_extendedmscid(parameter_tvb,actx->pinfo,tree, actx);
8422         }
8423
8424
8425
8426   return offset;
8427 }
8428
8429
8430
8431 static int
8432 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_) {
8433 #line 150 "ansi_map.cnf"
8434         tvbuff_t *parameter_tvb = NULL;
8435   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8436                                        &parameter_tvb);
8437
8438         if (parameter_tvb){
8439                 dissect_ansi_map_extendedsystemmytypecode(parameter_tvb, actx->pinfo, tree, actx);
8440         }
8441
8442
8443   return offset;
8444 }
8445
8446
8447
8448 static int
8449 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_) {
8450   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8451                                        NULL);
8452
8453   return offset;
8454 }
8455
8456
8457
8458 static int
8459 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_) {
8460   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8461                                        NULL);
8462
8463   return offset;
8464 }
8465
8466
8467
8468 static int
8469 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_) {
8470   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8471                                        NULL);
8472
8473   return offset;
8474 }
8475
8476
8477
8478 static int
8479 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_) {
8480   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8481                                        NULL);
8482
8483   return offset;
8484 }
8485
8486
8487
8488 static int
8489 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_) {
8490   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8491                                        NULL);
8492
8493   return offset;
8494 }
8495
8496
8497
8498 static int
8499 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_) {
8500 #line 254 "ansi_map.cnf"
8501
8502         tvbuff_t *parameter_tvb = NULL;
8503   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8504                                        &parameter_tvb);
8505
8506         if (parameter_tvb){
8507                 dissect_ansi_map_pilotbillingid(parameter_tvb,actx->pinfo,tree, actx);
8508         }
8509
8510
8511
8512   return offset;
8513 }
8514
8515
8516
8517 static int
8518 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_) {
8519   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8520                                        NULL);
8521
8522   return offset;
8523 }
8524
8525
8526 static const value_string ansi_map_SystemMyTypeCode_vals[] = {
8527   {   0, "not-used" },
8528   {   1, "eDS" },
8529   {   2, "astronet" },
8530   {   3, "lucent-Technologies" },
8531   {   4, "ericsson" },
8532   {   5, "gTE" },
8533   {   6, "motorola" },
8534   {   7, "nEC" },
8535   {   8, "nORTEL" },
8536   {   9, "novAtel" },
8537   {  10, "plexsys" },
8538   {  11, "digital-Equipment-Corp" },
8539   {  12, "iNET" },
8540   {  13, "bellcore" },
8541   {  14, "alcatel-SEL" },
8542   {  15, "compaq" },
8543   {  16, "qUALCOMM" },
8544   {  17, "aldiscon" },
8545   {  18, "celcore" },
8546   {  19, "tELOS" },
8547   {  20, "aDI-Limited" },
8548   {  21, "coral-Systems" },
8549   {  22, "synacom-Technology" },
8550   {  23, "dSC" },
8551   {  24, "mCI" },
8552   {  25, "newNet" },
8553   {  26, "sema-Group-Telecoms" },
8554   {  27, "lG-Information-and-Communications" },
8555   {  28, "cBIS" },
8556   {  29, "siemens" },
8557   {  30, "samsung-Electronics" },
8558   {  31, "readyCom-Inc" },
8559   {  32, "aG-Communication-Systems" },
8560   {  33, "hughes-Network-Systems" },
8561   {  34, "phoenix-Wireless-Group" },
8562   { 0, NULL }
8563 };
8564
8565
8566 static int
8567 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_) {
8568   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8569                                   NULL);
8570
8571   return offset;
8572 }
8573
8574
8575
8576 static int
8577 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_) {
8578   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8579                                        NULL);
8580
8581   return offset;
8582 }
8583
8584
8585 static const ber_sequence_t InterSystemPage_U_set[] = {
8586   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8587   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8588   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8589   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
8590   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
8591   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
8592   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8593   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8594   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8595   { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
8596   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8597   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8598   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8599   { &hf_ansi_map_cdmaSlotCycleIndex, BER_CLASS_CON, 166, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASlotCycleIndex },
8600   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8601   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8602   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
8603   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8604   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8605   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
8606   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
8607   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
8608   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
8609   { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
8610   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
8611   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
8612   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
8613   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
8614   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8615   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
8616   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
8617   { &hf_ansi_map_mSIDUsage  , BER_CLASS_CON, 327, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSIDUsage },
8618   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
8619   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
8620   { &hf_ansi_map_pageCount  , BER_CLASS_CON, 300, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageCount },
8621   { &hf_ansi_map_pageIndicator, BER_CLASS_CON, 71, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageIndicator },
8622   { &hf_ansi_map_pageResponseTime, BER_CLASS_CON, 301, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageResponseTime },
8623   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
8624   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
8625   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
8626   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
8627   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
8628   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8629   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
8630   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8631   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
8632   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
8633   { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
8634   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8635   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8636   { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
8637   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
8638   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
8639   { NULL, 0, 0, 0, NULL }
8640 };
8641
8642 static int
8643 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_) {
8644   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8645                               InterSystemPage_U_set, hf_index, ett_ansi_map_InterSystemPage_U);
8646
8647   return offset;
8648 }
8649
8650
8651
8652 static int
8653 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_) {
8654   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8655                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPage_U);
8656
8657   return offset;
8658 }
8659
8660
8661 static const value_string ansi_map_ConditionallyDeniedReason_vals[] = {
8662   {   0, "not-used" },
8663   {   1, "waitable" },
8664   { 0, NULL }
8665 };
8666
8667
8668 static int
8669 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_) {
8670   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
8671                                   NULL);
8672
8673   return offset;
8674 }
8675
8676
8677 static const ber_sequence_t InterSystemPageRes_U_set[] = {
8678   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
8679   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8680   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8681   { &hf_ansi_map_conditionallyDeniedReason, BER_CLASS_CON, 162, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConditionallyDeniedReason },
8682   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
8683   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
8684   { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
8685   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
8686   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
8687   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8688   { NULL, 0, 0, 0, NULL }
8689 };
8690
8691 static int
8692 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_) {
8693   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8694                               InterSystemPageRes_U_set, hf_index, ett_ansi_map_InterSystemPageRes_U);
8695
8696   return offset;
8697 }
8698
8699
8700
8701 static int
8702 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_) {
8703   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8704                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPageRes_U);
8705
8706   return offset;
8707 }
8708
8709
8710
8711 static int
8712 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_) {
8713   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8714                                        NULL);
8715
8716   return offset;
8717 }
8718
8719
8720
8721 static int
8722 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_) {
8723   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8724                                        NULL);
8725
8726   return offset;
8727 }
8728
8729
8730 static const ber_sequence_t PSID_RSIDList_sequence[] = {
8731   { &hf_ansi_map_pSID_RSIDInformation, BER_CLASS_CON, 202, BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDInformation },
8732   { &hf_ansi_map_pSID_RSIDInformation1, BER_CLASS_CON, 202, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDInformation },
8733   { NULL, 0, 0, 0, NULL }
8734 };
8735
8736 static int
8737 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_) {
8738   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
8739                                    PSID_RSIDList_sequence, hf_index, ett_ansi_map_PSID_RSIDList);
8740
8741   return offset;
8742 }
8743
8744
8745 static const ber_sequence_t InterSystemPage2_U_set[] = {
8746   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8747   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8748   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8749   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8750   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8751   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8752   { &hf_ansi_map_cdmaBandClass, BER_CLASS_CON, 170, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMABandClass },
8753   { &hf_ansi_map_cdmaMobileProtocolRevision, BER_CLASS_CON, 66, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileProtocolRevision },
8754   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
8755   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8756   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8757   { &hf_ansi_map_cdmaSlotCycleIndex, BER_CLASS_CON, 166, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMASlotCycleIndex },
8758   { &hf_ansi_map_cdmaStationClassMark, BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark },
8759   { &hf_ansi_map_cdmaStationClassMark2, BER_CLASS_CON, 177, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAStationClassMark2 },
8760   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8761   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8762   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
8763   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
8764   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
8765   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8766   { &hf_ansi_map_mSIDUsage  , BER_CLASS_CON, 327, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSIDUsage },
8767   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
8768   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
8769   { &hf_ansi_map_pageCount  , BER_CLASS_CON, 300, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageCount },
8770   { &hf_ansi_map_pageIndicator, BER_CLASS_CON, 71, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageIndicator },
8771   { &hf_ansi_map_pagingFrameClass, BER_CLASS_CON, 210, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PagingFrameClass },
8772   { &hf_ansi_map_pageResponseTime, BER_CLASS_CON, 301, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PageResponseTime },
8773   { &hf_ansi_map_pSID_RSIDList, BER_CLASS_CON, 203, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDList },
8774   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8775   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8776   { &hf_ansi_map_tdmaDataFeaturesIndicator, BER_CLASS_CON, 221, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataFeaturesIndicator },
8777   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8778   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8779   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
8780   { NULL, 0, 0, 0, NULL }
8781 };
8782
8783 static int
8784 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_) {
8785   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8786                               InterSystemPage2_U_set, hf_index, ett_ansi_map_InterSystemPage2_U);
8787
8788   return offset;
8789 }
8790
8791
8792
8793 static int
8794 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_) {
8795   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8796                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPage2_U);
8797
8798   return offset;
8799 }
8800
8801
8802
8803 static int
8804 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_) {
8805   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8806                                        NULL);
8807
8808   return offset;
8809 }
8810
8811
8812
8813 static int
8814 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_) {
8815   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8816                                        NULL);
8817
8818   return offset;
8819 }
8820
8821
8822 static const ber_sequence_t InterSystemPage2Res_U_set[] = {
8823   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
8824   { &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
8825   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
8826   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8827   { &hf_ansi_map_randc      , BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RANDC },
8828   { &hf_ansi_map_randomVariableBaseStation, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableBaseStation },
8829   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
8830   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
8831   { &hf_ansi_map_tdmaDataMode, BER_CLASS_CON, 222, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataMode },
8832   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
8833   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
8834   { NULL, 0, 0, 0, NULL }
8835 };
8836
8837 static int
8838 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_) {
8839   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8840                               InterSystemPage2Res_U_set, hf_index, ett_ansi_map_InterSystemPage2Res_U);
8841
8842   return offset;
8843 }
8844
8845
8846
8847 static int
8848 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_) {
8849   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8850                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPage2Res_U);
8851
8852   return offset;
8853 }
8854
8855
8856
8857 static int
8858 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_) {
8859   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8860                                        NULL);
8861
8862   return offset;
8863 }
8864
8865
8866 static const ber_sequence_t InterSystemSetup_U_set[] = {
8867   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
8868   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
8869   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
8870   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
8871   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
8872   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
8873   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
8874   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
8875   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8876   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
8877   { &hf_ansi_map_changeServiceAttributes, BER_CLASS_CON, 214, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChangeServiceAttributes },
8878   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
8879   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
8880   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
8881   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
8882   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
8883   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
8884   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
8885   { &hf_ansi_map_edirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
8886   { &hf_ansi_map_signalingMessageEncryptionKey, BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionKey },
8887   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
8888   { NULL, 0, 0, 0, NULL }
8889 };
8890
8891 static int
8892 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_) {
8893   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8894                               InterSystemSetup_U_set, hf_index, ett_ansi_map_InterSystemSetup_U);
8895
8896   return offset;
8897 }
8898
8899
8900
8901 static int
8902 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_) {
8903   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8904                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemSetup_U);
8905
8906   return offset;
8907 }
8908
8909
8910
8911 static int
8912 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_) {
8913   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8914                                        NULL);
8915
8916   return offset;
8917 }
8918
8919
8920 static const ber_sequence_t InterSystemSetupRes_U_set[] = {
8921   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
8922   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
8923   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
8924   { &hf_ansi_map_setupResult, BER_CLASS_CON, 151, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SetupResult },
8925   { NULL, 0, 0, 0, NULL }
8926 };
8927
8928 static int
8929 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_) {
8930   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
8931                               InterSystemSetupRes_U_set, hf_index, ett_ansi_map_InterSystemSetupRes_U);
8932
8933   return offset;
8934 }
8935
8936
8937
8938 static int
8939 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_) {
8940   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
8941                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemSetupRes_U);
8942
8943   return offset;
8944 }
8945
8946
8947
8948 static int
8949 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_) {
8950   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
8951                                        NULL);
8952
8953   return offset;
8954 }
8955
8956
8957 static const value_string ansi_map_TriggerType_vals[] = {
8958   {   1, "all-Calls" },
8959   {   2, "double-Introducing-Star" },
8960   {   3, "single-Introducing-Star" },
8961   {   4, "reserved-for-Home-System-Feature-Code" },
8962   {   5, "double-Introducing-Pound" },
8963   {   6, "single-Introducing-Pound" },
8964   {   7, "revertive-Call" },
8965   {   8, "a0-Digit" },
8966   {   9, "a1-Digit" },
8967   {  10, "a2-Digit" },
8968   {  11, "a3-Digit" },
8969   {  12, "a4-Digit" },
8970   {  13, "a5-Digit" },
8971   {  14, "a6-Digit" },
8972   {  15, "a7-Digit" },
8973   {  16, "a8-Digit" },
8974   {  17, "a9-Digit" },
8975   {  18, "a10-Digit" },
8976   {  19, "a11-Digit" },
8977   {  20, "a12-Digit" },
8978   {  21, "a13-Digit" },
8979   {  22, "a14-Digit" },
8980   {  23, "a15-Digit" },
8981   {  24, "local-Call" },
8982   {  25, "intra-LATA-Toll-Call" },
8983   {  26, "inter-LATA-Toll-Call" },
8984   {  27, "world-Zone-Call" },
8985   {  28, "international-Call" },
8986   {  29, "unrecognized-Number" },
8987   {  30, "prior-Agreement" },
8988   {  31, "specific-Called-Party-Digit-String" },
8989   {  32, "mobile-Termination" },
8990   {  33, "advanced-Termination" },
8991   {  34, "location" },
8992   {  35, "locally-Allowed-Specific-Digit-String" },
8993   {  36, "origination-Attempt-Authorized" },
8994   {  37, "calling-Routing-Address-Available" },
8995   {  38, "initial-Termination" },
8996   {  39, "called-Routing-Address-Available" },
8997   {  40, "o-Answer" },
8998   {  41, "o-Disconnect" },
8999   {  42, "o-Called-Party-Busy" },
9000   {  43, "o-No-Answer" },
9001   {  64, "terminating-Resource-Available" },
9002   {  65, "t-Busy" },
9003   {  66, "t-No-Answer" },
9004   {  67, "t-No-Page-Response" },
9005   {  68, "t-Routable" },
9006   {  69, "t-Answer" },
9007   {  70, "t-Disconnect" },
9008   { 220, "reserved-for-TDP-R-DP-Type-value" },
9009   { 221, "reserved-for-TDP-N-DP-Type-value" },
9010   { 222, "reserved-for-EDP-R-DP-Type-value" },
9011   { 223, "reserved-for-EDP-N-DP-Type-value" },
9012   { 0, NULL }
9013 };
9014
9015
9016 static int
9017 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_) {
9018   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9019                                   NULL);
9020
9021   return offset;
9022 }
9023
9024
9025
9026 static int
9027 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_) {
9028 #line 379 "ansi_map.cnf"
9029         tvbuff_t *parameter_tvb = NULL;
9030   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9031                                        &parameter_tvb);
9032
9033         if (parameter_tvb){
9034                 dissect_ansi_map_triggercapability(parameter_tvb,actx->pinfo,tree, actx);
9035         }
9036
9037
9038
9039   return offset;
9040 }
9041
9042
9043
9044 static int
9045 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_) {
9046 #line 387 "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_winoperationscapability(parameter_tvb,actx->pinfo,tree, actx);
9053         }
9054
9055
9056   return offset;
9057 }
9058
9059
9060 static const ber_sequence_t WINCapability_set[] = {
9061   { &hf_ansi_map_triggerCapability, BER_CLASS_CON, 277, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerCapability },
9062   { &hf_ansi_map_wINOperationsCapability, BER_CLASS_CON, 281, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINOperationsCapability },
9063   { NULL, 0, 0, 0, NULL }
9064 };
9065
9066 static int
9067 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_) {
9068   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9069                               WINCapability_set, hf_index, ett_ansi_map_WINCapability);
9070
9071   return offset;
9072 }
9073
9074
9075
9076 static int
9077 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_) {
9078   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9079                                        NULL);
9080
9081   return offset;
9082 }
9083
9084
9085 static const ber_sequence_t LocationRequest_U_set[] = {
9086   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
9087   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9088   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9089   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9090   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
9091   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
9092   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
9093   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
9094   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
9095   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
9096   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
9097   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
9098   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
9099   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9100   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9101   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
9102   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
9103   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
9104   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
9105   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
9106   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
9107   { NULL, 0, 0, 0, NULL }
9108 };
9109
9110 static int
9111 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_) {
9112   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9113                               LocationRequest_U_set, hf_index, ett_ansi_map_LocationRequest_U);
9114
9115   return offset;
9116 }
9117
9118
9119
9120 static int
9121 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_) {
9122   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9123                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LocationRequest_U);
9124
9125   return offset;
9126 }
9127
9128
9129
9130 static int
9131 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_) {
9132 #line 402 "ansi_map.cnf"
9133         tvbuff_t *parameter_tvb = NULL;
9134   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9135                                        &parameter_tvb);
9136
9137         if (parameter_tvb){
9138                 dissect_ansi_map_controlnetworkid(parameter_tvb,actx->pinfo,tree, actx);
9139         }
9140
9141
9142
9143   return offset;
9144 }
9145
9146
9147
9148 static int
9149 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_) {
9150   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9151                                        NULL);
9152
9153   return offset;
9154 }
9155
9156
9157 static const ber_sequence_t LocationRequestRes_U_set[] = {
9158   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9159   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9160   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9161   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
9162   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
9163   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
9164   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
9165   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
9166   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
9167   { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9168   { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9169   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
9170   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
9171   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9172   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9173   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9174   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
9175   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
9176   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
9177   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9178   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
9179   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
9180   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
9181   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9182   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
9183   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
9184   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9185   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9186   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
9187   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
9188   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9189   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9190   { NULL, 0, 0, 0, NULL }
9191 };
9192
9193 static int
9194 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_) {
9195   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9196                               LocationRequestRes_U_set, hf_index, ett_ansi_map_LocationRequestRes_U);
9197
9198   return offset;
9199 }
9200
9201
9202
9203 static int
9204 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_) {
9205   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9206                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LocationRequestRes_U);
9207
9208   return offset;
9209 }
9210
9211
9212 static const value_string ansi_map_DeregistrationType_vals[] = {
9213   {   0, "not-used" },
9214   {   1, "deregister-for-an-unspecified-reason" },
9215   {   2, "deregister-for-an-administrative-reason" },
9216   {   3, "deregister-due-to-MS-power-down" },
9217   { 0, NULL }
9218 };
9219
9220
9221 static int
9222 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_) {
9223   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9224                                   NULL);
9225
9226   return offset;
9227 }
9228
9229
9230
9231 static int
9232 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_) {
9233   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9234                                        NULL);
9235
9236   return offset;
9237 }
9238
9239
9240
9241 static int
9242 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_) {
9243   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
9244
9245   return offset;
9246 }
9247
9248
9249 static const ber_sequence_t MSInactive_U_set[] = {
9250   { &hf_ansi_map_lectronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9251   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9252   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
9253   { &hf_ansi_map_deregistrationType, BER_CLASS_CON, 73, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeregistrationType },
9254   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
9255   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9256   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9257   { &hf_ansi_map_servicesResult, BER_CLASS_CON, 204, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServicesResult },
9258   { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
9259   { NULL, 0, 0, 0, NULL }
9260 };
9261
9262 static int
9263 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_) {
9264   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9265                               MSInactive_U_set, hf_index, ett_ansi_map_MSInactive_U);
9266
9267   return offset;
9268 }
9269
9270
9271
9272 static int
9273 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_) {
9274   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9275                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_MSInactive_U);
9276
9277   return offset;
9278 }
9279
9280
9281
9282 static int
9283 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_) {
9284 #line 230 "ansi_map.cnf"
9285         tvbuff_t *parameter_tvb = NULL;
9286   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9287                                        &parameter_tvb);
9288
9289         if (parameter_tvb){
9290                 dissect_ansi_map_originationtriggers(parameter_tvb,actx->pinfo,tree, actx);
9291         }
9292
9293
9294
9295   return offset;
9296 }
9297
9298
9299 static const value_string ansi_map_FeatureIndicator_vals[] = {
9300   {   0, "not-used" },
9301   {  38, "user-selective-call-forwarding" },
9302   { 0, NULL }
9303 };
9304
9305
9306 static int
9307 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_) {
9308   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9309                                   NULL);
9310
9311   return offset;
9312 }
9313
9314
9315 static const ber_sequence_t OriginationRequest_U_set[] = {
9316   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
9317   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9318   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9319   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9320   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9321   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
9322   { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
9323   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
9324   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
9325   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
9326   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
9327   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
9328   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
9329   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
9330   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9331   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9332   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
9333   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
9334   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
9335   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
9336   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9337   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9338   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
9339   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
9340   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
9341   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
9342   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
9343   { NULL, 0, 0, 0, NULL }
9344 };
9345
9346 static int
9347 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_) {
9348   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9349                               OriginationRequest_U_set, hf_index, ett_ansi_map_OriginationRequest_U);
9350
9351   return offset;
9352 }
9353
9354
9355
9356 static int
9357 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_) {
9358   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9359                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OriginationRequest_U);
9360
9361   return offset;
9362 }
9363
9364
9365
9366 static int
9367 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_) {
9368   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9369                                        NULL);
9370
9371   return offset;
9372 }
9373
9374
9375 static const ber_sequence_t OriginationRequestRes_U_set[] = {
9376   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
9377   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
9378   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
9379   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
9380   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
9381   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
9382   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
9383   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9384   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
9385   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
9386   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9387   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9388   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9389   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
9390   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
9391   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
9392   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
9393   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
9394   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
9395   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
9396   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
9397   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
9398   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
9399   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
9400   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9401   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
9402   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
9403   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
9404   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
9405   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
9406   { NULL, 0, 0, 0, NULL }
9407 };
9408
9409 static int
9410 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_) {
9411   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9412                               OriginationRequestRes_U_set, hf_index, ett_ansi_map_OriginationRequestRes_U);
9413
9414   return offset;
9415 }
9416
9417
9418
9419 static int
9420 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_) {
9421   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9422                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OriginationRequestRes_U);
9423
9424   return offset;
9425 }
9426
9427
9428 static const value_string ansi_map_QualificationInformationCode_vals[] = {
9429   {   0, "not-used" },
9430   {   1, "no-information" },
9431   {   2, "validation-only" },
9432   {   3, "validation-and-profile" },
9433   {   4, "profile-only" },
9434   { 0, NULL }
9435 };
9436
9437
9438 static int
9439 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_) {
9440   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9441                                   NULL);
9442
9443   return offset;
9444 }
9445
9446
9447 static const value_string ansi_map_AuthorizationDenied_vals[] = {
9448   {   0, "not-used" },
9449   {   1, "delinquent-account" },
9450   {   2, "invalid-serial-number" },
9451   {   3, "stolen-unit" },
9452   {   4, "duplicate-unit" },
9453   {   5, "unassigned-directory-number" },
9454   {   6, "unspecified" },
9455   {   7, "multiple-access" },
9456   {   8, "not-Authorized-for-the-MSC" },
9457   {   9, "missing-authentication-parameters" },
9458   {  10, "terminalType-mismatch" },
9459   {  11, "requested-Service-Code-Not-Supported" },
9460   { 0, NULL }
9461 };
9462
9463
9464 static int
9465 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_) {
9466   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9467                                   NULL);
9468
9469   return offset;
9470 }
9471
9472
9473
9474 static int
9475 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_) {
9476 #line 64 "ansi_map.cnf"
9477         tvbuff_t *parameter_tvb = NULL;
9478   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9479                                        &parameter_tvb);
9480
9481         if (parameter_tvb){
9482                 dissect_ansi_map_authorizationperiod(parameter_tvb,actx->pinfo,tree, actx);
9483         }
9484
9485
9486
9487
9488   return offset;
9489 }
9490
9491
9492
9493 static int
9494 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_) {
9495 #line 134 "ansi_map.cnf"
9496         tvbuff_t *parameter_tvb = NULL;
9497   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9498                                        &parameter_tvb);
9499
9500         if (parameter_tvb){
9501                 dissect_ansi_map_deniedauthorizationperiod(parameter_tvb,actx->pinfo,tree, actx);
9502         }
9503
9504
9505
9506   return offset;
9507 }
9508
9509
9510 static const ber_sequence_t QualificationDirective_U_set[] = {
9511   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9512   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
9513   { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
9514   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9515   { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
9516   { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
9517   { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
9518   { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
9519   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
9520   { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
9521   { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9522   { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9523   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9524   { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
9525   { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
9526   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9527   { NULL, 0, 0, 0, NULL }
9528 };
9529
9530 static int
9531 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_) {
9532   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9533                               QualificationDirective_U_set, hf_index, ett_ansi_map_QualificationDirective_U);
9534
9535   return offset;
9536 }
9537
9538
9539
9540 static int
9541 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_) {
9542   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9543                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationDirective_U);
9544
9545   return offset;
9546 }
9547
9548
9549 static const ber_sequence_t QualificationRequest_U_set[] = {
9550   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9551   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
9552   { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
9553   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9554   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9555   { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
9556   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
9557   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9558   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9559   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
9560   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
9561   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
9562   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
9563   { &hf_ansi_map_nonPublicData, BER_CLASS_CON, 200, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NonPublicData },
9564   { &hf_ansi_map_userZoneData, BER_CLASS_CON, 209, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserZoneData },
9565   { NULL, 0, 0, 0, NULL }
9566 };
9567
9568 static int
9569 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_) {
9570   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9571                               QualificationRequest_U_set, hf_index, ett_ansi_map_QualificationRequest_U);
9572
9573   return offset;
9574 }
9575
9576
9577
9578 static int
9579 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_) {
9580   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9581                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationRequest_U);
9582
9583   return offset;
9584 }
9585
9586
9587 static const ber_sequence_t QualificationRequestRes_U_set[] = {
9588   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9589   { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
9590   { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
9591   { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
9592   { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
9593   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
9594   { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
9595   { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9596   { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9597   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9598   { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
9599   { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
9600   { NULL, 0, 0, 0, NULL }
9601 };
9602
9603 static int
9604 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_) {
9605   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9606                               QualificationRequestRes_U_set, hf_index, ett_ansi_map_QualificationRequestRes_U);
9607
9608   return offset;
9609 }
9610
9611
9612
9613 static int
9614 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_) {
9615   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9616                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_QualificationRequestRes_U);
9617
9618   return offset;
9619 }
9620
9621
9622 static const ber_sequence_t RandomVariableRequest_U_set[] = {
9623   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9624   { &hf_ansi_map_randc      , BER_CLASS_CON, 67, BER_FLAGS_IMPLTAG, dissect_ansi_map_RANDC },
9625   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
9626   { NULL, 0, 0, 0, NULL }
9627 };
9628
9629 static int
9630 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_) {
9631   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9632                               RandomVariableRequest_U_set, hf_index, ett_ansi_map_RandomVariableRequest_U);
9633
9634   return offset;
9635 }
9636
9637
9638
9639 static int
9640 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_) {
9641   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9642                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RandomVariableRequest_U);
9643
9644   return offset;
9645 }
9646
9647
9648
9649 static int
9650 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_) {
9651   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9652                                        NULL);
9653
9654   return offset;
9655 }
9656
9657
9658 static const ber_sequence_t RandomVariableRequestRes_U_set[] = {
9659   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
9660   { &hf_ansi_map_randValidTime, BER_CLASS_CON, 148, BER_FLAGS_IMPLTAG, dissect_ansi_map_RANDValidTime },
9661   { NULL, 0, 0, 0, NULL }
9662 };
9663
9664 static int
9665 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_) {
9666   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9667                               RandomVariableRequestRes_U_set, hf_index, ett_ansi_map_RandomVariableRequestRes_U);
9668
9669   return offset;
9670 }
9671
9672
9673
9674 static int
9675 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_) {
9676   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9677                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RandomVariableRequestRes_U);
9678
9679   return offset;
9680 }
9681
9682
9683 static const ber_sequence_t RedirectionDirective_U_set[] = {
9684   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
9685   { &hf_ansi_map_digits_dest, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9686   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9687   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9688   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9689   { &hf_ansi_map_digits_carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
9690   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
9691   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
9692   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
9693   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
9694   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
9695   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
9696   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9697   { NULL, 0, 0, 0, NULL }
9698 };
9699
9700 static int
9701 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_) {
9702   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9703                               RedirectionDirective_U_set, hf_index, ett_ansi_map_RedirectionDirective_U);
9704
9705   return offset;
9706 }
9707
9708
9709
9710 static int
9711 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_) {
9712   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9713                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RedirectionDirective_U);
9714
9715   return offset;
9716 }
9717
9718
9719 static const value_string ansi_map_RedirectionReason_vals[] = {
9720   {   0, "not-used" },
9721   {   1, "busy" },
9722   {   2, "no-Answer" },
9723   {   3, "unconditional" },
9724   {   4, "no-Page-Response" },
9725   {   5, "unavailable" },
9726   {   6, "unroutable" },
9727   {   7, "call-accepted" },
9728   {   8, "call-refused" },
9729   {   9, "uSCFvm-Divert-to-voice-mail" },
9730   {  10, "uSCFms-Divert-to-an-MS-provided-DN" },
9731   {  11, "uSCFnr-Divert-to-a-network-registered-DN" },
9732   { 0, NULL }
9733 };
9734
9735
9736 static int
9737 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_) {
9738   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9739                                   NULL);
9740
9741   return offset;
9742 }
9743
9744
9745 static const ber_sequence_t RedirectionRequest_U_set[] = {
9746   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
9747   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9748   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
9749   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
9750   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
9751   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
9752   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
9753   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
9754   { NULL, 0, 0, 0, NULL }
9755 };
9756
9757 static int
9758 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_) {
9759   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9760                               RedirectionRequest_U_set, hf_index, ett_ansi_map_RedirectionRequest_U);
9761
9762   return offset;
9763 }
9764
9765
9766
9767 static int
9768 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_) {
9769   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9770                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RedirectionRequest_U);
9771
9772   return offset;
9773 }
9774
9775
9776
9777 static int
9778 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_) {
9779   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9780                                        NULL);
9781
9782   return offset;
9783 }
9784
9785
9786
9787 static int
9788 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_) {
9789 #line 126 "ansi_map.cnf"
9790         tvbuff_t *parameter_tvb = NULL;
9791   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9792                                        &parameter_tvb);
9793
9794         if (parameter_tvb){
9795                 dissect_ansi_map_controlchanneldata(parameter_tvb,actx->pinfo,tree, actx);
9796         }
9797
9798
9799
9800   return offset;
9801 }
9802
9803
9804
9805 static int
9806 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_) {
9807   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9808                                                 NULL);
9809
9810   return offset;
9811 }
9812
9813
9814
9815 static int
9816 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_) {
9817   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9818                                        NULL);
9819
9820   return offset;
9821 }
9822
9823
9824 static const ber_sequence_t RegistrationCancellation_U_set[] = {
9825   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9826   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
9827   { &hf_ansi_map_cancellationType, BER_CLASS_CON, 85, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CancellationType },
9828   { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
9829   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
9830   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9831   { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
9832   { NULL, 0, 0, 0, NULL }
9833 };
9834
9835 static int
9836 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_) {
9837   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9838                               RegistrationCancellation_U_set, hf_index, ett_ansi_map_RegistrationCancellation_U);
9839
9840   return offset;
9841 }
9842
9843
9844
9845 static int
9846 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_) {
9847   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9848                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationCancellation_U);
9849
9850   return offset;
9851 }
9852
9853
9854 static const value_string ansi_map_CancellationDenied_vals[] = {
9855   {   0, "not-used" },
9856   {   1, "multipleAccess" },
9857   {   2, "busy" },
9858   { 0, NULL }
9859 };
9860
9861
9862 static int
9863 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_) {
9864   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9865                                   NULL);
9866
9867   return offset;
9868 }
9869
9870
9871 static const ber_sequence_t RegistrationCancellationRes_U_set[] = {
9872   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
9873   { &hf_ansi_map_cancellationDenied, BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CancellationDenied },
9874   { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
9875   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
9876   { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
9877   { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
9878   { NULL, 0, 0, 0, NULL }
9879 };
9880
9881 static int
9882 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_) {
9883   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9884                               RegistrationCancellationRes_U_set, hf_index, ett_ansi_map_RegistrationCancellationRes_U);
9885
9886   return offset;
9887 }
9888
9889
9890
9891 static int
9892 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_) {
9893   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
9894                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationCancellationRes_U);
9895
9896   return offset;
9897 }
9898
9899
9900
9901 static int
9902 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_) {
9903   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
9904                                        NULL);
9905
9906   return offset;
9907 }
9908
9909
9910 static const value_string ansi_map_BorderCellAccess_vals[] = {
9911   {   0, "not-used" },
9912   {   1, "border-Cell-Access" },
9913   { 0, NULL }
9914 };
9915
9916
9917 static int
9918 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_) {
9919   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
9920                                   NULL);
9921
9922   return offset;
9923 }
9924
9925
9926
9927 static int
9928 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_) {
9929   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
9930
9931   return offset;
9932 }
9933
9934
9935
9936 static int
9937 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_) {
9938   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
9939
9940   return offset;
9941 }
9942
9943
9944
9945 static int
9946 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_) {
9947   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
9948
9949   return offset;
9950 }
9951
9952
9953 static const ber_sequence_t MPCAddressList_set[] = {
9954   { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
9955   { &hf_ansi_map_mpcAddress2, BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
9956   { NULL, 0, 0, 0, NULL }
9957 };
9958
9959 static int
9960 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_) {
9961   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
9962                               MPCAddressList_set, hf_index, ett_ansi_map_MPCAddressList);
9963
9964   return offset;
9965 }
9966
9967
9968 static const ber_sequence_t RegistrationNotification_U_set[] = {
9969   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
9970   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
9971   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
9972   { &hf_ansi_map_qualificationInformationCode, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ansi_map_QualificationInformationCode },
9973   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
9974   { &hf_ansi_map_availabilityType, BER_CLASS_CON, 90, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AvailabilityType },
9975   { &hf_ansi_map_borderCellAccess, BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BorderCellAccess },
9976   { &hf_ansi_map_cdmaNetworkIdentification, BER_CLASS_CON, 232, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMANetworkIdentification },
9977   { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
9978   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
9979   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
9980   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
9981   { &hf_ansi_map_msc_Address, BER_CLASS_CON, 284, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSC_Address },
9982   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
9983   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
9984   { &hf_ansi_map_reportType , BER_CLASS_CON, 44, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReportType },
9985   { &hf_ansi_map_serviceRedirectionCause, BER_CLASS_CON, 237, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionCause },
9986   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
9987   { &hf_ansi_map_sms_Address, BER_CLASS_CON, 104, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_Address },
9988   { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
9989   { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
9990   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
9991   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
9992   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
9993   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
9994   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
9995   { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
9996   { &hf_ansi_map_mpcAddressList, BER_CLASS_CON, 381, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddressList },
9997   { NULL, 0, 0, 0, NULL }
9998 };
9999
10000 static int
10001 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_) {
10002   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10003                               RegistrationNotification_U_set, hf_index, ett_ansi_map_RegistrationNotification_U);
10004
10005   return offset;
10006 }
10007
10008
10009
10010 static int
10011 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_) {
10012   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10013                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationNotification_U);
10014
10015   return offset;
10016 }
10017
10018
10019
10020 static int
10021 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_) {
10022   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10023                                        NULL);
10024
10025   return offset;
10026 }
10027
10028
10029
10030 static int
10031 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_) {
10032 #line 81 "ansi_map.cnf"
10033         tvbuff_t *parameter_tvb = NULL;
10034   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10035                                        &parameter_tvb);
10036
10037         if (parameter_tvb){
10038                 dissect_ansi_map_callingfeaturesindicator(parameter_tvb,actx->pinfo,tree, actx);
10039         }
10040
10041
10042   return offset;
10043 }
10044
10045
10046
10047 static int
10048 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_) {
10049   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10050                                        NULL);
10051
10052   return offset;
10053 }
10054
10055
10056
10057 static int
10058 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_) {
10059   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
10060
10061   return offset;
10062 }
10063
10064
10065 static const value_string ansi_map_OriginationIndicator_vals[] = {
10066   {   0, "not-used" },
10067   {   1, "prior-agreement" },
10068   {   2, "origination-denied" },
10069   {   3, "local-calls-only" },
10070   {   4, "selected-leading-digits-of-directorynumberor-of-international-E164-number" },
10071   {   5, "selected-leading-digits-of-directorynumberor-of-international-E164-numbe-and-local-calls-only" },
10072   {   6, "national-long-distance" },
10073   {   7, "international-calls" },
10074   {   8, "single-directory-number-or-international-E164-number" },
10075   { 0, NULL }
10076 };
10077
10078
10079 static int
10080 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_) {
10081   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10082                                   NULL);
10083
10084   return offset;
10085 }
10086
10087
10088
10089 static int
10090 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_) {
10091   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10092
10093   return offset;
10094 }
10095
10096
10097
10098 static int
10099 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_) {
10100 #line 301 "ansi_map.cnf"
10101         tvbuff_t *parameter_tvb = NULL;
10102   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10103                                        &parameter_tvb);
10104
10105         if (parameter_tvb){
10106                 dissect_ansi_map_sms_originationrestrictions(parameter_tvb,actx->pinfo,tree, actx);
10107         }
10108
10109
10110
10111   return offset;
10112 }
10113
10114
10115
10116 static int
10117 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_) {
10118   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10119                                        NULL);
10120
10121   return offset;
10122 }
10123
10124
10125
10126 static int
10127 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_) {
10128   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10129
10130   return offset;
10131 }
10132
10133
10134
10135 static int
10136 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_) {
10137   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10138                                        NULL);
10139
10140   return offset;
10141 }
10142
10143
10144 static const value_string ansi_map_TerminationRestrictionCode_vals[] = {
10145   {   0, "not-used" },
10146   {   1, "termination-denied" },
10147   {   2, "unrestricted" },
10148   {   3, "the-treatment-for-this-value-is-not-specified" },
10149   { 0, NULL }
10150 };
10151
10152
10153 static int
10154 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_) {
10155   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10156                                   NULL);
10157
10158   return offset;
10159 }
10160
10161
10162 static const value_string ansi_map_LIRMode_vals[] = {
10163   {   0, "not-used" },
10164   {   1, "unconditionally-Restricted" },
10165   {   2, "pre-Authorized-LCS-Clients-Only" },
10166   {   3, "pre-Authorized-LCS-Clients-and-User-Authorized-LCS-Clients" },
10167   {   4, "unrestricted" },
10168   { 0, NULL }
10169 };
10170
10171
10172 static int
10173 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_) {
10174   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10175                                   NULL);
10176
10177   return offset;
10178 }
10179
10180
10181 static const ber_sequence_t RegistrationNotificationRes_U_set[] = {
10182   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
10183   { &hf_ansi_map_analogRedirectRecord, BER_CLASS_CON, 225, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnalogRedirectRecord },
10184   { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
10185   { &hf_ansi_map_authorizationPeriod, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationPeriod },
10186   { &hf_ansi_map_cdmaRedirectRecord, BER_CLASS_CON, 229, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMARedirectRecord },
10187   { &hf_ansi_map_controlChannelData, BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelData },
10188   { &hf_ansi_map_deniedAuthorizationPeriod, BER_CLASS_CON, 167, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DeniedAuthorizationPeriod },
10189   { &hf_ansi_map_digits_Carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10190   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10191   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10192   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10193   { &hf_ansi_map_authenticationCapability, BER_CLASS_CON, 78, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationCapability },
10194   { &hf_ansi_map_callingFeaturesIndicator, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingFeaturesIndicator },
10195   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
10196   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
10197   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
10198   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
10199   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
10200   { &hf_ansi_map_geographicAuthorization, BER_CLASS_CON, 143, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicAuthorization },
10201   { &hf_ansi_map_meidValidated, BER_CLASS_CON, 401, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDValidated },
10202   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
10203   { &hf_ansi_map_messageWaitingNotificationType, BER_CLASS_CON, 289, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationType },
10204   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
10205   { &hf_ansi_map_originationIndicator, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationIndicator },
10206   { &hf_ansi_map_originationTriggers, BER_CLASS_CON, 98, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OriginationTriggers },
10207   { &hf_ansi_map_pACAIndicator, BER_CLASS_CON, 146, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PACAIndicator },
10208   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
10209   { &hf_ansi_map_restrictionDigits, BER_CLASS_CON, 227, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RestrictionDigits },
10210   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
10211   { &hf_ansi_map_sms_OriginationRestrictions, BER_CLASS_CON, 115, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginationRestrictions },
10212   { &hf_ansi_map_sms_TerminationRestrictions, BER_CLASS_CON, 117, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TerminationRestrictions },
10213   { &hf_ansi_map_spinipin   , BER_CLASS_CON, 154, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINIPIN },
10214   { &hf_ansi_map_spiniTriggers, BER_CLASS_CON, 155, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SPINITriggers },
10215   { &hf_ansi_map_terminationRestrictionCode, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationRestrictionCode },
10216   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
10217   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
10218   { &hf_ansi_map_callingPartyCategory, BER_CLASS_CON, 355, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyCategory },
10219   { &hf_ansi_map_lirMode    , BER_CLASS_CON, 369, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRMode },
10220   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
10221   { &hf_ansi_map_serviceRedirectionInfo, BER_CLASS_CON, 238, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceRedirectionInfo },
10222   { &hf_ansi_map_roamingIndication, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoamingIndication },
10223   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
10224   { &hf_ansi_map_sms_MessageWaitingIndicator, BER_CLASS_CON, 118, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageWaitingIndicator },
10225   { &hf_ansi_map_systemAccessData, BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessData },
10226   { NULL, 0, 0, 0, NULL }
10227 };
10228
10229 static int
10230 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_) {
10231   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10232                               RegistrationNotificationRes_U_set, hf_index, ett_ansi_map_RegistrationNotificationRes_U);
10233
10234   return offset;
10235 }
10236
10237
10238
10239 static int
10240 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_) {
10241   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10242                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RegistrationNotificationRes_U);
10243
10244   return offset;
10245 }
10246
10247
10248
10249 static int
10250 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_) {
10251   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10252                                        NULL);
10253
10254   return offset;
10255 }
10256
10257
10258 static const ber_sequence_t RemoteUserInteractionDirective_U_set[] = {
10259   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
10260   { &hf_ansi_map_digitCollectionControl, BER_CLASS_CON, 139, BER_FLAGS_IMPLTAG, dissect_ansi_map_DigitCollectionControl },
10261   { NULL, 0, 0, 0, NULL }
10262 };
10263
10264 static int
10265 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_) {
10266   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10267                               RemoteUserInteractionDirective_U_set, hf_index, ett_ansi_map_RemoteUserInteractionDirective_U);
10268
10269   return offset;
10270 }
10271
10272
10273
10274 static int
10275 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_) {
10276   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10277                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RemoteUserInteractionDirective_U);
10278
10279   return offset;
10280 }
10281
10282
10283 static const ber_sequence_t RemoteUserInteractionDirectiveRes_U_set[] = {
10284   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10285   { NULL, 0, 0, 0, NULL }
10286 };
10287
10288 static int
10289 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_) {
10290   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10291                               RemoteUserInteractionDirectiveRes_U_set, hf_index, ett_ansi_map_RemoteUserInteractionDirectiveRes_U);
10292
10293   return offset;
10294 }
10295
10296
10297
10298 static int
10299 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_) {
10300   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10301                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RemoteUserInteractionDirectiveRes_U);
10302
10303   return offset;
10304 }
10305
10306
10307 static const ber_sequence_t ResetCircuit_U_set[] = {
10308   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
10309   { NULL, 0, 0, 0, NULL }
10310 };
10311
10312 static int
10313 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_) {
10314   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10315                               ResetCircuit_U_set, hf_index, ett_ansi_map_ResetCircuit_U);
10316
10317   return offset;
10318 }
10319
10320
10321
10322 static int
10323 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_) {
10324   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10325                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ResetCircuit_U);
10326
10327   return offset;
10328 }
10329
10330
10331 static const value_string ansi_map_TrunkStatus_vals[] = {
10332   {   0, "idle" },
10333   {   1, "blocked" },
10334   { 0, NULL }
10335 };
10336
10337
10338 static int
10339 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_) {
10340   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
10341                                   NULL);
10342
10343   return offset;
10344 }
10345
10346
10347 static const ber_sequence_t ResetCircuitRes_U_set[] = {
10348   { &hf_ansi_map_trunkStatus, BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_ansi_map_TrunkStatus },
10349   { NULL, 0, 0, 0, NULL }
10350 };
10351
10352 static int
10353 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_) {
10354   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10355                               ResetCircuitRes_U_set, hf_index, ett_ansi_map_ResetCircuitRes_U);
10356
10357   return offset;
10358 }
10359
10360
10361
10362 static int
10363 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_) {
10364   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10365                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ResetCircuitRes_U);
10366
10367   return offset;
10368 }
10369
10370
10371
10372 static int
10373 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_) {
10374   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10375                                        NULL);
10376
10377   return offset;
10378 }
10379
10380
10381 static const ber_sequence_t RoutingRequest_U_set[] = {
10382   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
10383   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10384   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10385   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
10386   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
10387   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
10388   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
10389   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
10390   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
10391   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
10392   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
10393   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
10394   { &hf_ansi_map_controlChannelMode, BER_CLASS_CON, 199, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlChannelMode },
10395   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
10396   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
10397   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
10398   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
10399   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
10400   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
10401   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
10402   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
10403   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
10404   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10405   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
10406   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
10407   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
10408   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
10409   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
10410   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
10411   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
10412   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
10413   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
10414   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
10415   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
10416   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
10417   { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
10418   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
10419   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
10420   { &hf_ansi_map_userGroup  , BER_CLASS_CON, 208, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UserGroup },
10421   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
10422   { &hf_ansi_map_voiceMailboxNumber, BER_CLASS_CON, 160, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxNumber },
10423   { &hf_ansi_map_voiceMailboxPIN, BER_CLASS_CON, 159, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoiceMailboxPIN },
10424   { NULL, 0, 0, 0, NULL }
10425 };
10426
10427 static int
10428 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_) {
10429   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10430                               RoutingRequest_U_set, hf_index, ett_ansi_map_RoutingRequest_U);
10431
10432   return offset;
10433 }
10434
10435
10436
10437 static int
10438 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_) {
10439   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10440                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoutingRequest_U);
10441
10442   return offset;
10443 }
10444
10445
10446 static const ber_sequence_t RoutingRequestRes_U_set[] = {
10447   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10448   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
10449   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
10450   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
10451   { &hf_ansi_map_conditionallyDeniedReason, BER_CLASS_CON, 162, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConditionallyDeniedReason },
10452   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
10453   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
10454   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
10455   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
10456   { NULL, 0, 0, 0, NULL }
10457 };
10458
10459 static int
10460 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_) {
10461   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10462                               RoutingRequestRes_U_set, hf_index, ett_ansi_map_RoutingRequestRes_U);
10463
10464   return offset;
10465 }
10466
10467
10468
10469 static int
10470 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_) {
10471   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10472                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoutingRequestRes_U);
10473
10474   return offset;
10475 }
10476
10477
10478
10479 static int
10480 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_) {
10481 #line 263 "ansi_map.cnf"
10482         int length;
10483     proto_tree *subtree;
10484         SMS_BearerData_tvb = NULL;
10485
10486   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10487                                        &SMS_BearerData_tvb);
10488
10489         if (SMS_BearerData_tvb){
10490                 /* A zero length OCTET STRING will return a zero length tvb */
10491                 length = tvb_length_remaining(SMS_BearerData_tvb,0);
10492                 if (length <=0){
10493                         subtree = proto_item_add_subtree(actx->created_item, ett_sms_bearer_data);
10494                         proto_item_append_text(actx->created_item," length %u",length);
10495                         SMS_BearerData_tvb = NULL;
10496                         return offset;
10497                 }
10498                 if(!ansi_map_is_invoke){
10499                         switch(ServiceIndicator){
10500                                 case 1: /* CDMA OTASP Service */
10501                                 case 3: /* CDMA OTAPA Service */
10502                                         dissector_try_port(is683_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
10503                                         break;
10504                                 case 4: /* CDMA Position Determination Service */
10505                                         dissector_try_port(is801_dissector_table, ansi_map_is_invoke ? 0 : 1, SMS_BearerData_tvb, g_pinfo, g_tree);
10506                                         break;
10507                                 default:
10508                                         break;
10509                         }
10510                 }
10511                 else
10512                 {
10513                         if (ansi_map_sms_tele_id != -1)
10514                         {
10515                                 dissector_try_port(is637_tele_id_dissector_table, ansi_map_sms_tele_id, SMS_BearerData_tvb, g_pinfo, g_tree);
10516                         }
10517                 }
10518         }
10519
10520
10521
10522   return offset;
10523 }
10524
10525
10526
10527 static int
10528 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_) {
10529 #line 310 "ansi_map.cnf"
10530
10531         int length;
10532     proto_tree *subtree;
10533         tvbuff_t *parameter_tvb = NULL;
10534         ansi_map_sms_tele_id = -1;
10535
10536   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10537                                        &parameter_tvb);
10538
10539         if (parameter_tvb){
10540                 /* A zero length OCTET STRING will return a zero length tvb */
10541                 length = tvb_length_remaining(parameter_tvb,0);
10542                 if (length <=0){
10543                         subtree = proto_item_add_subtree(actx->created_item, ett_sms_teleserviceIdentifier);
10544                         proto_item_append_text(actx->created_item, " length %u",length);
10545                         return offset;
10546                 }
10547                 ansi_map_sms_tele_id = tvb_get_ntohs(tvb,0);
10548                 if ((ansi_map_sms_tele_id != -1)&&(SMS_BearerData_tvb !=NULL))
10549                 {
10550                     dissector_try_port(is637_tele_id_dissector_table, ansi_map_sms_tele_id, SMS_BearerData_tvb, g_pinfo, g_tree);
10551                 }
10552         }
10553
10554
10555
10556   return offset;
10557 }
10558
10559
10560
10561 static int
10562 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_) {
10563   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10564                                        NULL);
10565
10566   return offset;
10567 }
10568
10569
10570
10571 static int
10572 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_) {
10573   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10574
10575   return offset;
10576 }
10577
10578
10579
10580 static int
10581 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_) {
10582   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10583
10584   return offset;
10585 }
10586
10587
10588
10589 static int
10590 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_) {
10591   offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
10592
10593   return offset;
10594 }
10595
10596
10597
10598 static int
10599 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_) {
10600   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10601
10602   return offset;
10603 }
10604
10605
10606
10607 static int
10608 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_) {
10609   offset = dissect_ansi_map_Subaddress(implicit_tag, tvb, offset, actx, tree, hf_index);
10610
10611   return offset;
10612 }
10613
10614
10615
10616 static int
10617 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_) {
10618   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
10619
10620   return offset;
10621 }
10622
10623
10624 static const ber_sequence_t SMSDeliveryBackward_U_set[] = {
10625   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
10626   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10627   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10628   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
10629   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10630   { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
10631   { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
10632   { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
10633   { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
10634   { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
10635   { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
10636   { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
10637   { NULL, 0, 0, 0, NULL }
10638 };
10639
10640 static int
10641 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_) {
10642   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10643                               SMSDeliveryBackward_U_set, hf_index, ett_ansi_map_SMSDeliveryBackward_U);
10644
10645   return offset;
10646 }
10647
10648
10649
10650 static int
10651 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_) {
10652   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10653                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryBackward_U);
10654
10655   return offset;
10656 }
10657
10658
10659
10660 static int
10661 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_) {
10662   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10663                                        NULL);
10664
10665   return offset;
10666 }
10667
10668
10669 static const ber_sequence_t SMSDeliveryBackwardRes_U_set[] = {
10670   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10671   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
10672   { NULL, 0, 0, 0, NULL }
10673 };
10674
10675 static int
10676 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_) {
10677   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10678                               SMSDeliveryBackwardRes_U_set, hf_index, ett_ansi_map_SMSDeliveryBackwardRes_U);
10679
10680   return offset;
10681 }
10682
10683
10684
10685 static int
10686 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_) {
10687   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10688                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryBackwardRes_U);
10689
10690   return offset;
10691 }
10692
10693
10694 static const ber_sequence_t SMSDeliveryForward_U_set[] = {
10695   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
10696   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10697   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10698   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
10699   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10700   { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
10701   { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
10702   { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
10703   { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
10704   { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
10705   { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
10706   { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
10707   { NULL, 0, 0, 0, NULL }
10708 };
10709
10710 static int
10711 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_) {
10712   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10713                               SMSDeliveryForward_U_set, hf_index, ett_ansi_map_SMSDeliveryForward_U);
10714
10715   return offset;
10716 }
10717
10718
10719
10720 static int
10721 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_) {
10722   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10723                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryForward_U);
10724
10725   return offset;
10726 }
10727
10728
10729 static const ber_sequence_t SMSDeliveryForwardRes_U_set[] = {
10730   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10731   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
10732   { NULL, 0, 0, 0, NULL }
10733 };
10734
10735 static int
10736 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_) {
10737   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10738                               SMSDeliveryForwardRes_U_set, hf_index, ett_ansi_map_SMSDeliveryForwardRes_U);
10739
10740   return offset;
10741 }
10742
10743
10744
10745 static int
10746 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_) {
10747   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10748                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryForwardRes_U);
10749
10750   return offset;
10751 }
10752
10753
10754
10755 static int
10756 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_) {
10757   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10758                                        NULL);
10759
10760   return offset;
10761 }
10762
10763
10764
10765 static int
10766 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_) {
10767   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10768                                        NULL);
10769
10770   return offset;
10771 }
10772
10773
10774
10775 static int
10776 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_) {
10777   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10778                                        NULL);
10779
10780   return offset;
10781 }
10782
10783
10784
10785 static int
10786 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_) {
10787   offset = dissect_ansi_map_IMSIType(implicit_tag, tvb, offset, actx, tree, hf_index);
10788
10789   return offset;
10790 }
10791
10792
10793
10794 static int
10795 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_) {
10796   offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
10797
10798   return offset;
10799 }
10800
10801
10802
10803 static int
10804 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_) {
10805   offset = dissect_ansi_map_MINType(implicit_tag, tvb, offset, actx, tree, hf_index);
10806
10807   return offset;
10808 }
10809
10810
10811
10812 static int
10813 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_) {
10814   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10815                                        NULL);
10816
10817   return offset;
10818 }
10819
10820
10821
10822 static int
10823 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_) {
10824   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10825                                        NULL);
10826
10827   return offset;
10828 }
10829
10830
10831
10832 static int
10833 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_) {
10834   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10835                                        NULL);
10836
10837   return offset;
10838 }
10839
10840
10841
10842 static int
10843 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_) {
10844   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10845                                        NULL);
10846
10847   return offset;
10848 }
10849
10850
10851 static const ber_sequence_t SMSDeliveryPointToPoint_U_set[] = {
10852   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10853   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
10854   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
10855   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
10856   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10857   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
10858   { &hf_ansi_map_interMessageTime, BER_CLASS_CON, 325, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMessageTime },
10859   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10860   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
10861   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
10862   { &hf_ansi_map_newlyAssignedIMSI, BER_CLASS_CON, 287, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedIMSI },
10863   { &hf_ansi_map_newlyAssignedMIN, BER_CLASS_CON, 187, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedMIN },
10864   { &hf_ansi_map_newMINExtension, BER_CLASS_CON, 328, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NewMINExtension },
10865   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
10866   { &hf_ansi_map_sms_ChargeIndicator, BER_CLASS_CON, 106, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_ChargeIndicator },
10867   { &hf_ansi_map_sms_DestinationAddress, BER_CLASS_CON, 107, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_DestinationAddress },
10868   { &hf_ansi_map_sms_MessageCount, BER_CLASS_CON, 108, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageCount },
10869   { &hf_ansi_map_sms_NotificationIndicator, BER_CLASS_CON, 109, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_NotificationIndicator },
10870   { &hf_ansi_map_sms_OriginalDestinationAddress, BER_CLASS_CON, 110, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationAddress },
10871   { &hf_ansi_map_sms_OriginalDestinationSubaddress, BER_CLASS_CON, 111, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalDestinationSubaddress },
10872   { &hf_ansi_map_sms_OriginalOriginatingAddress, BER_CLASS_CON, 112, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingAddress },
10873   { &hf_ansi_map_sms_OriginalOriginatingSubaddress, BER_CLASS_CON, 113, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginalOriginatingSubaddress },
10874   { &hf_ansi_map_sms_OriginatingAddress, BER_CLASS_CON, 114, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_OriginatingAddress },
10875   { &hf_ansi_map_teleservice_Priority, BER_CLASS_CON, 290, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Teleservice_Priority },
10876   { &hf_ansi_map_temporaryReferenceNumber, BER_CLASS_CON, 195, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TemporaryReferenceNumber },
10877   { NULL, 0, 0, 0, NULL }
10878 };
10879
10880 static int
10881 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_) {
10882   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10883                               SMSDeliveryPointToPoint_U_set, hf_index, ett_ansi_map_SMSDeliveryPointToPoint_U);
10884
10885   return offset;
10886 }
10887
10888
10889
10890 static int
10891 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_) {
10892   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10893                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryPointToPoint_U);
10894
10895   return offset;
10896 }
10897
10898
10899
10900 static int
10901 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_) {
10902   offset = dissect_ansi_map_IMSIType(implicit_tag, tvb, offset, actx, tree, hf_index);
10903
10904   return offset;
10905 }
10906
10907
10908 static const value_string ansi_map_MobileStationMSID_vals[] = {
10909   { 184, "mobileStationMIN" },
10910   { 286, "mobileStationIMSI" },
10911   { 0, NULL }
10912 };
10913
10914 static const ber_choice_t MobileStationMSID_choice[] = {
10915   { 184, &hf_ansi_map_mobileStationMIN, BER_CLASS_CON, 184, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationMIN },
10916   { 286, &hf_ansi_map_mobileStationIMSI, BER_CLASS_CON, 286, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationIMSI },
10917   { 0, NULL, 0, 0, 0, NULL }
10918 };
10919
10920 static int
10921 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_) {
10922   offset = dissect_ber_choice(actx, tree, tvb, offset,
10923                                  MobileStationMSID_choice, hf_index, ett_ansi_map_MobileStationMSID,
10924                                  NULL);
10925
10926   return offset;
10927 }
10928
10929
10930 static const ber_sequence_t SMSDeliveryPointToPointRes_U_set[] = {
10931   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
10932   { &hf_ansi_map_authorizationDenied, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthorizationDenied },
10933   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
10934   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10935   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
10936   { &hf_ansi_map_mobileStationMSID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MobileStationMSID },
10937   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
10938   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
10939   { &hf_ansi_map_sms_BearerData, BER_CLASS_CON, 105, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_BearerData },
10940   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
10941   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
10942   { NULL, 0, 0, 0, NULL }
10943 };
10944
10945 static int
10946 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_) {
10947   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10948                               SMSDeliveryPointToPointRes_U_set, hf_index, ett_ansi_map_SMSDeliveryPointToPointRes_U);
10949
10950   return offset;
10951 }
10952
10953
10954
10955 static int
10956 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_) {
10957   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10958                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSDeliveryPointToPointRes_U);
10959
10960   return offset;
10961 }
10962
10963
10964
10965 static int
10966 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_) {
10967   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
10968                                        NULL);
10969
10970   return offset;
10971 }
10972
10973
10974 static const ber_sequence_t SMSNotification_U_set[] = {
10975   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
10976   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
10977   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
10978   { &hf_ansi_map_sms_AccessDeniedReason, BER_CLASS_CON, 152, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_AccessDeniedReason },
10979   { &hf_ansi_map_sms_Address, BER_CLASS_CON, 104, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_Address },
10980   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
10981   { NULL, 0, 0, 0, NULL }
10982 };
10983
10984 static int
10985 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_) {
10986   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
10987                               SMSNotification_U_set, hf_index, ett_ansi_map_SMSNotification_U);
10988
10989   return offset;
10990 }
10991
10992
10993
10994 static int
10995 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_) {
10996   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
10997                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSNotification_U);
10998
10999   return offset;
11000 }
11001
11002
11003 static const ber_sequence_t SMSNotificationRes_U_set[] = {
11004   { &hf_ansi_map_sms_MessageCount, BER_CLASS_CON, 108, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_MessageCount },
11005   { NULL, 0, 0, 0, NULL }
11006 };
11007
11008 static int
11009 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_) {
11010   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11011                               SMSNotificationRes_U_set, hf_index, ett_ansi_map_SMSNotificationRes_U);
11012
11013   return offset;
11014 }
11015
11016
11017
11018 static int
11019 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_) {
11020   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11021                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSNotificationRes_U);
11022
11023   return offset;
11024 }
11025
11026
11027 static const ber_sequence_t SMSRequest_U_set[] = {
11028   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11029   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11030   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11031   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
11032   { &hf_ansi_map_sms_NotificationIndicator, BER_CLASS_CON, 109, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_NotificationIndicator },
11033   { &hf_ansi_map_sms_TeleserviceIdentifier, BER_CLASS_CON, 116, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_TeleserviceIdentifier },
11034   { NULL, 0, 0, 0, NULL }
11035 };
11036
11037 static int
11038 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_) {
11039   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11040                               SMSRequest_U_set, hf_index, ett_ansi_map_SMSRequest_U);
11041
11042   return offset;
11043 }
11044
11045
11046
11047 static int
11048 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_) {
11049   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11050                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSRequest_U);
11051
11052   return offset;
11053 }
11054
11055
11056 static const ber_sequence_t SMSRequestRes_U_set[] = {
11057   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11058   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11059   { &hf_ansi_map_sms_AccessDeniedReason, BER_CLASS_CON, 152, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_AccessDeniedReason },
11060   { &hf_ansi_map_sms_Address, BER_CLASS_CON, 104, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_Address },
11061   { &hf_ansi_map_sms_CauseCode, BER_CLASS_CON, 153, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SMS_CauseCode },
11062   { NULL, 0, 0, 0, NULL }
11063 };
11064
11065 static int
11066 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_) {
11067   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11068                               SMSRequestRes_U_set, hf_index, ett_ansi_map_SMSRequestRes_U);
11069
11070   return offset;
11071 }
11072
11073
11074
11075 static int
11076 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_) {
11077   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11078                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SMSRequestRes_U);
11079
11080   return offset;
11081 }
11082
11083
11084 static const ber_sequence_t TransferToNumberRequest_U_set[] = {
11085   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
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_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11088   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
11089   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11090   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11091   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11092   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11093   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11094   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11095   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11096   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
11097   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
11098   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
11099   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11100   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11101   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
11102   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
11103   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11104   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
11105   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
11106   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
11107   { NULL, 0, 0, 0, NULL }
11108 };
11109
11110 static int
11111 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_) {
11112   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11113                               TransferToNumberRequest_U_set, hf_index, ett_ansi_map_TransferToNumberRequest_U);
11114
11115   return offset;
11116 }
11117
11118
11119
11120 static int
11121 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_) {
11122   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11123                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TransferToNumberRequest_U);
11124
11125   return offset;
11126 }
11127
11128
11129 static const ber_sequence_t TransferToNumberRequestRes_U_set[] = {
11130   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11131   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11132   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
11133   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
11134   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
11135   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
11136   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11137   { &hf_ansi_map_digits_Carrier, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11138   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
11139   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
11140   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
11141   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
11142   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
11143   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11144   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
11145   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL, dissect_ansi_map_GroupInformation },
11146   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11147   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
11148   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11149   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11150   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
11151   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11152   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
11153   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
11154   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
11155   { NULL, 0, 0, 0, NULL }
11156 };
11157
11158 static int
11159 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_) {
11160   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11161                               TransferToNumberRequestRes_U_set, hf_index, ett_ansi_map_TransferToNumberRequestRes_U);
11162
11163   return offset;
11164 }
11165
11166
11167
11168 static int
11169 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_) {
11170   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11171                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TransferToNumberRequestRes_U);
11172
11173   return offset;
11174 }
11175
11176
11177 static const value_string ansi_map_SeizureType_vals[] = {
11178   {   0, "unspecified" },
11179   {   1, "loop-back" },
11180   { 0, NULL }
11181 };
11182
11183
11184 static int
11185 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_) {
11186   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11187                                   NULL);
11188
11189   return offset;
11190 }
11191
11192
11193 static const ber_sequence_t TrunkTest_U_set[] = {
11194   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11195   { &hf_ansi_map_seizureType, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_ansi_map_SeizureType },
11196   { NULL, 0, 0, 0, NULL }
11197 };
11198
11199 static int
11200 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_) {
11201   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11202                               TrunkTest_U_set, hf_index, ett_ansi_map_TrunkTest_U);
11203
11204   return offset;
11205 }
11206
11207
11208
11209 static int
11210 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_) {
11211   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11212                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TrunkTest_U);
11213
11214   return offset;
11215 }
11216
11217
11218 static const ber_sequence_t TrunkTestDisconnect_U_set[] = {
11219   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11220   { NULL, 0, 0, 0, NULL }
11221 };
11222
11223 static int
11224 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_) {
11225   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11226                               TrunkTestDisconnect_U_set, hf_index, ett_ansi_map_TrunkTestDisconnect_U);
11227
11228   return offset;
11229 }
11230
11231
11232
11233 static int
11234 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_) {
11235   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11236                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TrunkTestDisconnect_U);
11237
11238   return offset;
11239 }
11240
11241
11242 static const ber_sequence_t Unblocking_U_set[] = {
11243   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
11244   { NULL, 0, 0, 0, NULL }
11245 };
11246
11247 static int
11248 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_) {
11249   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11250                               Unblocking_U_set, hf_index, ett_ansi_map_Unblocking_U);
11251
11252   return offset;
11253 }
11254
11255
11256
11257 static int
11258 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_) {
11259   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11260                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Unblocking_U);
11261
11262   return offset;
11263 }
11264
11265
11266 static const ber_sequence_t UnreliableRoamerDataDirective_U_set[] = {
11267   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11268   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11269   { NULL, 0, 0, 0, NULL }
11270 };
11271
11272 static int
11273 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_) {
11274   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11275                               UnreliableRoamerDataDirective_U_set, hf_index, ett_ansi_map_UnreliableRoamerDataDirective_U);
11276
11277   return offset;
11278 }
11279
11280
11281
11282 static int
11283 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_) {
11284   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11285                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnreliableRoamerDataDirective_U);
11286
11287   return offset;
11288 }
11289
11290
11291 static const ber_sequence_t UnsolicitedResponse_U_set[] = {
11292   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11293   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11294   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11295   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
11296   { &hf_ansi_map_digits_Destination, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11297   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
11298   { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
11299   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11300   { &hf_ansi_map_systemAccessType, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemAccessType },
11301   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
11302   { NULL, 0, 0, 0, NULL }
11303 };
11304
11305 static int
11306 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_) {
11307   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11308                               UnsolicitedResponse_U_set, hf_index, ett_ansi_map_UnsolicitedResponse_U);
11309
11310   return offset;
11311 }
11312
11313
11314
11315 static int
11316 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_) {
11317   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11318                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnsolicitedResponse_U);
11319
11320   return offset;
11321 }
11322
11323
11324 static const ber_sequence_t UnsolicitedResponseRes_U_set[] = {
11325   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11326   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
11327   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11328   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11329   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11330   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11331   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
11332   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
11333   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11334   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
11335   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
11336   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
11337   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
11338   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
11339   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
11340   { &hf_ansi_map_extendedSystemMyTypeCode, BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedSystemMyTypeCode },
11341   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
11342   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11343   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11344   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
11345   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11346   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
11347   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
11348   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11349   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11350   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
11351   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
11352   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11353   { &hf_ansi_map_terminationTreatment, BER_CLASS_CON, 121, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTreatment },
11354   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
11355   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
11356   { NULL, 0, 0, 0, NULL }
11357 };
11358
11359 static int
11360 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_) {
11361   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11362                               UnsolicitedResponseRes_U_set, hf_index, ett_ansi_map_UnsolicitedResponseRes_U);
11363
11364   return offset;
11365 }
11366
11367
11368
11369 static int
11370 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_) {
11371   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11372                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnsolicitedResponseRes_U);
11373
11374   return offset;
11375 }
11376
11377
11378
11379 static int
11380 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_) {
11381   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11382                                        NULL);
11383
11384   return offset;
11385 }
11386
11387
11388 static const ber_sequence_t ParameterRequest_U_set[] = {
11389   { &hf_ansi_map_requiredParametersMask, BER_CLASS_CON, 236, BER_FLAGS_IMPLTAG, dissect_ansi_map_RequiredParametersMask },
11390   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11391   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11392   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11393   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
11394   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11395   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11396   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11397   { NULL, 0, 0, 0, NULL }
11398 };
11399
11400 static int
11401 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_) {
11402   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11403                               ParameterRequest_U_set, hf_index, ett_ansi_map_ParameterRequest_U);
11404
11405   return offset;
11406 }
11407
11408
11409
11410 static int
11411 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_) {
11412   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11413                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ParameterRequest_U);
11414
11415   return offset;
11416 }
11417
11418
11419 static const value_string ansi_map_ReasonList_vals[] = {
11420   {   0, "unknown" },
11421   {   1, "unable-to-configure-ISLP" },
11422   {   2, "iSLP-failure" },
11423   {   3, "service-allowed-but-facilities-not-available" },
11424   {   4, "service-not-allowed" },
11425   {   5, "no-Response-to-TMSI-assignment" },
11426   {   6, "required-parameters-unavailable" },
11427   { 0, NULL }
11428 };
11429
11430
11431 static int
11432 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_) {
11433   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11434                                   NULL);
11435
11436   return offset;
11437 }
11438
11439
11440 static const ber_sequence_t ParameterRequestRes_U_set[] = {
11441   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11442   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
11443   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11444   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11445   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
11446   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
11447   { NULL, 0, 0, 0, NULL }
11448 };
11449
11450 static int
11451 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_) {
11452   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11453                               ParameterRequestRes_U_set, hf_index, ett_ansi_map_ParameterRequestRes_U);
11454
11455   return offset;
11456 }
11457
11458
11459
11460 static int
11461 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_) {
11462   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11463                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ParameterRequestRes_U);
11464
11465   return offset;
11466 }
11467
11468
11469
11470 static int
11471 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_) {
11472   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11473                                        NULL);
11474
11475   return offset;
11476 }
11477
11478
11479
11480 static int
11481 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_) {
11482   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
11483
11484   return offset;
11485 }
11486
11487
11488 static const ber_sequence_t TMSIDirective_U_set[] = {
11489   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11490   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11491   { &hf_ansi_map_networkTMSIExpirationTime, BER_CLASS_CON, 234, BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSIExpirationTime },
11492   { &hf_ansi_map_newNetworkTMSI, BER_CLASS_CON, 235, BER_FLAGS_IMPLTAG, dissect_ansi_map_NewNetworkTMSI },
11493   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11494   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
11495   { NULL, 0, 0, 0, NULL }
11496 };
11497
11498 static int
11499 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_) {
11500   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11501                               TMSIDirective_U_set, hf_index, ett_ansi_map_TMSIDirective_U);
11502
11503   return offset;
11504 }
11505
11506
11507
11508 static int
11509 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_) {
11510   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11511                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TMSIDirective_U);
11512
11513   return offset;
11514 }
11515
11516
11517 static const ber_sequence_t TMSIDirectiveRes_U_set[] = {
11518   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
11519   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11520   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11521   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
11522   { NULL, 0, 0, 0, NULL }
11523 };
11524
11525 static int
11526 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_) {
11527   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11528                               TMSIDirectiveRes_U_set, hf_index, ett_ansi_map_TMSIDirectiveRes_U);
11529
11530   return offset;
11531 }
11532
11533
11534
11535 static int
11536 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_) {
11537   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11538                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TMSIDirectiveRes_U);
11539
11540   return offset;
11541 }
11542
11543
11544 static const ber_sequence_t NumberPortabilityRequest_U_set[] = {
11545   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11546   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11547   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11548   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11549   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11550   { NULL, 0, 0, 0, NULL }
11551 };
11552
11553 static int
11554 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_) {
11555   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11556                               NumberPortabilityRequest_U_set, hf_index, ett_ansi_map_NumberPortabilityRequest_U);
11557
11558   return offset;
11559 }
11560
11561
11562
11563 static int
11564 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_) {
11565   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11566                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_NumberPortabilityRequest_U);
11567
11568   return offset;
11569 }
11570
11571
11572
11573 static int
11574 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_) {
11575   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11576                                        NULL);
11577
11578   return offset;
11579 }
11580
11581
11582
11583 static int
11584 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_) {
11585   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11586                                        NULL);
11587
11588   return offset;
11589 }
11590
11591
11592 static const value_string ansi_map_Change_vals[] = {
11593   {   1, "setDataItemToDefaultValue" },
11594   {   2, "addDataItem" },
11595   {   3, "deleteDataItem" },
11596   {   4, "replaceDataItemWithAssociatedDataValue" },
11597   { 0, NULL }
11598 };
11599
11600
11601 static int
11602 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_) {
11603   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11604                                   NULL);
11605
11606   return offset;
11607 }
11608
11609
11610
11611 static int
11612 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_) {
11613   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11614                                        NULL);
11615
11616   return offset;
11617 }
11618
11619
11620 static const ber_sequence_t DataAccessElement_sequence[] = {
11621   { &hf_ansi_map_dataID     , BER_CLASS_CON, 251, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataID },
11622   { &hf_ansi_map_change     , BER_CLASS_CON, 248, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Change },
11623   { &hf_ansi_map_dataValue  , BER_CLASS_CON, 256, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataValue },
11624   { NULL, 0, 0, 0, NULL }
11625 };
11626
11627 static int
11628 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_) {
11629   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11630                                    DataAccessElement_sequence, hf_index, ett_ansi_map_DataAccessElement);
11631
11632   return offset;
11633 }
11634
11635
11636 static const ber_sequence_t DataAccessElementList_item_sequence[] = {
11637   { &hf_ansi_map_dataAccessElement1, BER_CLASS_CON, 249, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElement },
11638   { &hf_ansi_map_dataAccessElement2, BER_CLASS_CON, 249, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElement },
11639   { NULL, 0, 0, 0, NULL }
11640 };
11641
11642 static int
11643 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_) {
11644   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
11645                                    DataAccessElementList_item_sequence, hf_index, ett_ansi_map_DataAccessElementList_item);
11646
11647   return offset;
11648 }
11649
11650
11651 static const ber_sequence_t DataAccessElementList_sequence_of[1] = {
11652   { &hf_ansi_map_DataAccessElementList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_DataAccessElementList_item },
11653 };
11654
11655 static int
11656 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_) {
11657   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
11658                                       DataAccessElementList_sequence_of, hf_index, ett_ansi_map_DataAccessElementList);
11659
11660   return offset;
11661 }
11662
11663
11664
11665 static int
11666 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_) {
11667   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11668                                        NULL);
11669
11670   return offset;
11671 }
11672
11673
11674
11675 static int
11676 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_) {
11677   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11678                                                 NULL);
11679
11680   return offset;
11681 }
11682
11683
11684 static const ber_sequence_t ServiceRequest_U_set[] = {
11685   { &hf_ansi_map_serviceID  , BER_CLASS_CON, 245, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceID },
11686   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11687   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11688   { &hf_ansi_map_availabilityType, BER_CLASS_CON, 90, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AvailabilityType },
11689   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11690   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11691   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11692   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11693   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11694   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
11695   { &hf_ansi_map_conditionallyDeniedReason, BER_CLASS_CON, 162, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConditionallyDeniedReason },
11696   { &hf_ansi_map_dataAccessElementList, BER_CLASS_CON, 250, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElementList },
11697   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
11698   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11699   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11700   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
11701   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11702   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
11703   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
11704   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL, dissect_ansi_map_GroupInformation },
11705   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
11706   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11707   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11708   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11709   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11710   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11711   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
11712   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
11713   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
11714   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11715   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
11716   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11717   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11718   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
11719   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11720   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
11721   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
11722   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11723   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
11724   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
11725   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
11726   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
11727   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
11728   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
11729   { NULL, 0, 0, 0, NULL }
11730 };
11731
11732 static int
11733 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_) {
11734   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11735                               ServiceRequest_U_set, hf_index, ett_ansi_map_ServiceRequest_U);
11736
11737   return offset;
11738 }
11739
11740
11741
11742 static int
11743 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_) {
11744   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11745                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ServiceRequest_U);
11746
11747   return offset;
11748 }
11749
11750
11751 static const ber_sequence_t ServiceRequestRes_U_set[] = {
11752   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11753   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
11754   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
11755   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
11756   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11757   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
11758   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
11759   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11760   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
11761   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11762   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
11763   { &hf_ansi_map_displayText2, BER_CLASS_CON, 299, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText2 },
11764   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
11765   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
11766   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
11767   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
11768   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11769   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
11770   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
11771   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11772   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
11773   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11774   { &hf_ansi_map_redirectingNumberString, BER_CLASS_CON, 101, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberString },
11775   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11776   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
11777   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11778   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
11779   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
11780   { NULL, 0, 0, 0, NULL }
11781 };
11782
11783 static int
11784 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_) {
11785   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11786                               ServiceRequestRes_U_set, hf_index, ett_ansi_map_ServiceRequestRes_U);
11787
11788   return offset;
11789 }
11790
11791
11792
11793 static int
11794 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_) {
11795   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11796                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ServiceRequestRes_U);
11797
11798   return offset;
11799 }
11800
11801
11802 static const value_string ansi_map_DMH_BillingIndicator_vals[] = {
11803   {   0, "unspecified" },
11804   { 0, NULL }
11805 };
11806
11807
11808 static int
11809 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_) {
11810   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11811                                   NULL);
11812
11813   return offset;
11814 }
11815
11816
11817 static const ber_sequence_t AnalyzedInformation_U_set[] = {
11818   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11819   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11820   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
11821   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
11822   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
11823   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
11824   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
11825   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
11826   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
11827   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
11828   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
11829   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
11830   { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
11831   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
11832   { &hf_ansi_map_dmd_BillingIndicator, BER_CLASS_CON, 312, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingIndicator },
11833   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
11834   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11835   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
11836   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
11837   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
11838   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
11839   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
11840   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
11841   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
11842   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
11843   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
11844   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11845   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
11846   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
11847   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11848   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
11849   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
11850   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
11851   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
11852   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
11853   { NULL, 0, 0, 0, NULL }
11854 };
11855
11856 static int
11857 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_) {
11858   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11859                               AnalyzedInformation_U_set, hf_index, ett_ansi_map_AnalyzedInformation_U);
11860
11861   return offset;
11862 }
11863
11864
11865
11866 static int
11867 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_) {
11868   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11869                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AnalyzedInformation_U);
11870
11871   return offset;
11872 }
11873
11874
11875 static const ber_sequence_t AnalyzedInformationRes_U_set[] = {
11876   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
11877   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
11878   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
11879   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
11880   { &hf_ansi_map_conferenceCallingIndicator, BER_CLASS_CON, 137, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConferenceCallingIndicator },
11881   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
11882   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
11883   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
11884   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
11885   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
11886   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
11887   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
11888   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
11889   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
11890   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
11891   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
11892   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11893   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
11894   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
11895   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
11896   { NULL, 0, 0, 0, NULL }
11897 };
11898
11899 static int
11900 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_) {
11901   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11902                               AnalyzedInformationRes_U_set, hf_index, ett_ansi_map_AnalyzedInformationRes_U);
11903
11904   return offset;
11905 }
11906
11907
11908
11909 static int
11910 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_) {
11911   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11912                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AnalyzedInformationRes_U);
11913
11914   return offset;
11915 }
11916
11917
11918 static const value_string ansi_map_FailureType_vals[] = {
11919   {   1, "callAbandoned" },
11920   {   2, "resourceDisconnect" },
11921   {   3, "failureAtMSC" },
11922   {   4, "sSFTExpiration" },
11923   { 0, NULL }
11924 };
11925
11926
11927 static int
11928 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_) {
11929   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
11930                                   NULL);
11931
11932   return offset;
11933 }
11934
11935
11936
11937 static int
11938 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_) {
11939   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
11940                                        NULL);
11941
11942   return offset;
11943 }
11944
11945
11946 static const ber_sequence_t ConnectionFailureReport_U_set[] = {
11947   { &hf_ansi_map_failureType, BER_CLASS_CON, 260, BER_FLAGS_IMPLTAG, dissect_ansi_map_FailureType },
11948   { &hf_ansi_map_failureCause, BER_CLASS_CON, 387, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FailureCause },
11949   { NULL, 0, 0, 0, NULL }
11950 };
11951
11952 static int
11953 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_) {
11954   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11955                               ConnectionFailureReport_U_set, hf_index, ett_ansi_map_ConnectionFailureReport_U);
11956
11957   return offset;
11958 }
11959
11960
11961
11962 static int
11963 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_) {
11964   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11965                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ConnectionFailureReport_U);
11966
11967   return offset;
11968 }
11969
11970
11971 static const ber_sequence_t ConnectResource_U_set[] = {
11972   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
11973   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
11974   { &hf_ansi_map_outingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
11975   { NULL, 0, 0, 0, NULL }
11976 };
11977
11978 static int
11979 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_) {
11980   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
11981                               ConnectResource_U_set, hf_index, ett_ansi_map_ConnectResource_U);
11982
11983   return offset;
11984 }
11985
11986
11987
11988 static int
11989 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_) {
11990   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
11991                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ConnectResource_U);
11992
11993   return offset;
11994 }
11995
11996
11997 static const ber_sequence_t FacilitySelectedAndAvailable_U_set[] = {
11998   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
11999   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12000   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
12001   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
12002   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
12003   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
12004   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
12005   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
12006   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
12007   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
12008   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12009   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12010   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
12011   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
12012   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12013   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
12014   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12015   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12016   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
12017   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12018   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12019   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12020   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
12021   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
12022   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
12023   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
12024   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
12025   { NULL, 0, 0, 0, NULL }
12026 };
12027
12028 static int
12029 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_) {
12030   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12031                               FacilitySelectedAndAvailable_U_set, hf_index, ett_ansi_map_FacilitySelectedAndAvailable_U);
12032
12033   return offset;
12034 }
12035
12036
12037
12038 static int
12039 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_) {
12040   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12041                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitySelectedAndAvailable_U);
12042
12043   return offset;
12044 }
12045
12046
12047 static const ber_sequence_t FacilitySelectedAndAvailableRes_U_set[] = {
12048   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12049   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12050   { &hf_ansi_map_alertCode  , BER_CLASS_CON, 75, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AlertCode },
12051   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12052   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
12053   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12054   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12055   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
12056   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12057   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12058   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
12059   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12060   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12061   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12062   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12063   { NULL, 0, 0, 0, NULL }
12064 };
12065
12066 static int
12067 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_) {
12068   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12069                               FacilitySelectedAndAvailableRes_U_set, hf_index, ett_ansi_map_FacilitySelectedAndAvailableRes_U);
12070
12071   return offset;
12072 }
12073
12074
12075
12076 static int
12077 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_) {
12078   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12079                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_FacilitySelectedAndAvailableRes_U);
12080
12081   return offset;
12082 }
12083
12084
12085
12086 static int
12087 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_) {
12088   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12089                                        NULL);
12090
12091   return offset;
12092 }
12093
12094
12095 static const ber_sequence_t ServiceDataAccessElement_sequence[] = {
12096   { &hf_ansi_map_dataAccessElementList, BER_CLASS_CON, 250, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataAccessElementList },
12097   { &hf_ansi_map_serviceID  , BER_CLASS_CON, 246, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceID },
12098   { NULL, 0, 0, 0, NULL }
12099 };
12100
12101 static int
12102 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_) {
12103   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12104                                    ServiceDataAccessElement_sequence, hf_index, ett_ansi_map_ServiceDataAccessElement);
12105
12106   return offset;
12107 }
12108
12109
12110 static const ber_sequence_t ServiceDataAccessElementList_sequence_of[1] = {
12111   { &hf_ansi_map_ServiceDataAccessElementList_item, BER_CLASS_CON, 270, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElement },
12112 };
12113
12114 static int
12115 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_) {
12116   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12117                                       ServiceDataAccessElementList_sequence_of, hf_index, ett_ansi_map_ServiceDataAccessElementList);
12118
12119   return offset;
12120 }
12121
12122
12123 static const value_string ansi_map_AllOrNone_vals[] = {
12124   {   0, "notUsed" },
12125   {   1, "allChangesMustSucceedOrNoneShouldBeApplied" },
12126   {   2, "treatEachChangeIndependently" },
12127   { 0, NULL }
12128 };
12129
12130
12131 static int
12132 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_) {
12133   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12134                                   NULL);
12135
12136   return offset;
12137 }
12138
12139
12140 static const ber_sequence_t ModificationRequest_sequence[] = {
12141   { &hf_ansi_map_serviceDataAccessElementList, BER_CLASS_CON, 271, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElementList },
12142   { &hf_ansi_map_allOrNone  , BER_CLASS_CON, 247, BER_FLAGS_IMPLTAG, dissect_ansi_map_AllOrNone },
12143   { NULL, 0, 0, 0, NULL }
12144 };
12145
12146 static int
12147 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_) {
12148   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12149                                    ModificationRequest_sequence, hf_index, ett_ansi_map_ModificationRequest);
12150
12151   return offset;
12152 }
12153
12154
12155 static const ber_sequence_t ModificationRequestList_sequence_of[1] = {
12156   { &hf_ansi_map_ModificationRequestList_item, BER_CLASS_CON, 262, BER_FLAGS_IMPLTAG, dissect_ansi_map_ModificationRequest },
12157 };
12158
12159 static int
12160 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_) {
12161   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12162                                       ModificationRequestList_sequence_of, hf_index, ett_ansi_map_ModificationRequestList);
12163
12164   return offset;
12165 }
12166
12167
12168 static const ber_sequence_t Modify_U_set[] = {
12169   { &hf_ansi_map_databaseKey, BER_CLASS_CON, 252, BER_FLAGS_IMPLTAG, dissect_ansi_map_DatabaseKey },
12170   { &hf_ansi_map_modificationRequestList, BER_CLASS_CON, 263, BER_FLAGS_IMPLTAG, dissect_ansi_map_ModificationRequestList },
12171   { NULL, 0, 0, 0, NULL }
12172 };
12173
12174 static int
12175 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_) {
12176   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12177                               Modify_U_set, hf_index, ett_ansi_map_Modify_U);
12178
12179   return offset;
12180 }
12181
12182
12183
12184 static int
12185 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_) {
12186   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12187                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Modify_U);
12188
12189   return offset;
12190 }
12191
12192
12193 static const value_string ansi_map_DataResult_vals[] = {
12194   {   0, "not-used" },
12195   {   1, "successful" },
12196   {   2, "unsuccessful-unspecified" },
12197   {   3, "unsuccessful-no-default-value-available" },
12198   {   4, "reserved" },
12199   { 0, NULL }
12200 };
12201
12202
12203 static int
12204 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_) {
12205   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12206                                   NULL);
12207
12208   return offset;
12209 }
12210
12211
12212 static const ber_sequence_t DataUpdateResult_sequence[] = {
12213   { &hf_ansi_map_dataID     , BER_CLASS_CON, 251, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataID },
12214   { &hf_ansi_map_dataResult , BER_CLASS_CON, 253, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataResult },
12215   { NULL, 0, 0, 0, NULL }
12216 };
12217
12218 static int
12219 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_) {
12220   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12221                                    DataUpdateResult_sequence, hf_index, ett_ansi_map_DataUpdateResult);
12222
12223   return offset;
12224 }
12225
12226
12227 static const ber_sequence_t DataUpdateResultList_sequence_of[1] = {
12228   { &hf_ansi_map_DataUpdateResultList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ansi_map_DataUpdateResult },
12229 };
12230
12231 static int
12232 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_) {
12233   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12234                                       DataUpdateResultList_sequence_of, hf_index, ett_ansi_map_DataUpdateResultList);
12235
12236   return offset;
12237 }
12238
12239
12240 static const ber_sequence_t ServiceDataResult_sequence[] = {
12241   { &hf_ansi_map_dataUpdateResultList, BER_CLASS_CON, 255, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataUpdateResultList },
12242   { &hf_ansi_map_serviceID  , BER_CLASS_CON, 246, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceID },
12243   { NULL, 0, 0, 0, NULL }
12244 };
12245
12246 static int
12247 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_) {
12248   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12249                                    ServiceDataResult_sequence, hf_index, ett_ansi_map_ServiceDataResult);
12250
12251   return offset;
12252 }
12253
12254
12255 static const ber_sequence_t ServiceDataResultList_sequence_of[1] = {
12256   { &hf_ansi_map_ServiceDataResultList_item, BER_CLASS_CON, 272, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataResult },
12257 };
12258
12259 static int
12260 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_) {
12261   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12262                                       ServiceDataResultList_sequence_of, hf_index, ett_ansi_map_ServiceDataResultList);
12263
12264   return offset;
12265 }
12266
12267
12268 static const value_string ansi_map_ModificationResult_vals[] = {
12269   { 253, "dataResult" },
12270   { 273, "serviceDataResultList" },
12271   { 0, NULL }
12272 };
12273
12274 static const ber_choice_t ModificationResult_choice[] = {
12275   { 253, &hf_ansi_map_dataResult , BER_CLASS_CON, 253, BER_FLAGS_IMPLTAG, dissect_ansi_map_DataResult },
12276   { 273, &hf_ansi_map_serviceDataResultList, BER_CLASS_CON, 273, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataResultList },
12277   { 0, NULL, 0, 0, 0, NULL }
12278 };
12279
12280 static int
12281 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_) {
12282   offset = dissect_ber_choice(actx, tree, tvb, offset,
12283                                  ModificationResult_choice, hf_index, ett_ansi_map_ModificationResult,
12284                                  NULL);
12285
12286   return offset;
12287 }
12288
12289
12290 static const ber_sequence_t ModificationResultList_sequence_of[1] = {
12291   { &hf_ansi_map_ModificationResultList_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_ModificationResult },
12292 };
12293
12294 static int
12295 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_) {
12296   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
12297                                       ModificationResultList_sequence_of, hf_index, ett_ansi_map_ModificationResultList);
12298
12299   return offset;
12300 }
12301
12302
12303 static const ber_sequence_t ModifyRes_U_set[] = {
12304   { &hf_ansi_map_modificationResultList, BER_CLASS_CON, 264, BER_FLAGS_IMPLTAG, dissect_ansi_map_ModificationResultList },
12305   { NULL, 0, 0, 0, NULL }
12306 };
12307
12308 static int
12309 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_) {
12310   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12311                               ModifyRes_U_set, hf_index, ett_ansi_map_ModifyRes_U);
12312
12313   return offset;
12314 }
12315
12316
12317
12318 static int
12319 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_) {
12320   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12321                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ModifyRes_U);
12322
12323   return offset;
12324 }
12325
12326
12327 static const ber_sequence_t Search_U_set[] = {
12328   { &hf_ansi_map_databaseKey, BER_CLASS_CON, 252, BER_FLAGS_IMPLTAG, dissect_ansi_map_DatabaseKey },
12329   { &hf_ansi_map_serviceDataAccessElementList, BER_CLASS_CON, 271, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElementList },
12330   { NULL, 0, 0, 0, NULL }
12331 };
12332
12333 static int
12334 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_) {
12335   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12336                               Search_U_set, hf_index, ett_ansi_map_Search_U);
12337
12338   return offset;
12339 }
12340
12341
12342
12343 static int
12344 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_) {
12345   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12346                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_Search_U);
12347
12348   return offset;
12349 }
12350
12351
12352 static const ber_sequence_t SearchRes_U_set[] = {
12353   { &hf_ansi_map_serviceDataAccessElementList, BER_CLASS_CON, 271, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceDataAccessElementList },
12354   { NULL, 0, 0, 0, NULL }
12355 };
12356
12357 static int
12358 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_) {
12359   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12360                               SearchRes_U_set, hf_index, ett_ansi_map_SearchRes_U);
12361
12362   return offset;
12363 }
12364
12365
12366
12367 static int
12368 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_) {
12369   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12370                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SearchRes_U);
12371
12372   return offset;
12373 }
12374
12375
12376
12377 static int
12378 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_) {
12379   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12380                                        NULL);
12381
12382   return offset;
12383 }
12384
12385
12386
12387 static int
12388 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_) {
12389   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12390                                        NULL);
12391
12392   return offset;
12393 }
12394
12395
12396 static const ber_sequence_t SeizeResource_U_set[] = {
12397   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12398   { &hf_ansi_map_privateSpecializedResource, BER_CLASS_CON, 265, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PrivateSpecializedResource },
12399   { &hf_ansi_map_specializedResource, BER_CLASS_CON, 274, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SpecializedResource },
12400   { NULL, 0, 0, 0, NULL }
12401 };
12402
12403 static int
12404 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_) {
12405   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12406                               SeizeResource_U_set, hf_index, ett_ansi_map_SeizeResource_U);
12407
12408   return offset;
12409 }
12410
12411
12412
12413 static int
12414 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_) {
12415   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12416                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SeizeResource_U);
12417
12418   return offset;
12419 }
12420
12421
12422 static const ber_sequence_t SeizeResourceRes_U_set[] = {
12423   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
12424   { NULL, 0, 0, 0, NULL }
12425 };
12426
12427 static int
12428 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_) {
12429   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12430                               SeizeResourceRes_U_set, hf_index, ett_ansi_map_SeizeResourceRes_U);
12431
12432   return offset;
12433 }
12434
12435
12436
12437 static int
12438 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_) {
12439   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12440                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SeizeResourceRes_U);
12441
12442   return offset;
12443 }
12444
12445
12446
12447 static int
12448 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_) {
12449   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12450                                        NULL);
12451
12452   return offset;
12453 }
12454
12455
12456
12457 static int
12458 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_) {
12459   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12460                                        NULL);
12461
12462   return offset;
12463 }
12464
12465
12466 static const ber_sequence_t ExecuteScript_sequence[] = {
12467   { &hf_ansi_map_scriptName , BER_CLASS_CON, 268, BER_FLAGS_IMPLTAG, dissect_ansi_map_ScriptName },
12468   { &hf_ansi_map_scriptArgument, BER_CLASS_CON, 267, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ScriptArgument },
12469   { NULL, 0, 0, 0, NULL }
12470 };
12471
12472 static int
12473 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_) {
12474   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
12475                                    ExecuteScript_sequence, hf_index, ett_ansi_map_ExecuteScript);
12476
12477   return offset;
12478 }
12479
12480
12481 static const ber_sequence_t SRFDirective_U_set[] = {
12482   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12483   { &hf_ansi_map_digitCollectionControl, BER_CLASS_CON, 139, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DigitCollectionControl },
12484   { &hf_ansi_map_executeScript, BER_CLASS_CON, 386, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExecuteScript },
12485   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12486   { NULL, 0, 0, 0, NULL }
12487 };
12488
12489 static int
12490 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_) {
12491   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12492                               SRFDirective_U_set, hf_index, ett_ansi_map_SRFDirective_U);
12493
12494   return offset;
12495 }
12496
12497
12498
12499 static int
12500 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_) {
12501   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12502                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SRFDirective_U);
12503
12504   return offset;
12505 }
12506
12507
12508
12509 static int
12510 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_) {
12511   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12512                                        NULL);
12513
12514   return offset;
12515 }
12516
12517
12518 static const ber_sequence_t SRFDirectiveRes_U_set[] = {
12519   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
12520   { &hf_ansi_map_scriptResult, BER_CLASS_CON, 269, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ScriptResult },
12521   { NULL, 0, 0, 0, NULL }
12522 };
12523
12524 static int
12525 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_) {
12526   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12527                               SRFDirectiveRes_U_set, hf_index, ett_ansi_map_SRFDirectiveRes_U);
12528
12529   return offset;
12530 }
12531
12532
12533
12534 static int
12535 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_) {
12536   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12537                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_SRFDirectiveRes_U);
12538
12539   return offset;
12540 }
12541
12542
12543 static const ber_sequence_t TBusy_U_set[] = {
12544   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
12545   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12546   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
12547   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
12548   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
12549   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
12550   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
12551   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
12552   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
12553   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12554   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12555   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
12556   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
12557   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12558   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
12559   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12560   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12561   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
12562   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12563   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12564   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12565   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
12566   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
12567   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
12568   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
12569   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
12570   { NULL, 0, 0, 0, NULL }
12571 };
12572
12573 static int
12574 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_) {
12575   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12576                               TBusy_U_set, hf_index, ett_ansi_map_TBusy_U);
12577
12578   return offset;
12579 }
12580
12581
12582
12583 static int
12584 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_) {
12585   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12586                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TBusy_U);
12587
12588   return offset;
12589 }
12590
12591
12592 static const ber_sequence_t TBusyRes_U_set[] = {
12593   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12594   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12595   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12596   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
12597   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
12598   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12599   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12600   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12601   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12602   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12603   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12604   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12605   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12606   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12607   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12608   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12609   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12610   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12611   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
12612   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12613   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12614   { NULL, 0, 0, 0, NULL }
12615 };
12616
12617 static int
12618 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_) {
12619   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12620                               TBusyRes_U_set, hf_index, ett_ansi_map_TBusyRes_U);
12621
12622   return offset;
12623 }
12624
12625
12626
12627 static int
12628 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_) {
12629   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12630                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TBusyRes_U);
12631
12632   return offset;
12633 }
12634
12635
12636 static const ber_sequence_t TNoAnswer_U_set[] = {
12637   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
12638   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12639   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
12640   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
12641   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
12642   { &hf_ansi_map_acgencountered, BER_CLASS_CON, 340, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ACGEncountered },
12643   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
12644   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
12645   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
12646   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12647   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12648   { &hf_ansi_map_legInformation, BER_CLASS_CON, 288, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LegInformation },
12649   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
12650   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12651   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
12652   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12653   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12654   { &hf_ansi_map_pilotBillingID, BER_CLASS_CON, 169, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotBillingID },
12655   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12656   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12657   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12658   { &hf_ansi_map_redirectingSubaddress, BER_CLASS_CON, 102, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingSubaddress },
12659   { &hf_ansi_map_redirectionReason, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectionReason },
12660   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
12661   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
12662   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
12663   { NULL, 0, 0, 0, NULL }
12664 };
12665
12666 static int
12667 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_) {
12668   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12669                               TNoAnswer_U_set, hf_index, ett_ansi_map_TNoAnswer_U);
12670
12671   return offset;
12672 }
12673
12674
12675
12676 static int
12677 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_) {
12678   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12679                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TNoAnswer_U);
12680
12681   return offset;
12682 }
12683
12684
12685 static const ber_sequence_t TNoAnswerRes_U_set[] = {
12686   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
12687   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12688   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12689   { &hf_ansi_map_callingPartyNumberString1, BER_CLASS_CON, 82, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString1 },
12690   { &hf_ansi_map_callingPartyNumberString2, BER_CLASS_CON, 83, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberString2 },
12691   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
12692   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12693   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
12694   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12695   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12696   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12697   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
12698   { &hf_ansi_map_groupInformation, BER_CLASS_CON, 163, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GroupInformation },
12699   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
12700   { &hf_ansi_map_pilotNumber, BER_CLASS_CON, 168, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PilotNumber },
12701   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12702   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
12703   { &hf_ansi_map_resumePIC  , BER_CLASS_CON, 266, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ResumePIC },
12704   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
12705   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
12706   { &hf_ansi_map_terminationTriggers, BER_CLASS_CON, 122, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationTriggers },
12707   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12708   { NULL, 0, 0, 0, NULL }
12709 };
12710
12711 static int
12712 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_) {
12713   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12714                               TNoAnswerRes_U_set, hf_index, ett_ansi_map_TNoAnswerRes_U);
12715
12716   return offset;
12717 }
12718
12719
12720
12721 static int
12722 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_) {
12723   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12724                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TNoAnswerRes_U);
12725
12726   return offset;
12727 }
12728
12729
12730 static const ber_sequence_t ChangeFacilities_U_set[] = {
12731   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
12732   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
12733   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
12734   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
12735   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12736   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
12737   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
12738   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
12739   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
12740   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
12741   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
12742   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
12743   { NULL, 0, 0, 0, NULL }
12744 };
12745
12746 static int
12747 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_) {
12748   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12749                               ChangeFacilities_U_set, hf_index, ett_ansi_map_ChangeFacilities_U);
12750
12751   return offset;
12752 }
12753
12754
12755
12756 static int
12757 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_) {
12758   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12759                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeFacilities_U);
12760
12761   return offset;
12762 }
12763
12764
12765 static const ber_sequence_t ChangeFacilitiesRes_U_set[] = {
12766   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
12767   { NULL, 0, 0, 0, NULL }
12768 };
12769
12770 static int
12771 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_) {
12772   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12773                               ChangeFacilitiesRes_U_set, hf_index, ett_ansi_map_ChangeFacilitiesRes_U);
12774
12775   return offset;
12776 }
12777
12778
12779
12780 static int
12781 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_) {
12782   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12783                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeFacilitiesRes_U);
12784
12785   return offset;
12786 }
12787
12788
12789
12790 static int
12791 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_) {
12792   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
12793                                        NULL);
12794
12795   return offset;
12796 }
12797
12798
12799 static const ber_sequence_t ChangeService_U_set[] = {
12800   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
12801   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
12802   { &hf_ansi_map_changeServiceAttributes, BER_CLASS_CON, 214, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChangeServiceAttributes },
12803   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12804   { &hf_ansi_map_ilspInformation, BER_CLASS_CON, 217, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ISLPInformation },
12805   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
12806   { &hf_ansi_map_tdmaBandwidth, BER_CLASS_CON, 220, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMABandwidth },
12807   { &hf_ansi_map_tdmaDataMode, BER_CLASS_CON, 222, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMADataMode },
12808   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
12809   { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
12810   { NULL, 0, 0, 0, NULL }
12811 };
12812
12813 static int
12814 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_) {
12815   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12816                               ChangeService_U_set, hf_index, ett_ansi_map_ChangeService_U);
12817
12818   return offset;
12819 }
12820
12821
12822
12823 static int
12824 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_) {
12825   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12826                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeService_U);
12827
12828   return offset;
12829 }
12830
12831
12832 static const ber_sequence_t ChangeServiceRes_U_set[] = {
12833   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
12834   { &hf_ansi_map_cdmaServiceConfigurationRecord, BER_CLASS_CON, 174, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceConfigurationRecord },
12835   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
12836   { &hf_ansi_map_changeServiceAttributes, BER_CLASS_CON, 214, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChangeServiceAttributes },
12837   { &hf_ansi_map_dataKey    , BER_CLASS_CON, 215, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataKey },
12838   { &hf_ansi_map_dataPrivacyParameters, BER_CLASS_CON, 216, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DataPrivacyParameters },
12839   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
12840   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
12841   { &hf_ansi_map_tdmaServiceCode, BER_CLASS_CON, 178, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAServiceCode },
12842   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
12843   { NULL, 0, 0, 0, NULL }
12844 };
12845
12846 static int
12847 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_) {
12848   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12849                               ChangeServiceRes_U_set, hf_index, ett_ansi_map_ChangeServiceRes_U);
12850
12851   return offset;
12852 }
12853
12854
12855
12856 static int
12857 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_) {
12858   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12859                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ChangeServiceRes_U);
12860
12861   return offset;
12862 }
12863
12864
12865 static const ber_sequence_t MessageDirective_U_set[] = {
12866   { &hf_ansi_map_messageWaitingNotificationCount, BER_CLASS_CON, 92, BER_FLAGS_IMPLTAG, dissect_ansi_map_MessageWaitingNotificationCount },
12867   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12868   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12869   { NULL, 0, 0, 0, NULL }
12870 };
12871
12872 static int
12873 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_) {
12874   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12875                               MessageDirective_U_set, hf_index, ett_ansi_map_MessageDirective_U);
12876
12877   return offset;
12878 }
12879
12880
12881
12882 static int
12883 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_) {
12884   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12885                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_MessageDirective_U);
12886
12887   return offset;
12888 }
12889
12890
12891 static const ber_sequence_t BulkDisconnection_U_set[] = {
12892   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12893   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
12894   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
12895   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
12896   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
12897   { NULL, 0, 0, 0, NULL }
12898 };
12899
12900 static int
12901 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_) {
12902   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12903                               BulkDisconnection_U_set, hf_index, ett_ansi_map_BulkDisconnection_U);
12904
12905   return offset;
12906 }
12907
12908
12909
12910 static int
12911 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_) {
12912   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12913                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_BulkDisconnection_U);
12914
12915   return offset;
12916 }
12917
12918
12919 static const ber_sequence_t CallControlDirective_U_set[] = {
12920   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
12921   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
12922   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
12923   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
12924   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
12925   { &hf_ansi_map_displayText, BER_CLASS_CON, 244, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DisplayText },
12926   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
12927   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
12928   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
12929   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
12930   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
12931   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
12932   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
12933   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
12934   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
12935   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
12936   { NULL, 0, 0, 0, NULL }
12937 };
12938
12939 static int
12940 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_) {
12941   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12942                               CallControlDirective_U_set, hf_index, ett_ansi_map_CallControlDirective_U);
12943
12944   return offset;
12945 }
12946
12947
12948
12949 static int
12950 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_) {
12951   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12952                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallControlDirective_U);
12953
12954   return offset;
12955 }
12956
12957
12958 static const value_string ansi_map_CallStatus_vals[] = {
12959   {   0, "not-used" },
12960   {   1, "call-Setup-in-Progress" },
12961   {   2, "called-Party" },
12962   {   3, "locally-Allowed-Call-No-Action" },
12963   { 0, NULL }
12964 };
12965
12966
12967 static int
12968 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_) {
12969   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
12970                                   NULL);
12971
12972   return offset;
12973 }
12974
12975
12976 static const ber_sequence_t CallControlDirectiveRes_U_set[] = {
12977   { &hf_ansi_map_callStatus , BER_CLASS_CON, 310, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallStatus },
12978   { NULL, 0, 0, 0, NULL }
12979 };
12980
12981 static int
12982 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_) {
12983   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
12984                               CallControlDirectiveRes_U_set, hf_index, ett_ansi_map_CallControlDirectiveRes_U);
12985
12986   return offset;
12987 }
12988
12989
12990
12991 static int
12992 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_) {
12993   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
12994                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallControlDirectiveRes_U);
12995
12996   return offset;
12997 }
12998
12999
13000 static const ber_sequence_t OAnswer_U_set[] = {
13001   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13002   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13003   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13004   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13005   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13006   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13007   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13008   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13009   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13010   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
13011   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13012   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13013   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13014   { NULL, 0, 0, 0, NULL }
13015 };
13016
13017 static int
13018 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_) {
13019   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13020                               OAnswer_U_set, hf_index, ett_ansi_map_OAnswer_U);
13021
13022   return offset;
13023 }
13024
13025
13026
13027 static int
13028 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_) {
13029   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13030                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OAnswer_U);
13031
13032   return offset;
13033 }
13034
13035
13036 static const value_string ansi_map_ReleaseCause_vals[] = {
13037   {   0, "unspecified" },
13038   {   1, "calling-Party" },
13039   {   2, "called-Party" },
13040   {   3, "commanded-Disconnect" },
13041   { 0, NULL }
13042 };
13043
13044
13045 static int
13046 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_) {
13047   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13048                                   NULL);
13049
13050   return offset;
13051 }
13052
13053
13054 static const ber_sequence_t ODisconnect_U_set[] = {
13055   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13056   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13057   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13058   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13059   { &hf_ansi_map_releaseCause, BER_CLASS_CON, 308, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseCause },
13060   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13061   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13062   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13063   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13064   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13065   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13066   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13067   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13068   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13069   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13070   { NULL, 0, 0, 0, NULL }
13071 };
13072
13073 static int
13074 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_) {
13075   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13076                               ODisconnect_U_set, hf_index, ett_ansi_map_ODisconnect_U);
13077
13078   return offset;
13079 }
13080
13081
13082
13083 static int
13084 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_) {
13085   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13086                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ODisconnect_U);
13087
13088   return offset;
13089 }
13090
13091
13092 static const ber_sequence_t ODisconnectRes_U_set[] = {
13093   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13094   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13095   { NULL, 0, 0, 0, NULL }
13096 };
13097
13098 static int
13099 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_) {
13100   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13101                               ODisconnectRes_U_set, hf_index, ett_ansi_map_ODisconnectRes_U);
13102
13103   return offset;
13104 }
13105
13106
13107
13108 static int
13109 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_) {
13110   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13111                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ODisconnectRes_U);
13112
13113   return offset;
13114 }
13115
13116
13117 static const ber_sequence_t CallRecoveryID_set[] = {
13118   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13119   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13120   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13121   { NULL, 0, 0, 0, NULL }
13122 };
13123
13124 static int
13125 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_) {
13126   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13127                               CallRecoveryID_set, hf_index, ett_ansi_map_CallRecoveryID);
13128
13129   return offset;
13130 }
13131
13132
13133 static const ber_sequence_t CallRecoveryIDList_set_of[1] = {
13134   { &hf_ansi_map_CallRecoveryIDList_item, BER_CLASS_CON, 303, BER_FLAGS_IMPLTAG, dissect_ansi_map_CallRecoveryID },
13135 };
13136
13137 static int
13138 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_) {
13139   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
13140                                  CallRecoveryIDList_set_of, hf_index, ett_ansi_map_CallRecoveryIDList);
13141
13142   return offset;
13143 }
13144
13145
13146 static const ber_sequence_t CallRecoveryReport_U_set[] = {
13147   { &hf_ansi_map_callRecoveryIDList, BER_CLASS_CON, 304, BER_FLAGS_IMPLTAG, dissect_ansi_map_CallRecoveryIDList },
13148   { NULL, 0, 0, 0, NULL }
13149 };
13150
13151 static int
13152 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_) {
13153   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13154                               CallRecoveryReport_U_set, hf_index, ett_ansi_map_CallRecoveryReport_U);
13155
13156   return offset;
13157 }
13158
13159
13160
13161 static int
13162 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_) {
13163   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13164                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallRecoveryReport_U);
13165
13166   return offset;
13167 }
13168
13169
13170 static const ber_sequence_t TAnswer_U_set[] = {
13171   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13172   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13173   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13174   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13175   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13176   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13177   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13178   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13179   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13180   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13181   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13182   { &hf_ansi_map_featureIndicator, BER_CLASS_CON, 306, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FeatureIndicator },
13183   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13184   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13185   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13186   { &hf_ansi_map_terminationAccessType, BER_CLASS_CON, 119, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationAccessType },
13187   { NULL, 0, 0, 0, NULL }
13188 };
13189
13190 static int
13191 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_) {
13192   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13193                               TAnswer_U_set, hf_index, ett_ansi_map_TAnswer_U);
13194
13195   return offset;
13196 }
13197
13198
13199
13200 static int
13201 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_) {
13202   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13203                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TAnswer_U);
13204
13205   return offset;
13206 }
13207
13208
13209 static const ber_sequence_t TDisconnect_U_set[] = {
13210   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13211   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13212   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13213   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13214   { &hf_ansi_map_timeDateOffset, BER_CLASS_CON, 275, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeDateOffset },
13215   { &hf_ansi_map_timeOfDay  , BER_CLASS_CON, 309, BER_FLAGS_IMPLTAG, dissect_ansi_map_TimeOfDay },
13216   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13217   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
13218   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
13219   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13220   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13221   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13222   { &hf_ansi_map_releaseCause, BER_CLASS_CON, 308, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseCause },
13223   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13224   { &hf_ansi_map_systemMyTypeCode, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemMyTypeCode },
13225   { NULL, 0, 0, 0, NULL }
13226 };
13227
13228 static int
13229 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_) {
13230   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13231                               TDisconnect_U_set, hf_index, ett_ansi_map_TDisconnect_U);
13232
13233   return offset;
13234 }
13235
13236
13237
13238 static int
13239 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_) {
13240   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13241                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TDisconnect_U);
13242
13243   return offset;
13244 }
13245
13246
13247 static const ber_sequence_t TDisconnectRes_U_set[] = {
13248   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13249   { NULL, 0, 0, 0, NULL }
13250 };
13251
13252 static int
13253 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_) {
13254   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13255                               TDisconnectRes_U_set, hf_index, ett_ansi_map_TDisconnectRes_U);
13256
13257   return offset;
13258 }
13259
13260
13261
13262 static int
13263 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_) {
13264   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13265                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_TDisconnectRes_U);
13266
13267   return offset;
13268 }
13269
13270
13271 static const ber_sequence_t UnreliableCallData_U_set[] = {
13272   { &hf_ansi_map_controlNetworkID, BER_CLASS_CON, 307, BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlNetworkID },
13273   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13274   { NULL, 0, 0, 0, NULL }
13275 };
13276
13277 static int
13278 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_) {
13279   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13280                               UnreliableCallData_U_set, hf_index, ett_ansi_map_UnreliableCallData_U);
13281
13282   return offset;
13283 }
13284
13285
13286
13287 static int
13288 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_) {
13289   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13290                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_UnreliableCallData_U);
13291
13292   return offset;
13293 }
13294
13295
13296 static const ber_sequence_t OCalledPartyBusy_U_set[] = {
13297   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13298   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13299   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13300   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13301   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13302   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13303   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13304   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
13305   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
13306   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
13307   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
13308   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13309   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
13310   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
13311   { &hf_ansi_map_failureCause, BER_CLASS_CON, 387, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_FailureCause },
13312   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13313   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13314   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13315   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
13316   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13317   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
13318   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13319   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13320   { NULL, 0, 0, 0, NULL }
13321 };
13322
13323 static int
13324 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_) {
13325   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13326                               OCalledPartyBusy_U_set, hf_index, ett_ansi_map_OCalledPartyBusy_U);
13327
13328   return offset;
13329 }
13330
13331
13332
13333 static int
13334 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_) {
13335   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13336                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OCalledPartyBusy_U);
13337
13338   return offset;
13339 }
13340
13341
13342 static const ber_sequence_t OCalledPartyBusyRes_U_set[] = {
13343   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
13344   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13345   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13346   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
13347   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
13348   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
13349   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
13350   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
13351   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13352   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
13353   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
13354   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
13355   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13356   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13357   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
13358   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
13359   { NULL, 0, 0, 0, NULL }
13360 };
13361
13362 static int
13363 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_) {
13364   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13365                               OCalledPartyBusyRes_U_set, hf_index, ett_ansi_map_OCalledPartyBusyRes_U);
13366
13367   return offset;
13368 }
13369
13370
13371
13372 static int
13373 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_) {
13374   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13375                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OCalledPartyBusyRes_U);
13376
13377   return offset;
13378 }
13379
13380
13381 static const ber_sequence_t ONoAnswer_U_set[] = {
13382   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13383   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13384   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13385   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13386   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
13387   { &hf_ansi_map_triggerType, BER_CLASS_CON, 279, BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerType },
13388   { &hf_ansi_map_winCapability, BER_CLASS_CON, 280, BER_FLAGS_IMPLTAG, dissect_ansi_map_WINCapability },
13389   { &hf_ansi_map_callingPartyName, BER_CLASS_CON, 243, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyName },
13390   { &hf_ansi_map_callingPartyNumberDigits1, BER_CLASS_CON, 80, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits1 },
13391   { &hf_ansi_map_callingPartyNumberDigits2, BER_CLASS_CON, 81, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartyNumberDigits2 },
13392   { &hf_ansi_map_callingPartySubaddress, BER_CLASS_CON, 84, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallingPartySubaddress },
13393   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13394   { &hf_ansi_map_destinationDigits, BER_CLASS_CON, 87, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DestinationDigits },
13395   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
13396   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13397   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13398   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13399   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
13400   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13401   { &hf_ansi_map_redirectingPartyName, BER_CLASS_CON, 245, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingPartyName },
13402   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13403   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13404   { NULL, 0, 0, 0, NULL }
13405 };
13406
13407 static int
13408 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_) {
13409   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13410                               ONoAnswer_U_set, hf_index, ett_ansi_map_ONoAnswer_U);
13411
13412   return offset;
13413 }
13414
13415
13416
13417 static int
13418 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_) {
13419   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13420                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ONoAnswer_U);
13421
13422   return offset;
13423 }
13424
13425
13426 static const ber_sequence_t ONoAnswerRes_U_set[] = {
13427   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
13428   { &hf_ansi_map_announcementList, BER_CLASS_CON, 130, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AnnouncementList },
13429   { &hf_ansi_map_carrierDigits, BER_CLASS_CON, 86, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CarrierDigits },
13430   { &hf_ansi_map_dmh_AccountCodeDigits, BER_CLASS_CON, 140, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AccountCodeDigits },
13431   { &hf_ansi_map_dmh_AlternateBillingDigits, BER_CLASS_CON, 141, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_AlternateBillingDigits },
13432   { &hf_ansi_map_dmh_BillingDigits, BER_CLASS_CON, 142, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_BillingDigits },
13433   { &hf_ansi_map_dmh_ChargeInformation, BER_CLASS_CON, 311, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ChargeInformation },
13434   { &hf_ansi_map_dmh_RedirectionIndicator, BER_CLASS_CON, 88, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_RedirectionIndicator },
13435   { &hf_ansi_map_dmh_ServiceID, BER_CLASS_CON, 305, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DMH_ServiceID },
13436   { &hf_ansi_map_noAnswerTime, BER_CLASS_CON, 96, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NoAnswerTime },
13437   { &hf_ansi_map_oneTimeFeatureIndicator, BER_CLASS_CON, 97, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OneTimeFeatureIndicator },
13438   { &hf_ansi_map_preferredLanguageIndicator, BER_CLASS_CON, 147, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PreferredLanguageIndicator },
13439   { &hf_ansi_map_redirectingNumberDigits, BER_CLASS_CON, 100, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RedirectingNumberDigits },
13440   { &hf_ansi_map_routingDigits, BER_CLASS_CON, 150, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RoutingDigits },
13441   { &hf_ansi_map_terminationList, BER_CLASS_CON, 120, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminationList },
13442   { &hf_ansi_map_triggerAddressList, BER_CLASS_CON, 276, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TriggerAddressList },
13443   { NULL, 0, 0, 0, NULL }
13444 };
13445
13446 static int
13447 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_) {
13448   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13449                               ONoAnswerRes_U_set, hf_index, ett_ansi_map_ONoAnswerRes_U);
13450
13451   return offset;
13452 }
13453
13454
13455
13456 static int
13457 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_) {
13458   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13459                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ONoAnswerRes_U);
13460
13461   return offset;
13462 }
13463
13464
13465
13466 static int
13467 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_) {
13468   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13469                                        NULL);
13470
13471   return offset;
13472 }
13473
13474
13475 static const ber_sequence_t PositionRequest_U_set[] = {
13476   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13477   { &hf_ansi_map_positionInformationCode, BER_CLASS_CON, 315, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformationCode },
13478   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13479   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13480   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13481   { &hf_ansi_map_senderIdentificationNumber, BER_CLASS_CON, 103, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SenderIdentificationNumber },
13482   { NULL, 0, 0, 0, NULL }
13483 };
13484
13485 static int
13486 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_) {
13487   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13488                               PositionRequest_U_set, hf_index, ett_ansi_map_PositionRequest_U);
13489
13490   return offset;
13491 }
13492
13493
13494
13495 static int
13496 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_) {
13497   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13498                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequest_U);
13499
13500   return offset;
13501 }
13502
13503
13504
13505 static int
13506 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_) {
13507   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13508                                        NULL);
13509
13510   return offset;
13511 }
13512
13513
13514 static const ber_sequence_t PositionRequestRes_U_set[] = {
13515   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13516   { &hf_ansi_map_extendedMSCID, BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ExtendedMSCID },
13517   { &hf_ansi_map_mSCIdentificationNumber, BER_CLASS_CON, 94, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCIdentificationNumber },
13518   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13519   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
13520   { &hf_ansi_map_mSStatus   , BER_CLASS_CON, 313, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSStatus },
13521   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
13522   { &hf_ansi_map_pSID_RSIDInformation, BER_CLASS_CON, 202, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PSID_RSIDInformation },
13523   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13524   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13525   { NULL, 0, 0, 0, NULL }
13526 };
13527
13528 static int
13529 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_) {
13530   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13531                               PositionRequestRes_U_set, hf_index, ett_ansi_map_PositionRequestRes_U);
13532
13533   return offset;
13534 }
13535
13536
13537
13538 static int
13539 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_) {
13540   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13541                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequestRes_U);
13542
13543   return offset;
13544 }
13545
13546
13547 static const ber_sequence_t PositionRequestForward_U_set[] = {
13548   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
13549   { &hf_ansi_map_positionInformationCode, BER_CLASS_CON, 315, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformationCode },
13550   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13551   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13552   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
13553   { NULL, 0, 0, 0, NULL }
13554 };
13555
13556 static int
13557 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_) {
13558   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13559                               PositionRequestForward_U_set, hf_index, ett_ansi_map_PositionRequestForward_U);
13560
13561   return offset;
13562 }
13563
13564
13565
13566 static int
13567 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_) {
13568   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13569                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequestForward_U);
13570
13571   return offset;
13572 }
13573
13574
13575 static const ber_sequence_t PositionRequestForwardRes_U_set[] = {
13576   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13577   { &hf_ansi_map_mSStatus   , BER_CLASS_CON, 313, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSStatus },
13578   { &hf_ansi_map_locationAreaID, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LocationAreaID },
13579   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13580   { NULL, 0, 0, 0, NULL }
13581 };
13582
13583 static int
13584 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_) {
13585   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13586                               PositionRequestForwardRes_U_set, hf_index, ett_ansi_map_PositionRequestForwardRes_U);
13587
13588   return offset;
13589 }
13590
13591
13592
13593 static int
13594 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_) {
13595   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13596                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionRequestForwardRes_U);
13597
13598   return offset;
13599 }
13600
13601
13602 static const ber_sequence_t CallTerminationReport_U_set[] = {
13603   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13604   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13605   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
13606   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
13607   { NULL, 0, 0, 0, NULL }
13608 };
13609
13610 static int
13611 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_) {
13612   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13613                               CallTerminationReport_U_set, hf_index, ett_ansi_map_CallTerminationReport_U);
13614
13615   return offset;
13616 }
13617
13618
13619
13620 static int
13621 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_) {
13622   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13623                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CallTerminationReport_U);
13624
13625   return offset;
13626 }
13627
13628
13629
13630 static int
13631 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_) {
13632   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13633                                        NULL);
13634
13635   return offset;
13636 }
13637
13638
13639
13640 static int
13641 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_) {
13642   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13643                                        NULL);
13644
13645   return offset;
13646 }
13647
13648
13649
13650 static int
13651 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_) {
13652   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
13653
13654   return offset;
13655 }
13656
13657
13658
13659 static int
13660 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_) {
13661   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13662                                        NULL);
13663
13664   return offset;
13665 }
13666
13667
13668
13669 static int
13670 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_) {
13671   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13672                                        NULL);
13673
13674   return offset;
13675 }
13676
13677
13678
13679 static int
13680 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_) {
13681   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13682                                        NULL);
13683
13684   return offset;
13685 }
13686
13687
13688 static const ber_sequence_t CDMAPSMMList_item_set[] = {
13689   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
13690   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
13691   { &hf_ansi_map_cdmaTargetMAHOList2, BER_CLASS_CON, 136, BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
13692   { NULL, 0, 0, 0, NULL }
13693 };
13694
13695 static int
13696 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_) {
13697   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13698                               CDMAPSMMList_item_set, hf_index, ett_ansi_map_CDMAPSMMList_item);
13699
13700   return offset;
13701 }
13702
13703
13704 static const ber_sequence_t CDMAPSMMList_set_of[1] = {
13705   { &hf_ansi_map_CDMAPSMMList_item, BER_CLASS_UNI, BER_UNI_TAG_SET, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CDMAPSMMList_item },
13706 };
13707
13708 static int
13709 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_) {
13710   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
13711                                  CDMAPSMMList_set_of, hf_index, ett_ansi_map_CDMAPSMMList);
13712
13713   return offset;
13714 }
13715
13716
13717
13718 static int
13719 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_) {
13720   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13721                                        NULL);
13722
13723   return offset;
13724 }
13725
13726
13727
13728 static int
13729 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_) {
13730   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13731                                        NULL);
13732
13733   return offset;
13734 }
13735
13736
13737
13738 static int
13739 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_) {
13740   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13741                                        NULL);
13742
13743   return offset;
13744 }
13745
13746
13747
13748 static int
13749 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_) {
13750   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13751                                        NULL);
13752
13753   return offset;
13754 }
13755
13756
13757
13758 static int
13759 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_) {
13760   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13761                                        NULL);
13762
13763   return offset;
13764 }
13765
13766
13767
13768 static int
13769 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_) {
13770   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13771                                        NULL);
13772
13773   return offset;
13774 }
13775
13776
13777
13778 static int
13779 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_) {
13780   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13781                                        NULL);
13782
13783   return offset;
13784 }
13785
13786
13787 static const value_string ansi_map_PQOS_ResponseTime_vals[] = {
13788   {   0, "not-used" },
13789   {   1, "no-Delay" },
13790   {   2, "low-Delay" },
13791   {   3, "delay-Tolerant" },
13792   { 0, NULL }
13793 };
13794
13795
13796 static int
13797 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_) {
13798   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13799                                   NULL);
13800
13801   return offset;
13802 }
13803
13804
13805
13806 static int
13807 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_) {
13808   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13809                                        NULL);
13810
13811   return offset;
13812 }
13813
13814
13815
13816 static int
13817 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_) {
13818   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13819                                        NULL);
13820
13821   return offset;
13822 }
13823
13824
13825 static const ber_sequence_t GeoPositionRequest_U_set[] = {
13826   { &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
13827   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
13828   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13829   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13830   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
13831   { &hf_ansi_map_lcs_Client_ID, BER_CLASS_CON, 358, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCS_Client_ID },
13832   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
13833   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
13834   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
13835   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
13836   { &hf_ansi_map_dtxIndication, BER_CLASS_CON, 329, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DTXIndication },
13837   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
13838   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
13839   { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
13840   { &hf_ansi_map_cdmaMobileCapabilities, BER_CLASS_CON, 330, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileCapabilities },
13841   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
13842   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
13843   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
13844   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
13845   { &hf_ansi_map_cdmaPSMMList, BER_CLASS_CON, 346, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMList },
13846   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
13847   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
13848   { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
13849   { &hf_ansi_map_tdma_MAHO_CELLID, BER_CLASS_CON, 359, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CELLID },
13850   { &hf_ansi_map_tdma_MAHO_CHANNEL, BER_CLASS_CON, 360, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CHANNEL },
13851   { &hf_ansi_map_tdma_TimeAlignment, BER_CLASS_CON, 362, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_TimeAlignment },
13852   { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
13853   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
13854   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13855   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
13856   { &hf_ansi_map_pqos_HorizontalPosition, BER_CLASS_CON, 372, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalPosition },
13857   { &hf_ansi_map_pqos_HorizontalVelocity, BER_CLASS_CON, 373, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalVelocity },
13858   { &hf_ansi_map_pqos_MaximumPositionAge, BER_CLASS_CON, 374, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_MaximumPositionAge },
13859   { &hf_ansi_map_pqos_PositionPriority, BER_CLASS_CON, 375, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_PositionPriority },
13860   { &hf_ansi_map_pqos_ResponseTime, BER_CLASS_CON, 376, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_ResponseTime },
13861   { &hf_ansi_map_pqos_VerticalPosition, BER_CLASS_CON, 377, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalPosition },
13862   { &hf_ansi_map_pqos_VerticalVelocity, BER_CLASS_CON, 378, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalVelocity },
13863   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13864   { &hf_ansi_map_teleservice_Priority, BER_CLASS_CON, 290, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Teleservice_Priority },
13865   { NULL, 0, 0, 0, NULL }
13866 };
13867
13868 static int
13869 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_) {
13870   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13871                               GeoPositionRequest_U_set, hf_index, ett_ansi_map_GeoPositionRequest_U);
13872
13873   return offset;
13874 }
13875
13876
13877
13878 static int
13879 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_) {
13880   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13881                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_GeoPositionRequest_U);
13882
13883   return offset;
13884 }
13885
13886
13887
13888 static int
13889 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_) {
13890   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13891                                        NULL);
13892
13893   return offset;
13894 }
13895
13896
13897 static const value_string ansi_map_LIRAuthorization_vals[] = {
13898   {   0, "not-used" },
13899   {   1, "user-Authorized" },
13900   { 0, NULL }
13901 };
13902
13903
13904 static int
13905 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_) {
13906   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
13907                                   NULL);
13908
13909   return offset;
13910 }
13911
13912
13913
13914 static int
13915 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_) {
13916   offset = dissect_ansi_map_DigitsType(implicit_tag, tvb, offset, actx, tree, hf_index);
13917
13918   return offset;
13919 }
13920
13921
13922
13923 static int
13924 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_) {
13925   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
13926                                        NULL);
13927
13928   return offset;
13929 }
13930
13931
13932 static const ber_sequence_t InterSystemPositionRequest_U_set[] = {
13933   { &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
13934   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
13935   { &hf_ansi_map_cdmaPSMMCount, BER_CLASS_CON, 344, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMCount },
13936   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
13937   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
13938   { &hf_ansi_map_emergencyServicesRoutingDigits, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_EmergencyServicesRoutingDigits },
13939   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
13940   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
13941   { &hf_ansi_map_lirAuthorization, BER_CLASS_CON, 368, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LIRAuthorization },
13942   { &hf_ansi_map_lcs_Client_ID, BER_CLASS_CON, 358, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCS_Client_ID },
13943   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
13944   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
13945   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
13946   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
13947   { &hf_ansi_map_dtxIndication, BER_CLASS_CON, 329, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DTXIndication },
13948   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
13949   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
13950   { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
13951   { &hf_ansi_map_cdmaMobileCapabilities, BER_CLASS_CON, 330, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileCapabilities },
13952   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
13953   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
13954   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
13955   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
13956   { &hf_ansi_map_cdmaPSMMList, BER_CLASS_CON, 346, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMList },
13957   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
13958   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
13959   { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
13960   { &hf_ansi_map_tdma_MAHO_CELLID, BER_CLASS_CON, 359, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CELLID },
13961   { &hf_ansi_map_tdma_MAHO_CHANNEL, BER_CLASS_CON, 360, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CHANNEL },
13962   { &hf_ansi_map_tdma_TimeAlignment, BER_CLASS_CON, 362, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_TimeAlignment },
13963   { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
13964   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
13965   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
13966   { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
13967   { &hf_ansi_map_mpcAddressList, BER_CLASS_CON, 381, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddressList },
13968   { &hf_ansi_map_mpcid      , BER_CLASS_CON, 371, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCID },
13969   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
13970   { &hf_ansi_map_networkTMSI, BER_CLASS_CON, 233, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NetworkTMSI },
13971   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
13972   { &hf_ansi_map_pqos_HorizontalPosition, BER_CLASS_CON, 372, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalPosition },
13973   { &hf_ansi_map_pqos_HorizontalVelocity, BER_CLASS_CON, 373, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalVelocity },
13974   { &hf_ansi_map_pqos_MaximumPositionAge, BER_CLASS_CON, 374, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_MaximumPositionAge },
13975   { &hf_ansi_map_pqos_PositionPriority, BER_CLASS_CON, 375, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_PositionPriority },
13976   { &hf_ansi_map_pqos_ResponseTime, BER_CLASS_CON, 376, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_ResponseTime },
13977   { &hf_ansi_map_pqos_VerticalPosition, BER_CLASS_CON, 377, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalPosition },
13978   { &hf_ansi_map_pqos_VerticalVelocity, BER_CLASS_CON, 378, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalVelocity },
13979   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
13980   { &hf_ansi_map_tdma_MAHORequest, BER_CLASS_CON, 364, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHORequest },
13981   { NULL, 0, 0, 0, NULL }
13982 };
13983
13984 static int
13985 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_) {
13986   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
13987                               InterSystemPositionRequest_U_set, hf_index, ett_ansi_map_InterSystemPositionRequest_U);
13988
13989   return offset;
13990 }
13991
13992
13993
13994 static int
13995 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_) {
13996   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
13997                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequest_U);
13998
13999   return offset;
14000 }
14001
14002
14003
14004 static int
14005 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_) {
14006   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14007                                        NULL);
14008
14009   return offset;
14010 }
14011
14012
14013
14014 static int
14015 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_) {
14016   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
14017
14018   return offset;
14019 }
14020
14021
14022
14023 static int
14024 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_) {
14025   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14026                                        NULL);
14027
14028   return offset;
14029 }
14030
14031
14032
14033 static int
14034 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_) {
14035   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14036                                        NULL);
14037
14038   return offset;
14039 }
14040
14041
14042
14043 static int
14044 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_) {
14045   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14046                                        NULL);
14047
14048   return offset;
14049 }
14050
14051
14052
14053 static int
14054 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_) {
14055   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14056                                        NULL);
14057
14058   return offset;
14059 }
14060
14061
14062 static const ber_sequence_t PositionInformation_set[] = {
14063   { &hf_ansi_map_generalizedTime, BER_CLASS_CON, 331, BER_FLAGS_IMPLTAG, dissect_ansi_map_GeneralizedTime },
14064   { &hf_ansi_map_geographicPosition, BER_CLASS_CON, 333, BER_FLAGS_IMPLTAG, dissect_ansi_map_GeographicPosition },
14065   { &hf_ansi_map_positionSource, BER_CLASS_CON, 339, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionSource },
14066   { &hf_ansi_map_horizontal_Velocity, BER_CLASS_CON, 379, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Horizontal_Velocity },
14067   { &hf_ansi_map_vertical_Velocity, BER_CLASS_CON, 380, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Vertical_Velocity },
14068   { NULL, 0, 0, 0, NULL }
14069 };
14070
14071 static int
14072 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_) {
14073   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14074                               PositionInformation_set, hf_index, ett_ansi_map_PositionInformation);
14075
14076   return offset;
14077 }
14078
14079
14080 static const ber_sequence_t InterSystemPositionRequestRes_U_set[] = {
14081   { &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
14082   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14083   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14084   { &hf_ansi_map_channelData, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ChannelData },
14085   { &hf_ansi_map_dtxIndication, BER_CLASS_CON, 329, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DTXIndication },
14086   { &hf_ansi_map_receivedSignalQuality, BER_CLASS_CON, 72, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReceivedSignalQuality },
14087   { &hf_ansi_map_cdmaChannelData, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAChannelData },
14088   { &hf_ansi_map_cdmaCodeChannel, BER_CLASS_CON, 68, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMACodeChannel },
14089   { &hf_ansi_map_cdmaMobileCapabilities, BER_CLASS_CON, 330, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAMobileCapabilities },
14090   { &hf_ansi_map_cdmaPrivateLongCodeMask, BER_CLASS_CON, 67, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPrivateLongCodeMask },
14091   { &hf_ansi_map_cdmaServingOneWayDelay2, BER_CLASS_CON, 347, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServingOneWayDelay2 },
14092   { &hf_ansi_map_cdmaServiceOption, BER_CLASS_CON, 175, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOption },
14093   { &hf_ansi_map_cdmaTargetMAHOList, BER_CLASS_CON, 136, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMATargetMAHOList },
14094   { &hf_ansi_map_cdmaPSMMList, BER_CLASS_CON, 346, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAPSMMList },
14095   { &hf_ansi_map_nampsChannelData, BER_CLASS_CON, 76, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_NAMPSChannelData },
14096   { &hf_ansi_map_tdmaChannelData, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAChannelData },
14097   { &hf_ansi_map_targetMeasurementList, BER_CLASS_CON, 157, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TargetMeasurementList },
14098   { &hf_ansi_map_tdma_MAHO_CELLID, BER_CLASS_CON, 359, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CELLID },
14099   { &hf_ansi_map_tdma_MAHO_CHANNEL, BER_CLASS_CON, 360, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHO_CHANNEL },
14100   { &hf_ansi_map_tdma_TimeAlignment, BER_CLASS_CON, 362, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_TimeAlignment },
14101   { &hf_ansi_map_tdmaVoiceMode, BER_CLASS_CON, 223, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMAVoiceMode },
14102   { &hf_ansi_map_voicePrivacyMask, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyMask },
14103   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14104   { &hf_ansi_map_positionInformation, BER_CLASS_CON, 336, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformation },
14105   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
14106   { NULL, 0, 0, 0, NULL }
14107 };
14108
14109 static int
14110 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_) {
14111   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14112                               InterSystemPositionRequestRes_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestRes_U);
14113
14114   return offset;
14115 }
14116
14117
14118
14119 static int
14120 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_) {
14121   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14122                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequestRes_U);
14123
14124   return offset;
14125 }
14126
14127
14128 static const ber_sequence_t InterSystemPositionRequestForward_U_set[] = {
14129   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14130   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14131   { &hf_ansi_map_positionRequestType, BER_CLASS_CON, 337, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionRequestType },
14132   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14133   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14134   { &hf_ansi_map_lcs_Client_ID, BER_CLASS_CON, 358, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCS_Client_ID },
14135   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
14136   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14137   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14138   { &hf_ansi_map_mpcid      , BER_CLASS_CON, 371, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCID },
14139   { &hf_ansi_map_pqos_HorizontalPosition, BER_CLASS_CON, 372, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalPosition },
14140   { &hf_ansi_map_pqos_HorizontalVelocity, BER_CLASS_CON, 373, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_HorizontalVelocity },
14141   { &hf_ansi_map_pqos_MaximumPositionAge, BER_CLASS_CON, 374, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_MaximumPositionAge },
14142   { &hf_ansi_map_pqos_PositionPriority, BER_CLASS_CON, 375, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_PositionPriority },
14143   { &hf_ansi_map_pqos_ResponseTime, BER_CLASS_CON, 376, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_ResponseTime },
14144   { &hf_ansi_map_pqos_VerticalPosition, BER_CLASS_CON, 377, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalPosition },
14145   { &hf_ansi_map_pqos_VerticalVelocity, BER_CLASS_CON, 378, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PQOS_VerticalVelocity },
14146   { &hf_ansi_map_tdma_MAHORequest, BER_CLASS_CON, 364, BER_FLAGS_IMPLTAG, dissect_ansi_map_TDMA_MAHORequest },
14147   { NULL, 0, 0, 0, NULL }
14148 };
14149
14150 static int
14151 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_) {
14152   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14153                               InterSystemPositionRequestForward_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestForward_U);
14154
14155   return offset;
14156 }
14157
14158
14159
14160 static int
14161 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_) {
14162   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14163                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequestForward_U);
14164
14165   return offset;
14166 }
14167
14168
14169 static const ber_sequence_t InterSystemPositionRequestForwardRes_U_set[] = {
14170   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14171   { &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
14172   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14173   { &hf_ansi_map_positionInformation, BER_CLASS_CON, 336, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionInformation },
14174   { &hf_ansi_map_servingCellID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServingCellID },
14175   { NULL, 0, 0, 0, NULL }
14176 };
14177
14178 static int
14179 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_) {
14180   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14181                               InterSystemPositionRequestForwardRes_U_set, hf_index, ett_ansi_map_InterSystemPositionRequestForwardRes_U);
14182
14183   return offset;
14184 }
14185
14186
14187
14188 static int
14189 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_) {
14190   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14191                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_InterSystemPositionRequestForwardRes_U);
14192
14193   return offset;
14194 }
14195
14196
14197
14198 static int
14199 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_) {
14200   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14201                                        NULL);
14202
14203   return offset;
14204 }
14205
14206
14207 static const value_string ansi_map_GapDuration_vals[] = {
14208   {   0, "not-used" },
14209   { 0, NULL }
14210 };
14211
14212
14213 static int
14214 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_) {
14215   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14216                                   NULL);
14217
14218   return offset;
14219 }
14220
14221
14222 static const value_string ansi_map_SCFOverloadGapInterval_vals[] = {
14223   {   0, "not-used" },
14224   { 0, NULL }
14225 };
14226
14227
14228 static int
14229 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_) {
14230   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14231                                   NULL);
14232
14233   return offset;
14234 }
14235
14236
14237 static const value_string ansi_map_ServiceManagementSystemGapInterval_vals[] = {
14238   {   0, "not-used" },
14239   { 0, NULL }
14240 };
14241
14242
14243 static int
14244 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_) {
14245   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14246                                   NULL);
14247
14248   return offset;
14249 }
14250
14251
14252 static const value_string ansi_map_GapInterval_vals[] = {
14253   { 343, "sCFOverloadGapInterval" },
14254   { 344, "serviceManagementSystemGapInterval" },
14255   { 0, NULL }
14256 };
14257
14258 static const ber_choice_t GapInterval_choice[] = {
14259   { 343, &hf_ansi_map_sCFOverloadGapInterval, BER_CLASS_CON, 343, BER_FLAGS_IMPLTAG, dissect_ansi_map_SCFOverloadGapInterval },
14260   { 344, &hf_ansi_map_serviceManagementSystemGapInterval, BER_CLASS_CON, 344, BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceManagementSystemGapInterval },
14261   { 0, NULL, 0, 0, 0, NULL }
14262 };
14263
14264 static int
14265 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_) {
14266   offset = dissect_ber_choice(actx, tree, tvb, offset,
14267                                  GapInterval_choice, hf_index, ett_ansi_map_GapInterval,
14268                                  NULL);
14269
14270   return offset;
14271 }
14272
14273
14274 static const ber_sequence_t ACGDirective_U_set[] = {
14275   { &hf_ansi_map_controlType, BER_CLASS_CON, 341, BER_FLAGS_IMPLTAG, dissect_ansi_map_ControlType },
14276   { &hf_ansi_map_destinationAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_DestinationAddress },
14277   { &hf_ansi_map_gapDuration, BER_CLASS_CON, 342, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_GapDuration },
14278   { &hf_ansi_map_gapInterval, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_GapInterval },
14279   { NULL, 0, 0, 0, NULL }
14280 };
14281
14282 static int
14283 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_) {
14284   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14285                               ACGDirective_U_set, hf_index, ett_ansi_map_ACGDirective_U);
14286
14287   return offset;
14288 }
14289
14290
14291
14292 static int
14293 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_) {
14294   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14295                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_ACGDirective_U);
14296
14297   return offset;
14298 }
14299
14300
14301
14302 static int
14303 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_) {
14304   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14305                                                 NULL);
14306
14307   return offset;
14308 }
14309
14310
14311
14312 static int
14313 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_) {
14314   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14315                                                 NULL);
14316
14317   return offset;
14318 }
14319
14320
14321 static const ber_sequence_t RoamerDatabaseVerificationRequest_U_set[] = {
14322   { &hf_ansi_map_invokingNEType, BER_CLASS_CON, 353, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InvokingNEType },
14323   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14324   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14325   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14326   { &hf_ansi_map_range      , BER_CLASS_CON, 352, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Range },
14327   { NULL, 0, 0, 0, NULL }
14328 };
14329
14330 static int
14331 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_) {
14332   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14333                               RoamerDatabaseVerificationRequest_U_set, hf_index, ett_ansi_map_RoamerDatabaseVerificationRequest_U);
14334
14335   return offset;
14336 }
14337
14338
14339
14340 static int
14341 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_) {
14342   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14343                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoamerDatabaseVerificationRequest_U);
14344
14345   return offset;
14346 }
14347
14348
14349 static const ber_sequence_t RoamerDatabaseVerificationRequestRes_U_set[] = {
14350   { &hf_ansi_map_transactionCapability, BER_CLASS_CON, 123, BER_FLAGS_IMPLTAG, dissect_ansi_map_TransactionCapability },
14351   { NULL, 0, 0, 0, NULL }
14352 };
14353
14354 static int
14355 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_) {
14356   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14357                               RoamerDatabaseVerificationRequestRes_U_set, hf_index, ett_ansi_map_RoamerDatabaseVerificationRequestRes_U);
14358
14359   return offset;
14360 }
14361
14362
14363
14364 static int
14365 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_) {
14366   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14367                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_RoamerDatabaseVerificationRequestRes_U);
14368
14369   return offset;
14370 }
14371
14372
14373 static const ber_sequence_t LCSParameterRequest_U_set[] = {
14374   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14375   { &hf_ansi_map_mpcid      , BER_CLASS_CON, 371, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCID },
14376   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14377   { NULL, 0, 0, 0, NULL }
14378 };
14379
14380 static int
14381 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_) {
14382   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14383                               LCSParameterRequest_U_set, hf_index, ett_ansi_map_LCSParameterRequest_U);
14384
14385   return offset;
14386 }
14387
14388
14389
14390 static int
14391 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_) {
14392   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14393                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LCSParameterRequest_U);
14394
14395   return offset;
14396 }
14397
14398
14399 static const ber_sequence_t LCSParameterRequestRes_U_set[] = {
14400   { &hf_ansi_map_accessDeniedReason, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AccessDeniedReason },
14401   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14402   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14403   { &hf_ansi_map_meid       , BER_CLASS_CON, 390, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEID },
14404   { &hf_ansi_map_mobileDirectoryNumber, BER_CLASS_CON, 93, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileDirectoryNumber },
14405   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14406   { &hf_ansi_map_mobilePositionCapability, BER_CLASS_CON, 335, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobilePositionCapability },
14407   { &hf_ansi_map_mpcAddress , BER_CLASS_CON, 370, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddress },
14408   { &hf_ansi_map_mpcAddressList, BER_CLASS_CON, 381, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MPCAddressList },
14409   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14410   { &hf_ansi_map_pc_ssn     , BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PC_SSN },
14411   { NULL, 0, 0, 0, NULL }
14412 };
14413
14414 static int
14415 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_) {
14416   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14417                               LCSParameterRequestRes_U_set, hf_index, ett_ansi_map_LCSParameterRequestRes_U);
14418
14419   return offset;
14420 }
14421
14422
14423
14424 static int
14425 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_) {
14426   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14427                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_LCSParameterRequestRes_U);
14428
14429   return offset;
14430 }
14431
14432
14433 static const ber_sequence_t CheckMEID_U_set[] = {
14434   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
14435   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14436   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14437   { &hf_ansi_map_confidentialityModes, BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ConfidentialityModes },
14438   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14439   { &hf_ansi_map_emergencyServicesRoutingDigits, BER_CLASS_CON, 239, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_EmergencyServicesRoutingDigits },
14440   { NULL, 0, 0, 0, NULL }
14441 };
14442
14443 static int
14444 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_) {
14445   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14446                               CheckMEID_U_set, hf_index, ett_ansi_map_CheckMEID_U);
14447
14448   return offset;
14449 }
14450
14451
14452
14453 static int
14454 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_) {
14455   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14456                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CheckMEID_U);
14457
14458   return offset;
14459 }
14460
14461
14462
14463 static int
14464 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_) {
14465   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14466                                        NULL);
14467
14468   return offset;
14469 }
14470
14471
14472 static const ber_sequence_t CheckMEIDRes_U_set[] = {
14473   { &hf_ansi_map_meidStatus , BER_CLASS_CON, 391, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MEIDStatus },
14474   { NULL, 0, 0, 0, NULL }
14475 };
14476
14477 static int
14478 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_) {
14479   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14480                               CheckMEIDRes_U_set, hf_index, ett_ansi_map_CheckMEIDRes_U);
14481
14482   return offset;
14483 }
14484
14485
14486
14487 static int
14488 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_) {
14489   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14490                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_CheckMEIDRes_U);
14491
14492   return offset;
14493 }
14494
14495
14496 static const ber_sequence_t AddService_U_set[] = {
14497   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
14498   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
14499   { &hf_ansi_map_digits     , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Digits },
14500   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14501   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14502   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14503   { NULL, 0, 0, 0, NULL }
14504 };
14505
14506 static int
14507 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_) {
14508   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14509                               AddService_U_set, hf_index, ett_ansi_map_AddService_U);
14510
14511   return offset;
14512 }
14513
14514
14515
14516 static int
14517 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_) {
14518   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14519                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AddService_U);
14520
14521   return offset;
14522 }
14523
14524
14525 static const ber_sequence_t AddServiceRes_U_set[] = {
14526   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
14527   { &hf_ansi_map_cdmaServiceOptionList, BER_CLASS_CON, 176, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAServiceOptionList },
14528   { &hf_ansi_map_qosPriority, BER_CLASS_CON, 348, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_QoSPriority },
14529   { &hf_ansi_map_reasonList , BER_CLASS_CON, 218, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReasonList },
14530   { NULL, 0, 0, 0, NULL }
14531 };
14532
14533 static int
14534 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_) {
14535   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14536                               AddServiceRes_U_set, hf_index, ett_ansi_map_AddServiceRes_U);
14537
14538   return offset;
14539 }
14540
14541
14542
14543 static int
14544 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_) {
14545   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14546                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_AddServiceRes_U);
14547
14548   return offset;
14549 }
14550
14551
14552 static const ber_sequence_t DropService_U_set[] = {
14553   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
14554   { &hf_ansi_map_cdmaConnectionReferenceList, BER_CLASS_CON, 212, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CDMAConnectionReferenceList },
14555   { &hf_ansi_map_interMSCCircuitID, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ansi_map_InterMSCCircuitID },
14556   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14557   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14558   { &hf_ansi_map_releaseReason, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ReleaseReason },
14559   { NULL, 0, 0, 0, NULL }
14560 };
14561
14562 static int
14563 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_) {
14564   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14565                               DropService_U_set, hf_index, ett_ansi_map_DropService_U);
14566
14567   return offset;
14568 }
14569
14570
14571
14572 static int
14573 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_) {
14574   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14575                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_DropService_U);
14576
14577   return offset;
14578 }
14579
14580
14581 static const ber_sequence_t DropServiceRes_U_set[] = {
14582   { &hf_ansi_map_billingID  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BillingID },
14583   { NULL, 0, 0, 0, NULL }
14584 };
14585
14586 static int
14587 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_) {
14588   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14589                               DropServiceRes_U_set, hf_index, ett_ansi_map_DropServiceRes_U);
14590
14591   return offset;
14592 }
14593
14594
14595
14596 static int
14597 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_) {
14598   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14599                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_DropServiceRes_U);
14600
14601   return offset;
14602 }
14603
14604
14605 static const ber_sequence_t PositionEventNotification_U_set[] = {
14606   { &hf_ansi_map_positionResult, BER_CLASS_CON, 338, BER_FLAGS_IMPLTAG, dissect_ansi_map_PositionResult },
14607   { &hf_ansi_map_imsi       , BER_CLASS_CON, 242, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_map_IMSI },
14608   { &hf_ansi_map_lcsBillingID, BER_CLASS_CON, 367, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_LCSBillingID },
14609   { &hf_ansi_map_mobileIdentificationNumber, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileIdentificationNumber },
14610   { NULL, 0, 0, 0, NULL }
14611 };
14612
14613 static int
14614 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_) {
14615   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14616                               PositionEventNotification_U_set, hf_index, ett_ansi_map_PositionEventNotification_U);
14617
14618   return offset;
14619 }
14620
14621
14622
14623 static int
14624 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_) {
14625   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14626                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_PositionEventNotification_U);
14627
14628   return offset;
14629 }
14630
14631
14632
14633 static int
14634 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_) {
14635   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14636                                        NULL);
14637
14638   return offset;
14639 }
14640
14641
14642
14643 static int
14644 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_) {
14645   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14646                                        NULL);
14647
14648   return offset;
14649 }
14650
14651
14652 static const value_string ansi_map_NewlyAssignedMSID_vals[] = {
14653   { 187, "newlyAssignedMIN" },
14654   { 287, "newlyAssignedIMSI" },
14655   { 0, NULL }
14656 };
14657
14658 static const ber_choice_t NewlyAssignedMSID_choice[] = {
14659   { 187, &hf_ansi_map_newlyAssignedMIN, BER_CLASS_CON, 187, BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedMIN },
14660   { 287, &hf_ansi_map_newlyAssignedIMSI, BER_CLASS_CON, 287, BER_FLAGS_IMPLTAG, dissect_ansi_map_NewlyAssignedIMSI },
14661   { 0, NULL, 0, 0, 0, NULL }
14662 };
14663
14664 static int
14665 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_) {
14666   offset = dissect_ber_choice(actx, tree, tvb, offset,
14667                                  NewlyAssignedMSID_choice, hf_index, ett_ansi_map_NewlyAssignedMSID,
14668                                  NULL);
14669
14670   return offset;
14671 }
14672
14673
14674 static const ber_sequence_t OTASPRequest_U_set[] = {
14675   { &hf_ansi_map_actionCode , BER_CLASS_CON, 128, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ActionCode },
14676   { &hf_ansi_map_aKeyProtocolVersion, BER_CLASS_CON, 181, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AKeyProtocolVersion },
14677   { &hf_ansi_map_authenticationData, BER_CLASS_CON, 161, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationData },
14678   { &hf_ansi_map_authenticationResponse, BER_CLASS_CON, 35, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponse },
14679   { &hf_ansi_map_callHistoryCount, BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_CallHistoryCount },
14680   { &hf_ansi_map_electronicSerialNumber, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ElectronicSerialNumber },
14681   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14682   { &hf_ansi_map_mobileStationMSID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MobileStationMSID },
14683   { &hf_ansi_map_mobileStationPartialKey, BER_CLASS_CON, 185, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MobileStationPartialKey },
14684   { &hf_ansi_map_mscid      , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_MSCID },
14685   { &hf_ansi_map_newlyAssignedMSID, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_NewlyAssignedMSID },
14686   { &hf_ansi_map_randomVariable, BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariable },
14687   { &hf_ansi_map_randomVariableBaseStation, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ansi_map_RandomVariableBaseStation },
14688   { &hf_ansi_map_serviceIndicator, BER_CLASS_CON, 193, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ServiceIndicator },
14689   { &hf_ansi_map_systemCapabilities, BER_CLASS_CON, 49, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SystemCapabilities },
14690   { &hf_ansi_map_terminalType, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_TerminalType },
14691   { NULL, 0, 0, 0, NULL }
14692 };
14693
14694 static int
14695 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_) {
14696   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14697                               OTASPRequest_U_set, hf_index, ett_ansi_map_OTASPRequest_U);
14698
14699   return offset;
14700 }
14701
14702
14703
14704 static int
14705 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_) {
14706   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14707                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OTASPRequest_U);
14708
14709   return offset;
14710 }
14711
14712
14713
14714 static int
14715 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_) {
14716   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14717                                        NULL);
14718
14719   return offset;
14720 }
14721
14722
14723
14724 static int
14725 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_) {
14726   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14727                                        NULL);
14728
14729   return offset;
14730 }
14731
14732
14733
14734 static int
14735 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_) {
14736   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14737                                        NULL);
14738
14739   return offset;
14740 }
14741
14742
14743
14744 static int
14745 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_) {
14746   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14747                                        NULL);
14748
14749   return offset;
14750 }
14751
14752
14753 static const ber_sequence_t OTASPRequestRes_U_set[] = {
14754   { &hf_ansi_map_aKeyProtocolVersion, BER_CLASS_CON, 181, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AKeyProtocolVersion },
14755   { &hf_ansi_map_authenticationResponseBaseStation, BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_AuthenticationResponseBaseStation },
14756   { &hf_ansi_map_baseStationPartialKey, BER_CLASS_CON, 183, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_BaseStationPartialKey },
14757   { &hf_ansi_map_denyAccess , BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_DenyAccess },
14758   { &hf_ansi_map_modulusValue, BER_CLASS_CON, 186, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_ModulusValue },
14759   { &hf_ansi_map_otasp_ResultCode, BER_CLASS_CON, 189, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_OTASP_ResultCode },
14760   { &hf_ansi_map_primitiveValue, BER_CLASS_CON, 190, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_PrimitiveValue },
14761   { &hf_ansi_map_signalingMessageEncryptionReport, BER_CLASS_CON, 194, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SignalingMessageEncryptionReport },
14762   { &hf_ansi_map_ssdUpdateReport, BER_CLASS_CON, 156, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_SSDUpdateReport },
14763   { &hf_ansi_map_uniqueChallengeReport, BER_CLASS_CON, 124, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_UniqueChallengeReport },
14764   { &hf_ansi_map_voicePrivacyReport, BER_CLASS_CON, 196, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_VoicePrivacyReport },
14765   { NULL, 0, 0, 0, NULL }
14766 };
14767
14768 static int
14769 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_) {
14770   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14771                               OTASPRequestRes_U_set, hf_index, ett_ansi_map_OTASPRequestRes_U);
14772
14773   return offset;
14774 }
14775
14776
14777
14778 static int
14779 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_) {
14780   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14781                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_OTASPRequestRes_U);
14782
14783   return offset;
14784 }
14785
14786
14787
14788 static int
14789 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_) {
14790   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14791                                        NULL);
14792
14793   return offset;
14794 }
14795
14796
14797 static const ber_sequence_t StatusRequest_U_set[] = {
14798   { &hf_ansi_map_msid       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ansi_map_MSID },
14799   { &hf_ansi_map_record_Type, BER_CLASS_CON, 392, BER_FLAGS_IMPLTAG, dissect_ansi_map_Record_Type },
14800   { NULL, 0, 0, 0, NULL }
14801 };
14802
14803 static int
14804 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_) {
14805   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14806                               StatusRequest_U_set, hf_index, ett_ansi_map_StatusRequest_U);
14807
14808   return offset;
14809 }
14810
14811
14812
14813 static int
14814 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_) {
14815   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14816                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_StatusRequest_U);
14817
14818   return offset;
14819 }
14820
14821
14822
14823 static int
14824 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_) {
14825   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
14826                                        NULL);
14827
14828   return offset;
14829 }
14830
14831
14832 static const ber_sequence_t StatusRequestRes_U_set[] = {
14833   { &hf_ansi_map_information_Record, BER_CLASS_CON, 389, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ansi_map_Information_Record },
14834   { NULL, 0, 0, 0, NULL }
14835 };
14836
14837 static int
14838 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_) {
14839   offset = dissect_ber_set(implicit_tag, actx, tree, tvb, offset,
14840                               StatusRequestRes_U_set, hf_index, ett_ansi_map_StatusRequestRes_U);
14841
14842   return offset;
14843 }
14844
14845
14846
14847 static int
14848 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_) {
14849   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
14850                                       hf_index, BER_CLASS_PRI, 18, FALSE, dissect_ansi_map_StatusRequestRes_U);
14851
14852   return offset;
14853 }
14854
14855
14856 static const value_string ansi_map_DetectionPointType_vals[] = {
14857   {   1, "tDP-R" },
14858   {   2, "tDP-N" },
14859   {   3, "eDP-R" },
14860   {   4, "eDP-N" },
14861   { 0, NULL }
14862 };
14863
14864
14865 static int
14866 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_) {
14867   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
14868                                   NULL);
14869
14870   return offset;
14871 }
14872
14873
14874 static const ber_sequence_t InvokeData_sequence[] = {
14875   { &hf_ansi_map_handoffMeasurementRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffMeasurementRequest },
14876   { &hf_ansi_map_facilitiesDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitiesDirective },
14877   { &hf_ansi_map_handoffBack, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffBack },
14878   { &hf_ansi_map_facilitiesRelease, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitiesRelease },
14879   { &hf_ansi_map_qualificationRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_QualificationRequest },
14880   { &hf_ansi_map_qualificationDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_QualificationDirective },
14881   { &hf_ansi_map_blocking   , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_Blocking },
14882   { &hf_ansi_map_unblocking , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_Unblocking },
14883   { &hf_ansi_map_resetCircuit, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ResetCircuit },
14884   { &hf_ansi_map_trunkTest  , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TrunkTest },
14885   { &hf_ansi_map_trunkTestDisconnect, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TrunkTestDisconnect },
14886   { &hf_ansi_map_registrationNotification, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RegistrationNotification },
14887   { &hf_ansi_map_registrationCancellation, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RegistrationCancellation },
14888   { &hf_ansi_map_locationRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_LocationRequest },
14889   { &hf_ansi_map_routingRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RoutingRequest },
14890   { &hf_ansi_map_featureRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FeatureRequest },
14891   { &hf_ansi_map_unreliableRoamerDataDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_UnreliableRoamerDataDirective },
14892   { &hf_ansi_map_mSInactive , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_MSInactive },
14893   { &hf_ansi_map_transferToNumberRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TransferToNumberRequest },
14894   { &hf_ansi_map_redirectionRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RedirectionRequest },
14895   { &hf_ansi_map_handoffToThird, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffToThird },
14896   { &hf_ansi_map_flashRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FlashRequest },
14897   { &hf_ansi_map_authenticationDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationDirective },
14898   { &hf_ansi_map_authenticationRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationRequest },
14899   { &hf_ansi_map_baseStationChallenge, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_BaseStationChallenge },
14900   { &hf_ansi_map_authenticationFailureReport, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationFailureReport },
14901   { &hf_ansi_map_countRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CountRequest },
14902   { &hf_ansi_map_interSystemPage, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPage },
14903   { &hf_ansi_map_unsolicitedResponse, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_UnsolicitedResponse },
14904   { &hf_ansi_map_bulkDeregistration, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_BulkDeregistration },
14905   { &hf_ansi_map_handoffMeasurementRequest2, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffMeasurementRequest2 },
14906   { &hf_ansi_map_facilitiesDirective2, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitiesDirective2 },
14907   { &hf_ansi_map_handoffBack2, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffBack2 },
14908   { &hf_ansi_map_handoffToThird2, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffToThird2 },
14909   { &hf_ansi_map_authenticationDirectiveForward, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationDirectiveForward },
14910   { &hf_ansi_map_authenticationStatusReport, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationStatusReport },
14911   { &hf_ansi_map_informationDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InformationDirective },
14912   { &hf_ansi_map_informationForward, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InformationForward },
14913   { &hf_ansi_map_interSystemAnswer, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemAnswer },
14914   { &hf_ansi_map_interSystemPage2, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPage2 },
14915   { &hf_ansi_map_interSystemSetup, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemSetup },
14916   { &hf_ansi_map_originationRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_OriginationRequest },
14917   { &hf_ansi_map_randomVariableRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RandomVariableRequest },
14918   { &hf_ansi_map_redirectionDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RedirectionDirective },
14919   { &hf_ansi_map_remoteUserInteractionDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RemoteUserInteractionDirective },
14920   { &hf_ansi_map_sMSDeliveryBackward, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSDeliveryBackward },
14921   { &hf_ansi_map_sMSDeliveryForward, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSDeliveryForward },
14922   { &hf_ansi_map_sMSDeliveryPointToPoint, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSDeliveryPointToPoint },
14923   { &hf_ansi_map_sMSNotification, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSNotification },
14924   { &hf_ansi_map_sMSRequest , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSRequest },
14925   { &hf_ansi_map_oTASPRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_OTASPRequest },
14926   { &hf_ansi_map_changeFacilities, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ChangeFacilities },
14927   { &hf_ansi_map_changeService, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ChangeService },
14928   { &hf_ansi_map_parameterRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ParameterRequest },
14929   { &hf_ansi_map_tMSIDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TMSIDirective },
14930   { &hf_ansi_map_numberPortabilityRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_NumberPortabilityRequest },
14931   { &hf_ansi_map_serviceRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ServiceRequest },
14932   { &hf_ansi_map_analyzedInformation, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AnalyzedInformation },
14933   { &hf_ansi_map_connectionFailureReport, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ConnectionFailureReport },
14934   { &hf_ansi_map_connectResource, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ConnectResource },
14935   { &hf_ansi_map_facilitySelectedAndAvailable, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitySelectedAndAvailable },
14936   { &hf_ansi_map_modify     , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_Modify },
14937   { &hf_ansi_map_search     , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_Search },
14938   { &hf_ansi_map_seizeResource, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SeizeResource },
14939   { &hf_ansi_map_sRFDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SRFDirective },
14940   { &hf_ansi_map_tBusy      , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TBusy },
14941   { &hf_ansi_map_tNoAnswer  , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TNoAnswer },
14942   { &hf_ansi_map_messageDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_MessageDirective },
14943   { &hf_ansi_map_bulkDisconnection, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_BulkDisconnection },
14944   { &hf_ansi_map_callControlDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CallControlDirective },
14945   { &hf_ansi_map_oAnswer    , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_OAnswer },
14946   { &hf_ansi_map_oDisconnect, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ODisconnect },
14947   { &hf_ansi_map_callRecoveryReport, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CallRecoveryReport },
14948   { &hf_ansi_map_tAnswer    , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TAnswer },
14949   { &hf_ansi_map_tDisconnect, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TDisconnect },
14950   { &hf_ansi_map_unreliableCallData, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_UnreliableCallData },
14951   { &hf_ansi_map_oCalledPartyBusy, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_OCalledPartyBusy },
14952   { &hf_ansi_map_oNoAnswer  , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ONoAnswer },
14953   { &hf_ansi_map_positionRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_PositionRequest },
14954   { &hf_ansi_map_positionRequestForward, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_PositionRequestForward },
14955   { &hf_ansi_map_callTerminationReport, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CallTerminationReport },
14956   { &hf_ansi_map_geoPositionRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_GeoPositionRequest },
14957   { &hf_ansi_map_interSystemPositionRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPositionRequest },
14958   { &hf_ansi_map_interSystemPositionRequestForward, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPositionRequestForward },
14959   { &hf_ansi_map_aCGDirective, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ACGDirective },
14960   { &hf_ansi_map_roamerDatabaseVerificationRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RoamerDatabaseVerificationRequest },
14961   { &hf_ansi_map_addService , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AddService },
14962   { &hf_ansi_map_dropService, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_DropService },
14963   { &hf_ansi_map_lcsParameterRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_LCSParameterRequest },
14964   { &hf_ansi_map_checkMEID  , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CheckMEID },
14965   { &hf_ansi_map_positionEventNotification, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_PositionEventNotification },
14966   { &hf_ansi_map_statusRequest, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_StatusRequest },
14967   { NULL, 0, 0, 0, NULL }
14968 };
14969
14970 static int
14971 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_) {
14972   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
14973                                    InvokeData_sequence, hf_index, ett_ansi_map_InvokeData);
14974
14975   return offset;
14976 }
14977
14978
14979 static const ber_sequence_t ReturnData_sequence[] = {
14980   { &hf_ansi_map_handoffMeasurementRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffMeasurementRequestRes },
14981   { &hf_ansi_map_facilitiesDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitiesDirectiveRes },
14982   { &hf_ansi_map_handoffBackRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffBackRes },
14983   { &hf_ansi_map_facilitiesReleaseRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitiesReleaseRes },
14984   { &hf_ansi_map_qualificationRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_QualificationRequestRes },
14985   { &hf_ansi_map_resetCircuitRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ResetCircuitRes },
14986   { &hf_ansi_map_registrationNotificationRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RegistrationNotificationRes },
14987   { &hf_ansi_map_registrationCancellationRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RegistrationCancellationRes },
14988   { &hf_ansi_map_locationRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_LocationRequestRes },
14989   { &hf_ansi_map_routingRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RoutingRequestRes },
14990   { &hf_ansi_map_featureRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FeatureRequestRes },
14991   { &hf_ansi_map_transferToNumberRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TransferToNumberRequestRes },
14992   { &hf_ansi_map_handoffToThirdRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffToThirdRes },
14993   { &hf_ansi_map_authenticationDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationDirectiveRes },
14994   { &hf_ansi_map_authenticationRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationRequestRes },
14995   { &hf_ansi_map_baseStationChallengeRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_BaseStationChallengeRes },
14996   { &hf_ansi_map_authenticationFailureReportRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationFailureReportRes },
14997   { &hf_ansi_map_countRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CountRequestRes },
14998   { &hf_ansi_map_interSystemPageRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPageRes },
14999   { &hf_ansi_map_unsolicitedResponseRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_UnsolicitedResponseRes },
15000   { &hf_ansi_map_handoffMeasurementRequest2Res, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffMeasurementRequest2Res },
15001   { &hf_ansi_map_facilitiesDirective2Res, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitiesDirective2Res },
15002   { &hf_ansi_map_handoffBack2Res, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffBack2Res },
15003   { &hf_ansi_map_handoffToThird2Res, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_HandoffToThird2Res },
15004   { &hf_ansi_map_authenticationDirectiveForwardRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationDirectiveForwardRes },
15005   { &hf_ansi_map_authenticationStatusReportRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AuthenticationStatusReportRes },
15006   { &hf_ansi_map_informationDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InformationDirectiveRes },
15007   { &hf_ansi_map_informationForwardRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InformationForwardRes },
15008   { &hf_ansi_map_interSystemPage2Res, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPage2Res },
15009   { &hf_ansi_map_interSystemSetupRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemSetupRes },
15010   { &hf_ansi_map_originationRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_OriginationRequestRes },
15011   { &hf_ansi_map_randomVariableRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RandomVariableRequestRes },
15012   { &hf_ansi_map_remoteUserInteractionDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RemoteUserInteractionDirectiveRes },
15013   { &hf_ansi_map_sMSDeliveryBackwardRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSDeliveryBackwardRes },
15014   { &hf_ansi_map_sMSDeliveryForwardRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSDeliveryForwardRes },
15015   { &hf_ansi_map_sMSDeliveryPointToPointRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSDeliveryPointToPointRes },
15016   { &hf_ansi_map_sMSNotificationRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSNotificationRes },
15017   { &hf_ansi_map_sMSRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SMSRequestRes },
15018   { &hf_ansi_map_oTASPRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_OTASPRequestRes },
15019   { &hf_ansi_map_changeFacilitiesRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ChangeFacilitiesRes },
15020   { &hf_ansi_map_changeServiceRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ChangeServiceRes },
15021   { &hf_ansi_map_parameterRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ParameterRequestRes },
15022   { &hf_ansi_map_tMSIDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TMSIDirectiveRes },
15023   { &hf_ansi_map_serviceRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ServiceRequestRes },
15024   { &hf_ansi_map_analyzedInformationRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AnalyzedInformationRes },
15025   { &hf_ansi_map_facilitySelectedAndAvailableRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_FacilitySelectedAndAvailableRes },
15026   { &hf_ansi_map_modifyRes  , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ModifyRes },
15027   { &hf_ansi_map_searchRes  , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SearchRes },
15028   { &hf_ansi_map_seizeResourceRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SeizeResourceRes },
15029   { &hf_ansi_map_sRFDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_SRFDirectiveRes },
15030   { &hf_ansi_map_tBusyRes   , BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TBusyRes },
15031   { &hf_ansi_map_tNoAnswerRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TNoAnswerRes },
15032   { &hf_ansi_map_callControlDirectiveRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CallControlDirectiveRes },
15033   { &hf_ansi_map_oDisconnectRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ODisconnectRes },
15034   { &hf_ansi_map_tDisconnectRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_TDisconnectRes },
15035   { &hf_ansi_map_oCalledPartyBusyRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_OCalledPartyBusyRes },
15036   { &hf_ansi_map_oNoAnswerRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_ONoAnswerRes },
15037   { &hf_ansi_map_positionRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_PositionRequestRes },
15038   { &hf_ansi_map_positionRequestForwardRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_PositionRequestForwardRes },
15039   { &hf_ansi_map_interSystemPositionRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPositionRequestRes },
15040   { &hf_ansi_map_interSystemPositionRequestForwardRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_InterSystemPositionRequestForwardRes },
15041   { &hf_ansi_map_roamerDatabaseVerificationRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_RoamerDatabaseVerificationRequestRes },
15042   { &hf_ansi_map_addServiceRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_AddServiceRes },
15043   { &hf_ansi_map_dropServiceRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_DropServiceRes },
15044   { &hf_ansi_map_lcsParameterRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_LCSParameterRequestRes },
15045   { &hf_ansi_map_checkMEIDRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_CheckMEIDRes },
15046   { &hf_ansi_map_statusRequestRes, BER_CLASS_PRI, 18, BER_FLAGS_NOOWNTAG, dissect_ansi_map_StatusRequestRes },
15047   { NULL, 0, 0, 0, NULL }
15048 };
15049
15050 static int
15051 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_) {
15052   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
15053                                    ReturnData_sequence, hf_index, ett_ansi_map_ReturnData);
15054
15055   return offset;
15056 }
15057
15058
15059 /*--- End of included file: packet-ansi_map-fn.c ---*/
15060 #line 3621 "packet-ansi_map-template.c"
15061
15062 /*
15063  * 6.5.2.dk N.S0013-0 v 1.0,X.S0004-550-E v1.0 2.301
15064  */
15065 static void
15066 dissect_ansi_map_win_trigger_list(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_, asn1_ctx_t *actx _U_){
15067
15068         int offset = 0;
15069         int end_offset = 0;
15070         int j = 0;
15071         proto_tree *subtree;
15072         guint8 octet;
15073
15074         end_offset = tvb_length_remaining(tvb,offset);
15075         subtree = proto_item_add_subtree(actx->created_item, ett_win_trigger_list);
15076
15077         while(offset< end_offset) {
15078                 octet = tvb_get_guint8(tvb,offset);
15079                 switch (octet){
15080                 case 0xdc:
15081                         proto_tree_add_text(subtree, tvb, offset, 1, "TDP-R's armed");
15082                         j=0;
15083                     break;
15084                 case 0xdd:
15085                         proto_tree_add_text(subtree, tvb, offset, 1, "TDP-N's armed");
15086                         j=0;
15087                     break;
15088                 case 0xde:
15089                         proto_tree_add_text(subtree, tvb, offset, 1, "EDP-R's armed");
15090                         j=0;
15091                     break;
15092                 case 0xdf:
15093                         proto_tree_add_text(subtree, tvb, offset, 1, "EDP-N's armed");
15094                         j=0;
15095                     break;
15096                 default:
15097                         proto_tree_add_text(subtree, tvb, offset, 1, "[%u] (%u) %s",j,octet,val_to_str(octet, ansi_map_TriggerType_vals, "Unknown TriggerType (%u)"));
15098                         j++;
15099                         break;
15100                 }
15101                 offset++;
15102         }
15103 }
15104
15105
15106 static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
15107
15108
15109   switch(OperationCode){
15110    case 1: /*Handoff Measurement Request*/
15111            offset = dissect_ansi_map_HandoffMeasurementRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest);
15112            break;
15113    case 2: /*Facilities Directive*/
15114            offset = dissect_ansi_map_FacilitiesDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective);
15115            break;
15116    case 3: /*Mobile On Channel*/
15117            proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
15118            break;
15119    case 4: /*Handoff Back*/
15120            offset = dissect_ansi_map_HandoffBack(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack);
15121            break;
15122    case 5: /*Facilities Release*/
15123            offset = dissect_ansi_map_FacilitiesRelease(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesRelease);
15124            break;
15125    case 6: /*Qualification Request*/
15126            offset = dissect_ansi_map_QualificationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequest);
15127            break;
15128    case 7: /*Qualification Directive*/
15129            offset = dissect_ansi_map_QualificationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationDirective);
15130            break;
15131    case 8: /*Blocking*/
15132            offset = dissect_ansi_map_Blocking(TRUE, tvb, offset, actx, tree, hf_ansi_map_blocking);
15133            break;
15134    case 9: /*Unblocking*/
15135            offset = dissect_ansi_map_Unblocking(TRUE, tvb, offset, actx, tree, hf_ansi_map_unblocking);
15136            break;
15137    case 10: /*Reset Circuit*/
15138            offset = dissect_ansi_map_ResetCircuit(TRUE, tvb, offset, actx, tree, hf_ansi_map_resetCircuit);
15139            break;
15140    case 11: /*Trunk Test*/
15141            offset = dissect_ansi_map_TrunkTest(TRUE, tvb, offset, actx, tree, hf_ansi_map_trunkTest);
15142            break;
15143    case 12: /*Trunk Test Disconnect*/
15144           offset = dissect_ansi_map_TrunkTestDisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_trunkTestDisconnect);
15145           break;
15146    case  13: /*Registration Notification*/
15147           offset = dissect_ansi_map_RegistrationNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationNotification);
15148           break;
15149    case  14: /*Registration Cancellation*/
15150            offset = dissect_ansi_map_RegistrationCancellation(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationCancellation);
15151           break;
15152    case  15: /*Location Request*/
15153            offset = dissect_ansi_map_LocationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_locationRequest);
15154            break;
15155    case  16: /*Routing Request*/
15156            offset = dissect_ansi_map_RoutingRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_routingRequest);
15157            break;
15158    case  17: /*Feature Request*/
15159            offset = dissect_ansi_map_FeatureRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_featureRequest);
15160            break;
15161    case  18: /*Reserved 18 (Service Profile Request, IS-41-C)*/
15162            proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob(18 (Service Profile Request, IS-41-C)");
15163            break;
15164    case  19: /*Reserved 19 (Service Profile Directive, IS-41-C)*/
15165            proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob(19 Service Profile Directive, IS-41-C)");
15166            break;
15167    case  20: /*Unreliable Roamer Data Directive*/
15168            offset = dissect_ansi_map_UnreliableRoamerDataDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_unreliableRoamerDataDirective);
15169            break;
15170    case  21: /*Reserved 21 (Call Data Request, IS-41-C)*/
15171            proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob(Reserved 21 (Call Data Request, IS-41-C)");
15172            break;
15173    case  22: /*MS Inactive*/
15174            offset = dissect_ansi_map_MSInactive(TRUE, tvb, offset, actx, tree, hf_ansi_map_mSInactive);
15175            break;
15176    case  23: /*Transfer To Number Request*/
15177            offset = dissect_ansi_map_TransferToNumberRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_transferToNumberRequest);
15178            break;
15179    case  24: /*Redirection Request*/
15180            offset = dissect_ansi_map_RedirectionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_redirectionRequest);
15181            break;
15182    case  25: /*Handoff To Third*/
15183            offset = dissect_ansi_map_HandoffToThird(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird);
15184            break;
15185    case  26: /*Flash Request*/
15186            offset = dissect_ansi_map_FlashRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_flashRequest);
15187            break;
15188    case  27: /*Authentication Directive*/
15189            offset = dissect_ansi_map_AuthenticationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirective);
15190            break;
15191    case  28: /*Authentication Request*/
15192            offset = dissect_ansi_map_AuthenticationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationRequest);
15193            break;
15194    case  29: /*Base Station Challenge*/
15195            offset = dissect_ansi_map_BaseStationChallenge(TRUE, tvb, offset, actx, tree, hf_ansi_map_baseStationChallenge);
15196            break;
15197    case  30: /*Authentication Failure Report*/
15198            offset = dissect_ansi_map_AuthenticationFailureReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationFailureReport);
15199            break;
15200    case  31: /*Count Request*/
15201            offset = dissect_ansi_map_CountRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_countRequest);
15202            break;
15203    case  32: /*Inter System Page*/
15204            offset = dissect_ansi_map_InterSystemPage(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage);
15205            break;
15206    case  33: /*Unsolicited Response*/
15207            offset = dissect_ansi_map_UnsolicitedResponse(TRUE, tvb, offset, actx, tree, hf_ansi_map_unsolicitedResponse);
15208            break;
15209    case  34: /*Bulk Deregistration*/
15210            offset = dissect_ansi_map_BulkDeregistration(TRUE, tvb, offset, actx, tree, hf_ansi_map_bulkDeregistration);
15211            break;
15212    case  35: /*Handoff Measurement Request 2*/
15213            offset = dissect_ansi_map_HandoffMeasurementRequest2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest2);
15214            break;
15215    case  36: /*Facilities Directive 2*/
15216            offset = dissect_ansi_map_FacilitiesDirective2(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective2);
15217            break;
15218    case  37: /*Handoff Back 2*/
15219            offset = dissect_ansi_map_HandoffBack2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack2);
15220            break;
15221    case  38: /*Handoff To Third 2*/
15222            offset = dissect_ansi_map_HandoffToThird2(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird2);
15223            break;
15224    case  39: /*Authentication Directive Forward*/
15225            offset = dissect_ansi_map_AuthenticationDirectiveForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveForward);
15226            break;
15227    case  40: /*Authentication Status Report*/
15228            offset = dissect_ansi_map_AuthenticationStatusReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationStatusReport);
15229            break;
15230    case  41: /*Reserved 41*/
15231            proto_tree_add_text(tree, tvb, offset, -1, "Reserved 41, Unknown invokeData blob");
15232            break;
15233    case  42: /*Information Directive*/
15234            offset = dissect_ansi_map_InformationDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationDirective);
15235            break;
15236    case  43: /*Information Forward*/
15237            offset = dissect_ansi_map_InformationForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationForward);
15238            break;
15239    case  44: /*Inter System Answer*/
15240            offset = dissect_ansi_map_InterSystemAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemAnswer);
15241            break;
15242    case  45: /*Inter System Page 2*/
15243            offset = dissect_ansi_map_InterSystemPage2(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage2);
15244            break;
15245    case  46: /*Inter System Setup*/
15246            offset = dissect_ansi_map_InterSystemSetup(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSetup);
15247            break;
15248   case  47: /*OriginationRequest*/
15249           offset = dissect_ansi_map_OriginationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_originationRequest);
15250           break;
15251   case  48: /*Random Variable Request*/
15252           offset = dissect_ansi_map_RandomVariableRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_randomVariableRequest);
15253           break;
15254   case  49: /*Redirection Directive*/
15255           offset = dissect_ansi_map_RedirectionDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_redirectionDirective);
15256           break;
15257   case  50: /*Remote User Interaction Directive*/
15258           offset = dissect_ansi_map_RemoteUserInteractionDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_remoteUserInteractionDirective);
15259           break;
15260   case  51: /*SMS Delivery Backward*/
15261           offset = dissect_ansi_map_SMSDeliveryBackward(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryBackward);
15262           break;
15263   case  52: /*SMS Delivery Forward*/
15264           offset = dissect_ansi_map_SMSDeliveryForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryForward);
15265           break;
15266   case  53: /*SMS Delivery Point to Point*/
15267           offset = dissect_ansi_map_SMSDeliveryPointToPoint(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryPointToPoint);
15268           break;
15269   case  54: /*SMS Notification*/
15270           offset = dissect_ansi_map_SMSNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSNotification);
15271           break;
15272   case  55: /*SMS Request*/
15273           offset = dissect_ansi_map_SMSRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSRequest);
15274           break;
15275           /* End N.S0005*/
15276           /* N.S0010-0 v 1.0 */
15277           /* N.S0011-0 v 1.0 */
15278   case  56: /*OTASP Request 6.4.2.CC*/
15279           offset = dissect_ansi_map_OTASPRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_oTASPRequest);
15280           break;
15281           /*End N.S0011-0 v 1.0 */
15282   case  57: /*Information Backward*/
15283           offset = offset;
15284           break;
15285           /*  N.S0008-0 v 1.0 */
15286   case  58: /*Change Facilities*/
15287           offset = dissect_ansi_map_ChangeFacilities(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeFacilities);
15288           break;
15289   case  59: /*Change Service*/
15290           offset = dissect_ansi_map_ChangeService(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeService);
15291           break;
15292           /* End N.S0008-0 v 1.0 */     
15293   case  60: /*Parameter Request*/
15294           offset = dissect_ansi_map_ParameterRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_parameterRequest);
15295           break;
15296   case  61: /*TMSI Directive*/
15297           offset = dissect_ansi_map_TMSIDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_tMSIDirective);
15298           break;
15299           /*End  N.S0010-0 v 1.0 */
15300   case  62: /*NumberPortabilityRequest 62*/
15301           offset = dissect_ansi_map_NumberPortabilityRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_numberPortabilityRequest);
15302           break;
15303   case  63: /*Service Request N.S0012-0 v 1.0*/
15304           offset = dissect_ansi_map_ServiceRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_serviceRequest);
15305           break;
15306           /* N.S0013 */
15307   case  64: /*Analyzed Information Request*/
15308           offset = dissect_ansi_map_AnalyzedInformation(TRUE, tvb, offset, actx, tree, hf_ansi_map_analyzedInformation);
15309           break;
15310   case  65: /*Connection Failure Report*/
15311           offset = dissect_ansi_map_ConnectionFailureReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_connectionFailureReport);
15312           break;
15313   case  66: /*Connect Resource*/
15314           offset = dissect_ansi_map_ConnectResource(TRUE, tvb, offset, actx, tree, hf_ansi_map_connectResource);
15315           break;
15316   case  67: /*Disconnect Resource*/
15317           /* No data */
15318           break;
15319   case  68: /*Facility Selected and Available*/
15320           offset = dissect_ansi_map_FacilitySelectedAndAvailable(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailable);
15321           break;
15322   case  69: /*Instruction Request*/
15323           /* No data */
15324           break;
15325   case  70: /*Modify*/
15326           offset = dissect_ansi_map_Modify(TRUE, tvb, offset, actx, tree, hf_ansi_map_modify);
15327           break;
15328   case  71: /*Reset Timer*/
15329           /*No Data*/
15330           break;
15331   case  72: /*Search*/
15332           offset = dissect_ansi_map_Search(TRUE, tvb, offset, actx, tree, hf_ansi_map_search);
15333           break;
15334   case  73: /*Seize Resource*/
15335           offset = dissect_ansi_map_SeizeResource(TRUE, tvb, offset, actx, tree, hf_ansi_map_seizeResource);
15336           break;
15337   case  74: /*SRF Directive*/
15338           offset = dissect_ansi_map_SRFDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_sRFDirective);
15339           break;
15340   case  75: /*T Busy*/
15341           offset = dissect_ansi_map_TBusy(TRUE, tvb, offset, actx, tree, hf_ansi_map_tBusy);
15342           break;
15343   case  76: /*T NoAnswer*/
15344           offset = dissect_ansi_map_TNoAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_tNoAnswer);
15345           break;
15346           /*END N.S0013 */
15347   case  77: /*Release*/
15348           offset = offset;
15349           break;
15350   case  78: /*SMS Delivery Point to Point Ack*/
15351           offset = offset;
15352           break;
15353           /* N.S0024*/
15354   case  79: /*Message Directive*/
15355           offset = dissect_ansi_map_MessageDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_messageDirective);
15356           break;
15357           /*END N.S0024*/
15358           /* N.S0018 PN-4287*/
15359   case  80: /*Bulk Disconnection*/
15360           offset = dissect_ansi_map_BulkDisconnection(TRUE, tvb, offset, actx, tree, hf_ansi_map_bulkDisconnection);
15361           break;
15362   case  81: /*Call Control Directive*/
15363           offset = dissect_ansi_map_CallControlDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_callControlDirective);
15364           break;
15365   case  82: /*O Answer*/
15366           offset = dissect_ansi_map_OAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_oAnswer);
15367           break;
15368   case  83: /*O Disconnect*/
15369           offset = dissect_ansi_map_ODisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_oDisconnect);
15370           break;
15371   case  84: /*Call Recovery Report*/
15372           offset = dissect_ansi_map_CallRecoveryReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_callRecoveryReport);
15373           break;
15374   case  85: /*T Answer*/
15375           offset = dissect_ansi_map_TAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_tAnswer);
15376           break;
15377   case  86: /*T Disconnect*/
15378           offset = dissect_ansi_map_TDisconnect(TRUE, tvb, offset, actx, tree, hf_ansi_map_tDisconnect);
15379           break;
15380   case  87: /*Unreliable Call Data*/
15381           offset = dissect_ansi_map_UnreliableCallData(TRUE, tvb, offset, actx, tree, hf_ansi_map_unreliableCallData);
15382           break;
15383           /* N.S0018 PN-4287*/
15384           /*N.S0004 */
15385   case  88: /*O CalledPartyBusy*/
15386           offset = dissect_ansi_map_OCalledPartyBusy(TRUE, tvb, offset, actx, tree, hf_ansi_map_oCalledPartyBusy);
15387           break;
15388   case  89: /*O NoAnswer*/
15389           offset = dissect_ansi_map_ONoAnswer(TRUE, tvb, offset, actx, tree, hf_ansi_map_oNoAnswer);
15390           break;
15391   case  90: /*Position Request*/
15392           offset = dissect_ansi_map_PositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequest);
15393           break;
15394   case  91: /*Position Request Forward*/
15395           offset = dissect_ansi_map_PositionRequestForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestForward);
15396           break;
15397            /*END N.S0004 */
15398   case  92: /*Call Termination Report*/
15399           offset = dissect_ansi_map_CallTerminationReport(TRUE, tvb, offset, actx, tree, hf_ansi_map_callTerminationReport);
15400           break;
15401   case  93: /*Geo Position Directive*/
15402           offset = offset;
15403           break;
15404   case  94: /*Geo Position Request*/
15405           offset = dissect_ansi_map_GeoPositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequest);
15406           break;
15407   case  95: /*Inter System Position Request*/
15408           offset = dissect_ansi_map_InterSystemPositionRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequest);
15409           break;
15410   case  96: /*Inter System Position Request Forward*/
15411           offset = dissect_ansi_map_InterSystemPositionRequestForward(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestForward);
15412           break;
15413           /* 3GPP2 N.S0023-0 */
15414   case  97: /*ACG Directive*/
15415           offset = dissect_ansi_map_ACGDirective(TRUE, tvb, offset, actx, tree, hf_ansi_map_aCGDirective);
15416           break;
15417           /* END 3GPP2 N.S0023-0 */
15418   case  98: /*Roamer Database Verification Request*/
15419           offset = dissect_ansi_map_RoamerDatabaseVerificationRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_roamerDatabaseVerificationRequest);
15420           break;
15421           /* N.S0029 X.S0001-A v1.0*/
15422   case  99: /*Add Service*/
15423           offset = dissect_ansi_map_AddService(TRUE, tvb, offset, actx, tree, hf_ansi_map_addService);
15424           break;
15425   case  100: /*Drop Service*/
15426           offset = dissect_ansi_map_DropService(TRUE, tvb, offset, actx, tree, hf_ansi_map_dropService);
15427           break;
15428           /*End N.S0029 X.S0001-A v1.0*/
15429           /* X.S0002-0 v1.0 */
15430           /* LCSParameterRequest */
15431   case 102:
15432           offset = dissect_ansi_map_LCSParameterRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_lcsParameterRequest);
15433           break;
15434           /* CheckMEID X.S0008-0 v1.0*/
15435   case 104:
15436           offset = dissect_ansi_map_CheckMEID(TRUE, tvb, offset, actx, tree, hf_ansi_map_checkMEID);
15437           break;        
15438           /* PositionEventNotification */
15439   case 106:
15440           offset = dissect_ansi_map_PositionEventNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionEventNotification);
15441           break;
15442   case 107:
15443          /* StatusRequest X.S0008-0 v1.0*/
15444           offset = dissect_ansi_map_StatusRequest(TRUE, tvb, offset, actx, tree, hf_ansi_map_statusRequest);
15445          break;
15446   default:
15447           proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
15448           break;
15449   }
15450
15451   return offset;
15452
15453  }
15454
15455 static int dissect_returnData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) {
15456
15457   switch(OperationCode){
15458    case 1: /*Handoff Measurement Request*/
15459            offset = dissect_ansi_map_HandoffMeasurementRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequestRes);
15460            break;
15461    case 2: /*Facilities Directive*/
15462            offset = dissect_ansi_map_FacilitiesDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirectiveRes);
15463            break;
15464    case 4: /*Handoff Back*/
15465            offset = dissect_ansi_map_HandoffBackRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBackRes);
15466            break;
15467    case 5: /*Facilities Release*/
15468            offset = dissect_ansi_map_FacilitiesReleaseRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesReleaseRes);
15469            break;
15470   case 6: /*Qualification Request*/
15471            offset = dissect_ansi_map_QualificationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_qualificationRequestRes);
15472            break;
15473    case 10: /*Reset Circuit*/
15474            offset = dissect_ansi_map_ResetCircuitRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_resetCircuitRes);
15475            break;
15476    case 13: /*Registration Notification*/
15477           offset = dissect_ansi_map_RegistrationNotificationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationNotificationRes);
15478           break;
15479    case  14: /*Registration Cancellation*/
15480       offset = dissect_ansi_map_RegistrationCancellationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_registrationCancellationRes);
15481           break;
15482    case  15: /*Location Request*/
15483            offset = dissect_ansi_map_LocationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_locationRequestRes);
15484            break;
15485    case  16: /*Routing Request*/
15486            offset = dissect_ansi_map_RoutingRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_routingRequestRes);
15487            break;
15488    case  17: /*Feature Request*/
15489            offset = dissect_ansi_map_FeatureRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_featureRequestRes);
15490            break;
15491    case  23: /*Transfer To Number Request*/
15492            offset = dissect_ansi_map_TransferToNumberRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_transferToNumberRequestRes);
15493            break;
15494    case  25: /*Handoff To Third*/
15495            offset = dissect_ansi_map_HandoffToThirdRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThirdRes);
15496            break;
15497    case  26: /*Flash Request*/
15498            /* No data */
15499            proto_tree_add_text(tree, tvb, offset, -1, "No Data");
15500            break;
15501    case  27: /*Authentication Directive*/
15502            offset = dissect_ansi_map_AuthenticationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveRes);
15503            break;
15504    case  28: /*Authentication Request*/
15505            offset = dissect_ansi_map_AuthenticationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationRequestRes);
15506            break;
15507    case  29: /*Base Station Challenge*/
15508            offset = dissect_ansi_map_BaseStationChallengeRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_baseStationChallengeRes);
15509            break;
15510    case  30: /*Authentication Failure Report*/
15511            offset = dissect_ansi_map_AuthenticationFailureReportRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationFailureReportRes);
15512            break;
15513    case  31: /*Count Request*/
15514            offset = dissect_ansi_map_CountRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_countRequestRes);
15515            break;
15516    case  32: /*Inter System Page*/
15517            offset = dissect_ansi_map_InterSystemPageRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPageRes);
15518            break;
15519    case  33: /*Unsolicited Response*/
15520            offset = dissect_ansi_map_UnsolicitedResponseRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_unsolicitedResponseRes);
15521            break;
15522    case  35: /*Handoff Measurement Request 2*/
15523            offset = dissect_ansi_map_HandoffMeasurementRequest2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffMeasurementRequest2Res);
15524            break;
15525    case  36: /*Facilities Directive 2*/
15526            offset = dissect_ansi_map_FacilitiesDirective2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitiesDirective2Res);
15527            break;
15528    case  37: /*Handoff Back 2*/
15529            offset = dissect_ansi_map_HandoffBack2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffBack2Res);
15530            break;
15531    case  38: /*Handoff To Third 2*/
15532            offset = dissect_ansi_map_HandoffToThird2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_handoffToThird2Res);
15533            break;
15534    case  39: /*Authentication Directive Forward*/
15535            offset = dissect_ansi_map_AuthenticationDirectiveForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationDirectiveForwardRes);
15536            break;
15537    case  40: /*Authentication Status Report*/
15538            offset = dissect_ansi_map_AuthenticationStatusReportRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_authenticationStatusReportRes);
15539            break;
15540                          /*Reserved 41*/
15541    case  42: /*Information Directive*/
15542            offset = dissect_ansi_map_InformationDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationDirectiveRes);
15543            break;
15544    case  43: /*Information Forward*/
15545            offset = dissect_ansi_map_InformationForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_informationForwardRes);
15546            break;
15547    case  45: /*Inter System Page 2*/
15548            offset = dissect_ansi_map_InterSystemPage2Res(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPage2Res);
15549            break;
15550    case  46: /*Inter System Setup*/
15551            offset = dissect_ansi_map_InterSystemSetupRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemSetupRes);
15552            break;
15553   case  47: /*OriginationRequest*/
15554           offset = dissect_ansi_map_OriginationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_originationRequestRes);
15555           break;
15556   case  48: /*Random Variable Request*/
15557           offset = dissect_ansi_map_RandomVariableRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_randomVariableRequestRes);
15558           break;
15559   case  50: /*Remote User Interaction Directive*/
15560           offset = dissect_ansi_map_RemoteUserInteractionDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_remoteUserInteractionDirectiveRes);
15561           break;
15562   case  51: /*SMS Delivery Backward*/
15563           offset = dissect_ansi_map_SMSDeliveryBackwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryBackwardRes);
15564           break;
15565   case  52: /*SMS Delivery Forward*/
15566           offset = dissect_ansi_map_SMSDeliveryForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryForwardRes);
15567           break;
15568   case  53: /*SMS Delivery Point to Point*/
15569           offset = dissect_ansi_map_SMSDeliveryPointToPointRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSDeliveryPointToPointRes);
15570           break;
15571   case  54: /*SMS Notification*/
15572           offset = dissect_ansi_map_SMSNotificationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSNotificationRes);
15573           break;
15574   case  55: /*SMS Request*/
15575           offset = dissect_ansi_map_SMSRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sMSRequestRes);
15576           break;
15577           /*  N.S0008-0 v 1.0 */
15578   case  56: /*OTASP Request 6.4.2.CC*/
15579           offset = dissect_ansi_map_OTASPRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oTASPRequestRes);
15580           break;
15581   case  58: /*Change Facilities*/
15582           offset = dissect_ansi_map_ChangeFacilitiesRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeFacilitiesRes);
15583           break;
15584   case  59: /*Change Service*/
15585           offset = dissect_ansi_map_ChangeServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_changeServiceRes);
15586           break;
15587   case  60: /*Parameter Request*/
15588           offset = dissect_ansi_map_ParameterRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_parameterRequestRes);
15589           break;
15590   case  61: /*TMSI Directive*/
15591           offset = dissect_ansi_map_TMSIDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tMSIDirectiveRes);
15592           break;
15593   case  63: /*Service Request*/
15594           offset = dissect_ansi_map_ServiceRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_serviceRequestRes);
15595           break;
15596           /* N.S0013 */
15597   case  64: /*Analyzed Information Request*/
15598           offset = dissect_ansi_map_AnalyzedInformationRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_analyzedInformationRes);
15599           break;
15600   case  68: /*Facility Selected and Available*/
15601           offset = dissect_ansi_map_FacilitySelectedAndAvailableRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_facilitySelectedAndAvailableRes);
15602           break;
15603   case  70: /*Modify*/
15604           offset = dissect_ansi_map_ModifyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_modifyRes);
15605           break;
15606   case  72: /*Search*/
15607           offset = dissect_ansi_map_SearchRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_searchRes);;
15608           break;
15609   case  73: /*Seize Resource*/
15610           offset = dissect_ansi_map_SeizeResourceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_seizeResourceRes);
15611           break;
15612   case  74: /*SRF Directive*/
15613           offset = dissect_ansi_map_SRFDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_sRFDirectiveRes);
15614           break;
15615   case  75: /*T Busy*/
15616           offset = dissect_ansi_map_TBusyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tBusyRes);
15617           break;
15618   case  76: /*T NoAnswer*/
15619           offset = dissect_ansi_map_TNoAnswerRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tNoAnswerRes);
15620           break;
15621   case  81: /*Call Control Directive*/
15622           offset = dissect_ansi_map_CallControlDirectiveRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_callControlDirectiveRes);
15623           break;
15624   case  83: /*O Disconnect*/
15625           offset = dissect_ansi_map_ODisconnectRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oDisconnectRes);
15626           break;
15627   case  86: /*T Disconnect*/
15628           offset = dissect_ansi_map_TDisconnectRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_tDisconnectRes);
15629           break;
15630   case  88: /*O CalledPartyBusy*/
15631           offset = dissect_ansi_map_OCalledPartyBusyRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oCalledPartyBusyRes);
15632           break;
15633    case  89: /*O NoAnswer*/
15634           offset = dissect_ansi_map_ONoAnswerRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_oNoAnswerRes);
15635           break;
15636   case  90: /*Position Request*/
15637           offset = dissect_ansi_map_PositionRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestRes);
15638           break;
15639   case  91: /*Position Request Forward*/
15640           offset = dissect_ansi_map_PositionRequestForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionRequestForwardRes);
15641           break;
15642   case  95: /*Inter System Position Request*/
15643           offset = dissect_ansi_map_InterSystemPositionRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestRes);
15644           break;
15645   case  96: /*Inter System Position Request Forward*/
15646           offset = dissect_ansi_map_InterSystemPositionRequestForwardRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_interSystemPositionRequestRes);
15647           break;
15648   case  98: /*Roamer Database Verification Request*/
15649           offset = dissect_ansi_map_RoamerDatabaseVerificationRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_roamerDatabaseVerificationRequestRes);
15650           break;
15651   case  99: /*Add Service*/
15652           offset = dissect_ansi_map_AddServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_addServiceRes);
15653           break;
15654   case  100: /*Drop Service*/
15655           offset = dissect_ansi_map_DropServiceRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_dropServiceRes);
15656           break;
15657           /*End N.S0029 */
15658           /* X.S0002-0 v1.0 */
15659           /* LCSParameterRequest */
15660   case 102:
15661           offset = dissect_ansi_map_LCSParameterRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_lcsParameterRequestRes);
15662           break;
15663           /* CheckMEID X.S0008-0 v1.0*/
15664   case 104:
15665           offset = dissect_ansi_map_CheckMEIDRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_checkMEIDRes);
15666           break;        
15667           /* PositionEventNotification *
15668   case 106:
15669           offset = dissect_ansi_map_PositionEventNotification(TRUE, tvb, offset, actx, tree, hf_ansi_map_positionEventNotificationRes);
15670           break;
15671           */
15672   case 107:
15673          /* StatusRequest X.S0008-0 v1.0*/
15674           offset = dissect_ansi_map_StatusRequestRes(TRUE, tvb, offset, actx, tree, hf_ansi_map_statusRequestRes);
15675          break;
15676
15677  default:
15678           proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
15679           break;
15680   }
15681
15682   return offset;
15683
15684  }
15685
15686 static int
15687 find_saved_invokedata(asn1_ctx_t *actx){
15688    struct ansi_map_invokedata_t *ansi_map_saved_invokedata;
15689   struct ansi_tcap_private_t *p_private_tcap;
15690   address* src = &(actx->pinfo->src);
15691   address* dst = &(actx->pinfo->dst);
15692   guint8 *src_str;
15693   guint8 *dst_str;
15694   char *buf;
15695
15696   buf=ep_alloc(1024);
15697   src_str = address_to_str(src);
15698   dst_str = address_to_str(dst);
15699
15700   /* Data from the TCAP dissector */
15701   if (actx->pinfo->private_data != NULL){
15702           p_private_tcap=actx->pinfo->private_data;
15703           /* The hash string needs to contain src and dest to distiguish differnt flows */
15704           src_str = address_to_str(src);
15705           dst_str = address_to_str(dst);
15706           /* Reverse order to invoke */
15707           g_snprintf(buf,1024,"%s%s%s",p_private_tcap->TransactionID_str,dst_str,src_str);
15708           /*
15709           g_warning("Find Hash string %s",buf);
15710           */
15711           ansi_map_saved_invokedata = g_hash_table_lookup(TransactionId_table, buf);
15712           if(ansi_map_saved_invokedata){
15713                   OperationCode = ansi_map_saved_invokedata->opcode & 0xff;
15714                   ServiceIndicator = ansi_map_saved_invokedata->ServiceIndicator;
15715           }else{
15716                   OperationCode = OperationCode & 0x00ff;
15717           }
15718   }else{
15719           OperationCode = OperationCode & 0x00ff;
15720   }
15721   return OperationCode;
15722 }
15723
15724 static void
15725 dissect_ansi_map(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
15726 {
15727     proto_item *ansi_map_item;
15728     proto_tree *ansi_map_tree = NULL;
15729     int        offset = 0;
15730         struct ansi_tcap_private_t *p_private_tcap;
15731         asn1_ctx_t asn1_ctx;
15732         asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
15733
15734         SMS_BearerData_tvb = NULL;
15735         ansi_map_sms_tele_id = -1;
15736     g_pinfo = pinfo;
15737         g_tree = tree;
15738     /*
15739      * Make entry in the Protocol column on summary display
15740      */
15741     if (check_col(pinfo->cinfo, COL_PROTOCOL))
15742     {
15743                 col_set_str(pinfo->cinfo, COL_PROTOCOL, "ANSI MAP");
15744     }
15745
15746         /* Data from the TCAP dissector */
15747         if (pinfo->private_data == NULL){
15748                 proto_tree_add_text(tree, tvb, 0, -1, "Dissector ERROR this dissector relays on private data");
15749                 return;
15750         }
15751
15752         /*
15753          * create the ansi_map protocol tree
15754          */
15755         ansi_map_item = proto_tree_add_item(tree, proto_ansi_map, tvb, 0, -1, FALSE);
15756         ansi_map_tree = proto_item_add_subtree(ansi_map_item, ett_ansi_map);
15757         ansi_map_is_invoke = FALSE;
15758         is683_ota = FALSE;
15759         is801_pld = FALSE;
15760         ServiceIndicator = 0;
15761
15762         p_private_tcap=pinfo->private_data;
15763         
15764         switch(p_private_tcap->d.pdu){
15765       /* 
15766          1 : invoke, 
15767          2 : returnResult, 
15768          3 : returnError,
15769          4 : reject
15770       */
15771         case 1:
15772                 OperationCode = p_private_tcap->d.OperationCode_private & 0x00ff;
15773                 ansi_map_is_invoke = TRUE;
15774                 if (check_col(pinfo->cinfo, COL_INFO)){
15775                         col_clear(pinfo->cinfo, COL_INFO);
15776                         col_add_fstr(pinfo->cinfo, COL_INFO,"%s Invoke", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
15777                 }
15778                 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)"));
15779                 offset = dissect_invokeData(ansi_map_tree, tvb, 0, &asn1_ctx);
15780                 update_saved_invokedata(pinfo, ansi_map_tree, tvb);
15781                 break;
15782         case 2:
15783                 OperationCode = find_saved_invokedata(&asn1_ctx);
15784                 if (check_col(pinfo->cinfo, COL_INFO)){
15785                         col_clear(pinfo->cinfo, COL_INFO);
15786                         col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnResult", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
15787                 }
15788                 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)"));
15789                 offset = dissect_returnData(ansi_map_tree, tvb, 0, &asn1_ctx);
15790                 break;
15791         case 3:
15792                 if (check_col(pinfo->cinfo, COL_INFO)){
15793                         col_clear(pinfo->cinfo, COL_INFO);
15794                         col_add_fstr(pinfo->cinfo, COL_INFO,"%s ReturnError", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
15795                 }
15796                 break;
15797         case 4:
15798                 if (check_col(pinfo->cinfo, COL_INFO)){
15799                         col_clear(pinfo->cinfo, COL_INFO);
15800                         col_add_fstr(pinfo->cinfo, COL_INFO,"%s Reject", val_to_str(OperationCode, ansi_map_opr_code_strings, "Unknown ANSI-MAP PDU (%u)"));
15801                 }
15802                 break;
15803         default:
15804                 /* Must be Invoke ReturnResult ReturnError or Reject */
15805                 DISSECTOR_ASSERT_NOT_REACHED();
15806                 break;
15807         }
15808 }
15809
15810 static void range_delete_callback(guint32 ssn)
15811  {
15812         if (ssn) {
15813                 delete_ansi_tcap_subdissector(ssn , ansi_map_handle);
15814                 add_ansi_tcap_subdissector(ssn , ansi_map_handle);
15815     }
15816  }
15817
15818  static void range_add_callback(guint32 ssn)
15819  {
15820         if (ssn) {
15821                  add_ansi_tcap_subdissector(ssn , ansi_map_handle);
15822         }
15823  }
15824
15825  void
15826  proto_reg_handoff_ansi_map(void)
15827  {
15828      static int ansi_map_prefs_initialized = FALSE;
15829      data_handle = find_dissector("data");
15830      
15831      if(!ansi_map_prefs_initialized)
15832      {
15833         ansi_map_prefs_initialized = TRUE;
15834         ansi_map_handle = create_dissector_handle(dissect_ansi_map, proto_ansi_map);
15835      }
15836      else
15837      {
15838         range_foreach(ssn_range, range_delete_callback);
15839      }
15840      
15841      g_free(ssn_range);
15842      ssn_range = range_copy(global_ssn_range);
15843  
15844      range_foreach(ssn_range, range_add_callback);
15845  }
15846
15847 /*--- proto_register_ansi_map -------------------------------------------*/
15848 void proto_register_ansi_map(void) {
15849
15850   module_t      *ansi_map_module;
15851
15852   /* List of fields */
15853     static hf_register_info hf[] = {
15854
15855     { &hf_ansi_map_op_code_fam,
15856       { "Operation Code Family", "ansi_map.op_code_fam",
15857         FT_UINT8, BASE_DEC, NULL, 0,
15858         "Operation Code Family", HFILL }},
15859         { &hf_ansi_map_reservedBitH,
15860       { "Reserved", "ansi_map.reserved_bitH",
15861         FT_BOOLEAN, 8, NULL,0x80,
15862         "Reserved", HFILL }},
15863         { &hf_ansi_map_reservedBitD,
15864       { "Reserved", "ansi_map.reserved_bitH",
15865         FT_BOOLEAN, 8, NULL,0x08,
15866         "Reserved", HFILL }},
15867         { &hf_ansi_map_reservedBitHG,
15868       { "Reserved", "ansi_map.reserved_bitHG",
15869        FT_UINT8, BASE_DEC, NULL, 0x18,
15870          "Reserved", HFILL }},
15871         { &hf_ansi_map_reservedBitHGFE,
15872       { "Reserved", "ansi_map.reserved_bitHGFE",
15873        FT_UINT8, BASE_DEC, NULL, 0xf0,
15874          "Reserved", HFILL }},
15875         { &hf_ansi_map_reservedBitFED,
15876       { "Reserved", "ansi_map.reserved_bitFED",
15877        FT_UINT8, BASE_DEC, NULL, 0x38,
15878          "Reserved", HFILL }},
15879         { &hf_ansi_map_reservedBitED,
15880       { "Reserved", "ansi_map.reserved_bitED",
15881        FT_UINT8, BASE_DEC, NULL, 0x18,
15882          "Reserved", HFILL }},
15883     { &hf_ansi_map_op_code,
15884       { "Operation Code", "ansi_map.op_code",
15885         FT_UINT8, BASE_DEC, VALS(ansi_map_opr_code_strings), 0x0,
15886         "Operation Code", HFILL }},
15887         { &hf_ansi_map_type_of_digits,
15888       { "Type of Digits", "ansi_map.type_of_digits",
15889         FT_UINT8, BASE_DEC, VALS(ansi_map_type_of_digits_vals), 0x0,
15890         "Type of Digits", HFILL }},
15891         { &hf_ansi_map_na,
15892       { "Nature of Number", "ansi_map.na",
15893         FT_BOOLEAN, 8, TFS(&ansi_map_na_bool_val),0x01,
15894         "Nature of Number", HFILL }},
15895         { &hf_ansi_map_pi,
15896       { "Presentation Indication", "ansi_map.type_of_pi",
15897         FT_BOOLEAN, 8, TFS(&ansi_map_pi_bool_val),0x02,
15898         "Presentation Indication", HFILL }},
15899         { &hf_ansi_map_navail,
15900       { "Numer available indication", "ansi_map.navail",
15901         FT_BOOLEAN, 8, TFS(&ansi_map_navail_bool_val),0x04,
15902         "Numer available indication", HFILL }},
15903         { &hf_ansi_map_si,
15904       { "Screening indication", "ansi_map.si",
15905         FT_UINT8, BASE_DEC, VALS(ansi_map_si_vals), 0x30,
15906         "Screening indication", HFILL }},
15907         { &hf_ansi_map_digits_enc,
15908       { "Encoding", "ansi_map.enc",
15909         FT_UINT8, BASE_DEC, VALS(ansi_map_digits_enc_vals), 0x0f,
15910         "Encoding", HFILL }},
15911         { &hf_ansi_map_np,
15912       { "Numbering Plan", "ansi_map.np",
15913         FT_UINT8, BASE_DEC, VALS(ansi_map_np_vals), 0xf0,
15914         "Numbering Plan", HFILL }},
15915         { &hf_ansi_map_nr_digits,
15916       { "Number of Digits", "ansi_map.nr_digits",
15917         FT_UINT8, BASE_DEC, NULL, 0x0,
15918         "Number of Digits", HFILL }},
15919         { &hf_ansi_map_bcd_digits,
15920       { "BCD digits", "ansi_map.bcd_digits",
15921         FT_STRING, BASE_NONE, NULL, 0,
15922         "BCD digits", HFILL }},
15923         { &hf_ansi_map_ia5_digits,
15924       { "IA5 digits", "ansi_map.ia5_digits",
15925         FT_STRING, BASE_NONE, NULL, 0,
15926         "IA5 digits", HFILL }},
15927         { &hf_ansi_map_subaddr_type,
15928       { "Type of Subaddress", "ansi_map.subaddr_type",
15929         FT_UINT8, BASE_DEC, VALS(ansi_map_sub_addr_type_vals), 0x70,
15930         "Type of Subaddress", HFILL }},
15931         { &hf_ansi_map_subaddr_odd_even,
15932       { "Odd/Even Indicator", "ansi_map.subaddr_odd_even",
15933         FT_BOOLEAN, 8, TFS(&ansi_map_navail_bool_val),0x08,
15934         "Odd/Even Indicator", HFILL }},
15935
15936         { &hf_ansi_alertcode_cadence,
15937       { "Cadence", "ansi_map.alertcode.cadence",
15938         FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Cadence_vals), 0x3f,
15939         "Cadence", HFILL }},
15940         { &hf_ansi_alertcode_pitch,
15941       { "Pitch", "ansi_map.alertcode.pitch",
15942         FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Pitch_vals), 0xc0,
15943         "Pitch", HFILL }},
15944         { &hf_ansi_alertcode_alertaction,
15945       { "Alert Action", "ansi_map.alertcode.alertaction",
15946         FT_UINT8, BASE_DEC, VALS(ansi_map_AlertCode_Alert_Action_vals), 0x07,
15947         "Alert Action", HFILL }},
15948     { &hf_ansi_map_announcementcode_tone,
15949       { "Tone", "ansi_map.announcementcode.tone",
15950         FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_tone_vals), 0x0,
15951         "Tone", HFILL }},
15952     { &hf_ansi_map_announcementcode_class,
15953       { "Tone", "ansi_map.announcementcode.class",
15954         FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_class_vals), 0xf,
15955         "Tone", HFILL }},
15956     { &hf_ansi_map_announcementcode_std_ann,
15957       { "Standard Announcement", "ansi_map.announcementcode.std_ann",
15958         FT_UINT8, BASE_DEC, VALS(ansi_map_AnnouncementCode_std_ann_vals), 0x0,
15959         "Standard Announcement", HFILL }},
15960     { &hf_ansi_map_announcementcode_cust_ann,
15961       { "Custom Announcement", "ansi_map.announcementcode.cust_ann",
15962         FT_UINT8, BASE_DEC, NULL, 0x0,
15963         "Custom Announcement", HFILL }},
15964         { &hf_ansi_map_authorizationperiod_period,
15965       { "Period", "ansi_map.authorizationperiod.period",
15966         FT_UINT8, BASE_DEC, VALS(ansi_map_authorizationperiod_period_vals), 0x0,
15967         "Period", HFILL }},
15968         { &hf_ansi_map_value,
15969       { " Value", "ansi_map.value",
15970         FT_UINT8, BASE_DEC, NULL, 0x0,
15971         "Value", HFILL }},
15972         { &hf_ansi_map_msc_type,
15973       { "Type", "ansi_map.extendedmscid.type",
15974         FT_UINT8, BASE_DEC, VALS(ansi_map_msc_type_vals), 0x0,
15975         "Type", HFILL }},
15976         { &hf_ansi_map_handoffstate_pi,
15977       { "Party Involved (PI)", "ansi_map.handoffstate.pi",
15978         FT_BOOLEAN, 8, TFS(&ansi_map_HandoffState_pi_bool_val),0x01,
15979         "Party Involved (PI)", HFILL }},
15980         { &hf_ansi_map_tgn,
15981       { "Trunk Group Number (G)", "ansi_map.tgn",
15982         FT_UINT8, BASE_DEC, NULL,0x0,
15983         "Trunk Group Number (G)", HFILL }},
15984         { &hf_ansi_map_tmn,
15985       { "Trunk Member Number (M)", "ansi_map.tgn",
15986         FT_UINT8, BASE_DEC, NULL,0x0,
15987         "Trunk Member Number (M)", HFILL }},
15988         { &hf_ansi_map_messagewaitingnotificationcount_tom,
15989       { "Type of messages", "ansi_map.messagewaitingnotificationcount.tom",
15990         FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationCount_type_vals), 0x0,
15991         "Type of messages", HFILL }},
15992         { &hf_ansi_map_messagewaitingnotificationcount_no_mw,
15993       { "Number of Messages Waiting", "ansi_map.messagewaitingnotificationcount.nomw",
15994         FT_UINT8, BASE_DEC, NULL,0x0,
15995         "Number of Messages Waiting", HFILL }},
15996         { &hf_ansi_map_messagewaitingnotificationtype_mwi,
15997       { "Message Waiting Indication (MWI)", "ansi_map.messagewaitingnotificationcount.mwi",
15998         FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationType_mwi_vals), 0x0,
15999         "Message Waiting Indication (MWI)", HFILL }},
16000         { &hf_ansi_map_messagewaitingnotificationtype_apt,
16001       { "Alert Pip Tone (APT)", "ansi_map.messagewaitingnotificationtype.apt",
16002         FT_BOOLEAN, 8, TFS(&ansi_map_HandoffState_pi_bool_val),0x02,
16003         "Alert Pip Tone (APT)", HFILL }},
16004         { &hf_ansi_map_messagewaitingnotificationtype_pt,
16005       { "Pip Tone (PT)", "ansi_map.messagewaitingnotificationtype.pt",
16006         FT_UINT8, BASE_DEC, VALS(ansi_map_MessageWaitingNotificationType_mwi_vals), 0xc0,
16007         "Pip Tone (PT)", HFILL }},
16008
16009         { &hf_ansi_map_trans_cap_prof,
16010       { "Profile (PROF)", "ansi_map.trans_cap_prof",
16011         FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_prof_bool_val),0x01,
16012         "Profile (PROF)", HFILL }},
16013         { &hf_ansi_map_trans_cap_busy,
16014       { "Busy Detection (BUSY)", "ansi_map.trans_cap_busy",
16015         FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_busy_bool_val),0x02,
16016         "Busy Detection (BUSY)", HFILL }},
16017         { &hf_ansi_map_trans_cap_ann,
16018       { "Announcements (ANN)", "ansi_map.trans_cap_ann",
16019         FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_ann_bool_val),0x04,
16020         "Announcements (ANN)", HFILL }},
16021         { &hf_ansi_map_trans_cap_rui,
16022       { "Remote User Interaction (RUI)", "ansi_map.trans_cap_rui",
16023         FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_rui_bool_val),0x08,
16024         "Remote User Interaction (RUI)", HFILL }},
16025         { &hf_ansi_map_trans_cap_spini,
16026       { "Subscriber PIN Intercept (SPINI)", "ansi_map.trans_cap_spini",
16027         FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_spini_bool_val),0x10,
16028         "Subscriber PIN Intercept (SPINI)", HFILL }},
16029         { &hf_ansi_map_trans_cap_uzci,
16030       { "UZ Capability Indicator (UZCI)", "ansi_map.trans_cap_uzci",
16031         FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_uzci_bool_val),0x20,
16032         "UZ Capability Indicator (UZCI)", HFILL }},
16033         { &hf_ansi_map_trans_cap_ndss,
16034       { "NDSS Capability (NDSS)", "ansi_map.trans_cap_ndss",
16035         FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_ndss_bool_val),0x40,
16036         "NDSS Capability (NDSS)", HFILL }},             
16037         { &hf_ansi_map_trans_cap_nami,
16038       { "NAME Capability Indicator (NAMI)", "ansi_map.trans_cap_nami",
16039         FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_nami_bool_val),0x80,
16040         "NAME Capability Indicator (NAMI)", HFILL }},
16041         { &hf_ansi_trans_cap_multerm,
16042       { "Multiple Terminations", "ansi_map.trans_cap_multerm",
16043         FT_UINT8, BASE_DEC, VALS(ansi_map_trans_cap_multerm_vals), 0x0f,
16044         "Multiple Terminations", HFILL }},
16045     { &hf_ansi_map_terminationtriggers_busy,
16046       { "Busy", "ansi_map.terminationtriggers.busy",
16047         FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_busy_vals), 0x03,
16048         "Busy", HFILL }},
16049     { &hf_ansi_map_terminationtriggers_rf,
16050       { "Routing Failure (RF)", "ansi_map.terminationtriggers.rf",
16051         FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_rf_vals), 0x0c,
16052         "Routing Failure (RF)", HFILL }},
16053     { &hf_ansi_map_terminationtriggers_npr,
16054       { "No Page Response (NPR)", "ansi_map.terminationtriggers.npr",
16055         FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_npr_vals), 0x30,
16056         "No Page Response (NPR)", HFILL }},
16057     { &hf_ansi_map_terminationtriggers_na,
16058       { "No Answer (NA)", "ansi_map.terminationtriggers.na",
16059         FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_na_vals), 0xc0,
16060         "No Answer (NA)", HFILL }},
16061     { &hf_ansi_map_terminationtriggers_nr,
16062       { "None Reachable (NR)", "ansi_map.terminationtriggers.nr",
16063         FT_UINT8, BASE_DEC, VALS(ansi_map_terminationtriggers_nr_vals), 0x01,
16064         "None Reachable (NR)", HFILL }},
16065         { &hf_ansi_trans_cap_tl,
16066       { "TerminationList (TL)", "ansi_map.trans_cap_tl",
16067         FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_tl_bool_val),0x10,
16068         "TerminationList (TL)", HFILL }},
16069         { &hf_ansi_map_cdmaserviceoption,
16070       { "CDMAServiceOption", "ansi_map.cdmaserviceoption",
16071         FT_UINT16, BASE_RANGE_STRING | BASE_DEC, RVALS(&cdmaserviceoption_vals), 0x0,
16072         "CDMAServiceOption", HFILL }},
16073         { &hf_ansi_trans_cap_waddr,
16074       { "WIN Addressing (WADDR)", "ansi_map.trans_cap_waddr",
16075         FT_BOOLEAN, 8, TFS(&ansi_map_trans_cap_waddr_bool_val),0x20,
16076         "WIN Addressing (WADDR)", HFILL }},
16077
16078         { &hf_ansi_map_MarketID,
16079       { "MarketID", "ansi_map.marketid",
16080         FT_UINT16, BASE_DEC, NULL, 0,
16081         "MarketID", HFILL }},
16082         { &hf_ansi_map_swno,
16083       { "Switch Number (SWNO)", "ansi_map.swno",
16084         FT_UINT8, BASE_DEC, NULL, 0,
16085         "Switch Number (SWNO)", HFILL }},
16086         { &hf_ansi_map_idno,
16087       { "ID Number", "ansi_map.idno",
16088         FT_UINT32, BASE_DEC, NULL, 0,
16089         "ID Number", HFILL }},
16090         { &hf_ansi_map_segcount,
16091       { "Segment Counter", "ansi_map.segcount",
16092         FT_UINT8, BASE_DEC, NULL, 0,
16093         "Segment Counter", HFILL }},
16094         { &hf_ansi_map_sms_originationrestrictions_direct,
16095       { "DIRECT", "ansi_map.originationrestrictions.direct",
16096         FT_BOOLEAN, 8, TFS(&ansi_map_SMS_OriginationRestrictions_direct_bool_val),0x04,
16097         "DIRECT", HFILL }},
16098         { &hf_ansi_map_sms_originationrestrictions_default,
16099       { "DEFAULT", "ansi_map.originationrestrictions.default",
16100         FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_OriginationRestrictions_default_vals), 0x03,
16101         "DEFAULT", HFILL }},
16102         { &hf_ansi_map_sms_originationrestrictions_fmc,
16103       { "Force Message Center (FMC)", "ansi_map.originationrestrictions.fmc",
16104         FT_BOOLEAN, 8, TFS(&ansi_map_SMS_OriginationRestrictions_fmc_bool_val),0x08,
16105         "Force Message Center (FMC)", HFILL }},
16106
16107         { &hf_ansi_map_systemcapabilities_auth,
16108       { "Authentication Parameters Requested (AUTH)", "ansi_map.systemcapabilities.auth",
16109         FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_auth_bool_val),0x01,
16110         "Authentication Parameters Requested (AUTH)", HFILL }},
16111         { &hf_ansi_map_systemcapabilities_se,
16112       { "Signaling Message Encryption Capable (SE )", "ansi_map.systemcapabilities.se",
16113         FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_se_bool_val),0x02,
16114         "Signaling Message Encryption Capable (SE )", HFILL }},
16115         { &hf_ansi_map_systemcapabilities_vp,
16116       { "Voice Privacy Capable (VP )", "ansi_map.systemcapabilities.vp",
16117         FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_vp_bool_val),0x04,
16118         "Voice Privacy Capable (VP )", HFILL }},
16119         { &hf_ansi_map_systemcapabilities_cave,
16120       { "CAVE Algorithm Capable (CAVE)", "ansi_map.systemcapabilities.cave",
16121         FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_cave_bool_val),0x08,
16122         "CAVE Algorithm Capable (CAVE)", HFILL }},
16123         { &hf_ansi_map_systemcapabilities_ssd,
16124       { "Shared SSD (SSD)", "ansi_map.systemcapabilities.ssd",
16125         FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_ssd_bool_val),0x10,
16126         "Shared SSD (SSD)", HFILL }},
16127         { &hf_ansi_map_systemcapabilities_dp,
16128       { "Data Privacy (DP)", "ansi_map.systemcapabilities.dp",
16129         FT_BOOLEAN, 8, TFS(&ansi_map_systemcapabilities_dp_bool_val),0x20,
16130         "Data Privacy (DP)", HFILL }},
16131
16132         { &hf_ansi_map_mslocation_lat,
16133       { "Latitude in tenths of a second", "ansi_map.mslocation.lat",
16134         FT_UINT8, BASE_DEC, NULL, 0,
16135         "Latitude in tenths of a second", HFILL }},
16136         { &hf_ansi_map_mslocation_long,
16137       { "Longitude in tenths of a second", "ansi_map.mslocation.long",
16138         FT_UINT8, BASE_DEC, NULL, 0,
16139         "Switch Number (SWNO)", HFILL }},
16140         { &hf_ansi_map_mslocation_res,
16141       { "Resolution in units of 1 foot", "ansi_map.mslocation.res",
16142         FT_UINT8, BASE_DEC, NULL, 0,
16143         "Resolution in units of 1 foot", HFILL }},
16144         { &hf_ansi_map_nampscallmode_namps,
16145       { "Call Mode", "ansi_map.nampscallmode.namps",
16146         FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_namps_bool_val),0x01,
16147         "Call Mode", HFILL }},
16148         { &hf_ansi_map_nampscallmode_amps,
16149       { "Call Mode", "ansi_map.nampscallmode.amps",
16150         FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_amps_bool_val),0x02,
16151         "Call Mode", HFILL }},
16152         { &hf_ansi_map_nampschanneldata_navca,
16153       { "Narrow Analog Voice Channel Assignment (NAVCA)", "ansi_map.nampschanneldata.navca",
16154         FT_UINT8, BASE_DEC, VALS(ansi_map_NAMPSChannelData_navca_vals), 0x03,
16155         "Narrow Analog Voice Channel Assignment (NAVCA)", HFILL }},
16156         { &hf_ansi_map_nampschanneldata_CCIndicator,
16157       { "Color Code Indicator (CCIndicator)", "ansi_map.nampschanneldata.ccindicator",
16158         FT_UINT8, BASE_DEC, VALS(ansi_map_NAMPSChannelData_ccinidicator_vals), 0x1c,
16159         "Color Code Indicator (CCIndicator)", HFILL }},
16160
16161
16162         { &hf_ansi_map_callingfeaturesindicator_cfufa,
16163       { "Call Forwarding Unconditional FeatureActivity, CFU-FA", "ansi_map.callingfeaturesindicator.cfufa",
16164         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16165         "Call Forwarding Unconditional FeatureActivity, CFU-FA", HFILL }},
16166         { &hf_ansi_map_callingfeaturesindicator_cfbfa,
16167       { "Call Forwarding Busy FeatureActivity, CFB-FA", "ansi_map.callingfeaturesindicator.cfbafa",
16168         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16169         "Call Forwarding Busy FeatureActivity, CFB-FA", HFILL }},
16170         { &hf_ansi_map_callingfeaturesindicator_cfnafa,
16171       { "Call Forwarding No Answer FeatureActivity, CFNA-FA", "ansi_map.callingfeaturesindicator.cfnafa",
16172         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16173         "Call Forwarding No Answer FeatureActivity, CFNA-FA", HFILL }},
16174         { &hf_ansi_map_callingfeaturesindicator_cwfa,
16175       { "Call Waiting: FeatureActivity, CW-FA", "ansi_map.callingfeaturesindicator.cwfa",
16176         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16177         "Call Waiting: FeatureActivity, CW-FA", HFILL }},
16178
16179         { &hf_ansi_map_callingfeaturesindicator_3wcfa,
16180       { "Three-Way Calling FeatureActivity, 3WC-FA", "ansi_map.callingfeaturesindicator.3wcfa",
16181         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16182         "Three-Way Calling FeatureActivity, 3WC-FA", HFILL }},
16183
16184         { &hf_ansi_map_callingfeaturesindicator_pcwfa,
16185       { "Priority Call Waiting FeatureActivity PCW-FA", "ansi_map.callingfeaturesindicator.pcwfa",
16186         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16187         "Priority Call Waiting FeatureActivity PCW-FA", HFILL }},
16188           
16189         { &hf_ansi_map_callingfeaturesindicator_dpfa,
16190       { "Data Privacy Feature Activity DP-FA", "ansi_map.callingfeaturesindicator.dpfa",
16191         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16192         "Data Privacy Feature Activity DP-FA", HFILL }},
16193         { &hf_ansi_map_callingfeaturesindicator_ahfa,
16194       { "Answer Hold: FeatureActivity AH-FA", "ansi_map.callingfeaturesindicator.ahfa",
16195         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16196         "Answer Hold: FeatureActivity AH-FA", HFILL }},
16197         { &hf_ansi_map_callingfeaturesindicator_uscfvmfa,
16198       { "USCF divert to voice mail: FeatureActivity USCFvm-FA", "ansi_map.callingfeaturesindicator.uscfvmfa",
16199         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16200         "USCF divert to voice mail: FeatureActivity USCFvm-FA", HFILL }},
16201
16202         { &hf_ansi_map_callingfeaturesindicator_uscfmsfa,
16203       { "USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA", "ansi_map.callingfeaturesindicator.uscfmsfa",
16204         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16205         "USCF divert to mobile station provided DN:FeatureActivity.USCFms-FA", HFILL }},
16206         { &hf_ansi_map_callingfeaturesindicator_uscfnrfa,
16207       { "USCF divert to network registered DN:FeatureActivity. USCFnr-FA", "ansi_map.callingfeaturesindicator.uscfmsfa",
16208         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16209         "USCF divert to network registered DN:FeatureActivity. USCFnr-FA", HFILL }},
16210         { &hf_ansi_map_callingfeaturesindicator_cpdsfa,
16211       { "CDMA-Packet Data Service: FeatureActivity. CPDS-FA", "ansi_map.callingfeaturesindicator.cpdfa",
16212         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16213         "CDMA-Packet Data Service: FeatureActivity. CPDS-FA", HFILL }},
16214         { &hf_ansi_map_callingfeaturesindicator_ccsfa,
16215       { "CDMA-Concurrent Service:FeatureActivity. CCS-FA", "ansi_map.callingfeaturesindicator.ccsfa",
16216         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16217         "CDMA-Concurrent Service:FeatureActivity. CCS-FA", HFILL }},
16218
16219         { &hf_ansi_map_callingfeaturesindicator_epefa,
16220       { "TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA", "ansi_map.callingfeaturesindicator.epefa",
16221         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16222         "TDMA Enhanced Privacy and Encryption:FeatureActivity.TDMA EPE-FA", HFILL }},
16223
16224
16225         { &hf_ansi_map_callingfeaturesindicator_cdfa,
16226       { "Call Delivery: FeatureActivity, CD-FA", "ansi_map.callingfeaturesindicator.cdfa",
16227         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16228         "Call Delivery: FeatureActivity, CD-FA", HFILL }},
16229         { &hf_ansi_map_callingfeaturesindicator_vpfa,
16230       { "Voice Privacy FeatureActivity, VP-FA", "ansi_map.callingfeaturesindicator.vpfa",
16231         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16232         "Voice Privacy FeatureActivity, VP-FA", HFILL }},
16233         { &hf_ansi_map_callingfeaturesindicator_ctfa,
16234       { "Call Transfer: FeatureActivity, CT-FA", "ansi_map.callingfeaturesindicator.ctfa",
16235         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16236         "Call Transfer: FeatureActivity, CT-FA", HFILL }},
16237
16238         { &hf_ansi_map_callingfeaturesindicator_cnip1fa,
16239       { "One number (network-provided only) Calling Number Identification Presentation: FeatureActivity CNIP1-FA", "ansi_map.callingfeaturesindicator.cnip1fa",
16240         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x03,
16241         "One number (network-provided only) Calling Number Identification Presentation: FeatureActivity CNIP1-FA", HFILL }},
16242         { &hf_ansi_map_callingfeaturesindicator_cnip2fa,
16243       { "Two number (network-provided and user-provided) Calling Number Identification Presentation: FeatureActivity CNIP2-FA", "ansi_map.callingfeaturesindicator.cnip2fa",
16244         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x0c,
16245         "Two number (network-provided and user-provided) Calling Number Identification Presentation: FeatureActivity CNIP2-FA", HFILL }},
16246         { &hf_ansi_map_callingfeaturesindicator_cnirfa,
16247       { "Calling Number Identification Restriction: FeatureActivity CNIR-FA", "ansi_map.callingfeaturesindicator.cnirfa",
16248         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0x30,
16249         "Calling Number Identification Restriction: FeatureActivity CNIR-FA", HFILL }},
16250         { &hf_ansi_map_callingfeaturesindicator_cniroverfa,
16251       { "Calling Number Identification Restriction Override FeatureActivity CNIROver-FA", "ansi_map.callingfeaturesindicator.cniroverfa",
16252         FT_UINT8, BASE_DEC, VALS(ansi_map_FeatureActivity_vals), 0xc0,
16253         "", HFILL }},
16254
16255         { &hf_ansi_map_cdmacallmode_cdma,
16256       { "Call Mode", "ansi_map.cdmacallmode.cdma",
16257         FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cdma_bool_val),0x01,
16258         "Call Mode", HFILL }},
16259         { &hf_ansi_map_cdmacallmode_amps,
16260       { "Call Mode", "ansi_map.ocdmacallmode.amps",
16261         FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_amps_bool_val),0x02,
16262         "Call Mode", HFILL }},
16263         { &hf_ansi_map_cdmacallmode_namps,
16264       { "Call Mode", "ansi_map.cdmacallmode.namps",
16265         FT_BOOLEAN, 8, TFS(&ansi_map_CallMode_namps_bool_val),0x04,
16266         "Call Mode", HFILL }},
16267         { &hf_ansi_map_cdmacallmode_cls1,
16268       { "Call Mode", "ansi_map.cdmacallmode.cls1",
16269         FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls1_bool_val),0x08,
16270         "Call Mode", HFILL }},
16271         { &hf_ansi_map_cdmacallmode_cls2,
16272       { "Call Mode", "ansi_map.cdmacallmode.cls2",
16273         FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls2_bool_val),0x10,
16274         "Call Mode", HFILL }},
16275         { &hf_ansi_map_cdmacallmode_cls3,
16276       { "Call Mode", "ansi_map.cdmacallmode.cls3",
16277         FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls3_bool_val),0x20,
16278         "Call Mode", HFILL }},
16279         { &hf_ansi_map_cdmacallmode_cls4,
16280       { "Call Mode", "ansi_map.cdmacallmode.cls4",
16281         FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls4_bool_val),0x40,
16282         "Call Mode", HFILL }},
16283         { &hf_ansi_map_cdmacallmode_cls5,
16284       { "Call Mode", "ansi_map.cdmacallmode.cls5",
16285         FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls5_bool_val),0x80,
16286         "Call Mode", HFILL }},
16287         { &hf_ansi_map_cdmacallmode_cls6,
16288       { "Call Mode", "ansi_map.cdmacallmode.cls6",
16289         FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls6_bool_val),0x01,
16290         "Call Mode", HFILL }},
16291         { &hf_ansi_map_cdmacallmode_cls7,
16292       { "Call Mode", "ansi_map.cdmacallmode.cls7",
16293         FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls7_bool_val),0x02,
16294         "Call Mode", HFILL }},
16295         { &hf_ansi_map_cdmacallmode_cls8,
16296       { "Call Mode", "ansi_map.cdmacallmode.cls8",
16297         FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls8_bool_val),0x04,
16298         "Call Mode", HFILL }},
16299         { &hf_ansi_map_cdmacallmode_cls9,
16300       { "Call Mode", "ansi_map.cdmacallmode.cls9",
16301         FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls9_bool_val),0x08,
16302         "Call Mode", HFILL }},
16303         { &hf_ansi_map_cdmacallmode_cls10,
16304       { "Call Mode", "ansi_map.cdmacallmode.cls10",
16305         FT_BOOLEAN, 8, TFS(&ansi_map_CDMACallMode_cls10_bool_val),0x10,
16306         "Call Mode", HFILL }},
16307         {&hf_ansi_map_cdmachanneldata_Frame_Offset,
16308       { "Frame Offset", "ansi_map.cdmachanneldata.frameoffset",
16309         FT_UINT8, BASE_DEC, NULL, 0x78,
16310         "Frame Offset", HFILL }},
16311         {&hf_ansi_map_cdmachanneldata_CDMA_ch_no,
16312       { "CDMA Channel Number", "ansi_map.cdmachanneldata.cdma_ch_no",
16313         FT_UINT16, BASE_DEC, NULL, 0x07FF,
16314         "CDMA Channel Number", HFILL }},
16315         {&hf_ansi_map_cdmachanneldata_band_cls,
16316       { "Band Class", "ansi_map.cdmachanneldata.band_cls",
16317         FT_UINT8, BASE_DEC, VALS(ansi_map_cdmachanneldata_band_cls_vals), 0x7c,
16318         "Band Class", HFILL }},
16319         {&hf_ansi_map_cdmachanneldata_lc_mask_b6,
16320       { "Long Code Mask (byte 6) MSB", "ansi_map.cdmachanneldata.lc_mask_b6",
16321         FT_UINT8, BASE_HEX, NULL, 0x03,
16322         "Long Code Mask MSB (byte 6)", HFILL }},
16323         {&hf_ansi_map_cdmachanneldata_lc_mask_b5,
16324       { "Long Code Mask (byte 5)", "ansi_map.cdmachanneldata.lc_mask_b5",
16325         FT_UINT8, BASE_HEX, NULL, 0xff,
16326         "Long Code Mask (byte 5)", HFILL }},
16327         {&hf_ansi_map_cdmachanneldata_lc_mask_b4,
16328       { "Long Code Mask (byte 4)", "ansi_map.cdmachanneldata.lc_mask_b4",
16329         FT_UINT8, BASE_HEX, NULL, 0xff,
16330         "Long Code Mask (byte 4)", HFILL }},
16331         {&hf_ansi_map_cdmachanneldata_lc_mask_b3,
16332       { "Long Code Mask (byte 3)", "ansi_map.cdmachanneldata.lc_mask_b3",
16333         FT_UINT8, BASE_HEX, NULL, 0xff,
16334         "Long Code Mask (byte 3)", HFILL }},
16335         {&hf_ansi_map_cdmachanneldata_lc_mask_b2,
16336       { "Long Code Mask (byte 2)", "ansi_map.cdmachanneldata.lc_mask_b2",
16337         FT_UINT8, BASE_HEX, NULL, 0xff,
16338         "Long Code Mask (byte 2)", HFILL }},
16339         {&hf_ansi_map_cdmachanneldata_lc_mask_b1,
16340       { "Long Code Mask LSB(byte 1)", "ansi_map.cdmachanneldata.lc_mask_b1",
16341         FT_UINT8, BASE_HEX, NULL, 0xff,
16342         "Long Code Mask (byte 1)LSB", HFILL }},
16343         {&hf_ansi_map_cdmachanneldata_np_ext,
16344       { "NP EXT", "ansi_map.cdmachanneldata.np_ext",
16345         FT_BOOLEAN, 8, NULL,0x80,
16346         "NP EXT", HFILL }},
16347         {&hf_ansi_map_cdmachanneldata_nominal_pwr,
16348       { "Nominal Power", "ansi_map.cdmachanneldata.nominal_pwr",
16349         FT_UINT8, BASE_DEC, NULL, 0x71,
16350         "Nominal Power", HFILL }},
16351         {&hf_ansi_map_cdmachanneldata_nr_preamble,
16352       { "Number Preamble", "ansi_map.cdmachanneldata.nr_preamble",
16353         FT_UINT8, BASE_DEC, NULL, 0x07,
16354         "Number Preamble", HFILL }},
16355
16356         { &hf_ansi_map_cdmastationclassmark_pc,
16357       { "Power Class(PC)", "ansi_map.cdmastationclassmark.pc",
16358         FT_UINT8, BASE_DEC, VALS(ansi_map_CDMAStationClassMark_pc_vals), 0x03,
16359         "Power Class(PC)", HFILL }},
16360
16361         { &hf_ansi_map_cdmastationclassmark_dtx,
16362       { "Analog Transmission: (DTX)", "ansi_map.cdmastationclassmark.dtx",
16363         FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_dtx_bool_val),0x04,
16364         "Analog Transmission: (DTX)", HFILL }},
16365         { &hf_ansi_map_cdmastationclassmark_smi,
16366       { " Slotted Mode Indicator: (SMI)", "ansi_map.cdmastationclassmark.smi",
16367         FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_smi_bool_val),0x20,
16368         " Slotted Mode Indicator: (SMI)", HFILL }},
16369         { &hf_ansi_map_cdmastationclassmark_dmi,
16370       { "Dual-mode Indicator(DMI)", "ansi_map.cdmastationclassmark.dmi",
16371         FT_BOOLEAN, 8, TFS(&ansi_map_CDMAStationClassMark_dmi_bool_val),0x40,
16372         "Dual-mode Indicator(DMI)", HFILL }},
16373         { &hf_ansi_map_channeldata_vmac,
16374       { "Voice Mobile Attenuation Code (VMAC)", "ansi_map.channeldata.vmac",
16375         FT_UINT8, BASE_DEC, NULL, 0x07,
16376         "Voice Mobile Attenuation Code (VMAC)", HFILL }},
16377         { &hf_ansi_map_channeldata_dtx,
16378       { "Discontinuous Transmission Mode (DTX)", "ansi_map.channeldata.dtx",
16379         FT_UINT8, BASE_DEC, VALS(ansi_map_ChannelData_dtx_vals), 0x18,
16380         "Discontinuous Transmission Mode (DTX)", HFILL }},
16381         { &hf_ansi_map_channeldata_scc,
16382       { "SAT Color Code (SCC)", "ansi_map.channeldata.scc",
16383         FT_UINT8, BASE_DEC, NULL, 0xc0,
16384         "SAT Color Code (SCC)", HFILL }},
16385         { &hf_ansi_map_channeldata_chno,
16386       { "Channel Number (CHNO)", "ansi_map.channeldata.chno",
16387         FT_UINT16, BASE_DEC, NULL, 0x0,
16388         "Channel Number (CHNO)", HFILL }},
16389         { &hf_ansi_map_ConfidentialityModes_vp,
16390       { "Voice Privacy (VP) Confidentiality Status", "ansi_map.confidentialitymodes.vp",
16391         FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x01,
16392         "Voice Privacy (VP) Confidentiality Status", HFILL }},
16393         { &hf_ansi_map_controlchanneldata_dcc,
16394       { "Digital Color Code (DCC)", "ansi_map.controlchanneldata.dcc",
16395         FT_UINT8, BASE_DEC, NULL, 0xc0,
16396         "Digital Color Code (DCC)", HFILL }},
16397         { &hf_ansi_map_controlchanneldata_cmac,
16398       { "Control Mobile Attenuation Code (CMAC)", "ansi_map.controlchanneldata.cmac",
16399         FT_UINT8, BASE_DEC, NULL, 0x07,
16400         "Control Mobile Attenuation Code (CMAC)", HFILL }},
16401         { &hf_ansi_map_controlchanneldata_chno,
16402       { "Channel Number (CHNO)", "ansi_map.controlchanneldata.cmac",
16403         FT_UINT16, BASE_DEC, NULL, 0x0,
16404         "Channel Number (CHNO)", HFILL }},
16405         { &hf_ansi_map_controlchanneldata_sdcc1,
16406       { "Supplementary Digital Color Codes (SDCC1)", "ansi_map.controlchanneldata.ssdc1",
16407         FT_UINT8, BASE_DEC, NULL, 0x0c,
16408         "Supplementary Digital Color Codes (SDCC1)", HFILL }},
16409         { &hf_ansi_map_controlchanneldata_sdcc2,
16410       { "Supplementary Digital Color Codes (SDCC2)", "ansi_map.controlchanneldata.ssdc2",
16411         FT_UINT8, BASE_DEC, NULL, 0x03,
16412         "Supplementary Digital Color Codes (SDCC2)", HFILL }},
16413         { &hf_ansi_map_ConfidentialityModes_se,
16414                 { "Signaling Message Encryption (SE) Confidentiality Status", "ansi_map.confidentialitymodes.se",
16415         FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x02,
16416         "Signaling Message Encryption (SE) Confidentiality Status", HFILL }},
16417         { &hf_ansi_map_ConfidentialityModes_dp,
16418       { "DataPrivacy (DP) Confidentiality Status", "ansi_map.confidentialitymodes.dp",
16419         FT_BOOLEAN, 8, TFS(&ansi_map_ConfidentialityModes_bool_val),0x04,
16420         "DataPrivacy (DP) Confidentiality Status", HFILL }},
16421
16422         { &hf_ansi_map_deniedauthorizationperiod_period,
16423       { "Period", "ansi_map.deniedauthorizationperiod.period",
16424         FT_UINT8, BASE_DEC, VALS(ansi_map_deniedauthorizationperiod_period_vals), 0x0,
16425         "Period", HFILL }},
16426
16427
16428         { &hf_ansi_map_originationtriggers_all,
16429       { "All Origination (All)", "ansi_map.originationtriggers.all",
16430         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_all_bool_val),0x01,
16431         "All Origination (All)", HFILL }},
16432         { &hf_ansi_map_originationtriggers_local,
16433       { "Local", "ansi_map.originationtriggers.all",
16434         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_local_bool_val),0x02,
16435         "Local", HFILL }},
16436         { &hf_ansi_map_originationtriggers_ilata,
16437       { "Intra-LATA Toll (ILATA)", "ansi_map.originationtriggers.ilata",
16438         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ilata_bool_val),0x04,
16439         "Intra-LATA Toll (ILATA)", HFILL }},
16440         { &hf_ansi_map_originationtriggers_olata,
16441       { "Inter-LATA Toll (OLATA)", "ansi_map.originationtriggers.olata",
16442         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_olata_bool_val),0x08,
16443         "Inter-LATA Toll (OLATA)", HFILL }},
16444         { &hf_ansi_map_originationtriggers_int,
16445       { "International (Int'l )", "ansi_map.originationtriggers.int",
16446         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_int_bool_val),0x10,
16447         "International (Int'l )", HFILL }},
16448         { &hf_ansi_map_originationtriggers_wz,
16449       { "World Zone (WZ)", "ansi_map.originationtriggers.wz",
16450         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_wz_bool_val),0x20,
16451         "World Zone (WZ)", HFILL }},
16452         { &hf_ansi_map_originationtriggers_unrec,
16453       { "Unrecognized Number (Unrec)", "ansi_map.originationtriggers.unrec",
16454         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_unrec_bool_val),0x40,
16455         "Unrecognized Number (Unrec)", HFILL }},
16456         { &hf_ansi_map_originationtriggers_rvtc,
16457       { "Revertive Call (RvtC)", "ansi_map.originationtriggers.rvtc",
16458         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_rvtc_bool_val),0x80,
16459         "Revertive Call (RvtC)", HFILL }},
16460         { &hf_ansi_map_originationtriggers_star,
16461       { "Star", "ansi_map.originationtriggers.star",
16462         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_star_bool_val),0x01,
16463         "Star", HFILL }},
16464         { &hf_ansi_map_originationtriggers_ds,
16465       { "Double Star (DS)", "ansi_map.originationtriggers.ds",
16466         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ds_bool_val),0x02,
16467         "Double Star (DS)", HFILL }},
16468         { &hf_ansi_map_originationtriggers_pound,
16469       { "Pound", "ansi_map.originationtriggers.pound",
16470         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_pound_bool_val),0x04,
16471         "Pound", HFILL }},
16472         { &hf_ansi_map_originationtriggers_dp,
16473       { "Double Pound (DP)", "ansi_map.originationtriggers.dp",
16474         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_dp_bool_val),0x08,
16475         "Double Pound (DP)", HFILL }},
16476         { &hf_ansi_map_originationtriggers_pa,
16477       { "Prior Agreement (PA)", "ansi_map.originationtriggers.pa",
16478         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_pa_bool_val),0x10,
16479         "Prior Agreement (PA)", HFILL }},
16480         { &hf_ansi_map_originationtriggers_nodig,
16481       { "No digits", "ansi_map.originationtriggers.nodig",
16482         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_nodig_bool_val),0x01,
16483         "No digits", HFILL }},
16484         { &hf_ansi_map_originationtriggers_onedig,
16485       { "1 digit", "ansi_map.originationtriggers.onedig",
16486         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_onedig_bool_val),0x02,
16487         "1 digit", HFILL }},
16488         { &hf_ansi_map_originationtriggers_twodig,
16489       { "2 digits", "ansi_map.originationtriggers.twodig",
16490         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_twodig_bool_val),0x04,
16491         "2 digits", HFILL }},
16492         { &hf_ansi_map_originationtriggers_threedig,
16493       { "3 digits", "ansi_map.originationtriggers.threedig",
16494         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_threedig_bool_val),0x08,
16495         "3 digits", HFILL }},
16496         { &hf_ansi_map_originationtriggers_fourdig,
16497       { "4 digits", "ansi_map.originationtriggers.fourdig",
16498         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fourdig_bool_val),0x10,
16499         "4 digits", HFILL }},
16500         { &hf_ansi_map_originationtriggers_fivedig,
16501       { "5 digits", "ansi_map.originationtriggers.fivedig",
16502         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fivedig_bool_val),0x20,
16503         "5 digits", HFILL }},
16504         { &hf_ansi_map_originationtriggers_sixdig,
16505       { "6 digits", "ansi_map.originationtriggers.sixdig",
16506         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_sixdig_bool_val),0x40,
16507         "6 digits", HFILL }},
16508         { &hf_ansi_map_originationtriggers_sevendig,
16509       { "7 digits", "ansi_map.originationtriggers.sevendig",
16510         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_sevendig_bool_val),0x80,
16511         "7 digits", HFILL }},
16512         { &hf_ansi_map_originationtriggers_eightdig,
16513       { "8 digits", "ansi_map.originationtriggers.eight",
16514         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_eightdig_bool_val),0x01,
16515         "8 digits", HFILL }},
16516         { &hf_ansi_map_originationtriggers_ninedig,
16517       { "9 digits", "ansi_map.originationtriggers.nine",
16518         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_ninedig_bool_val),0x02,
16519         "9 digits", HFILL }},
16520         { &hf_ansi_map_originationtriggers_tendig,
16521       { "10 digits", "ansi_map.originationtriggers.ten",
16522         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_tendig_bool_val),0x04,
16523         "10 digits", HFILL }},
16524         { &hf_ansi_map_originationtriggers_elevendig,
16525       { "11 digits", "ansi_map.originationtriggers.eleven",
16526         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_elevendig_bool_val),0x08,
16527         "11 digits", HFILL }},
16528         { &hf_ansi_map_originationtriggers_thwelvedig,
16529       { "12 digits", "ansi_map.originationtriggers.thwelv",
16530         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_thwelvdig_bool_val),0x10,
16531         "12 digits", HFILL }},
16532         { &hf_ansi_map_originationtriggers_thirteendig,
16533       { "13 digits", "ansi_map.originationtriggers.thirteen",
16534         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_thirteendig_bool_val),0x20,
16535         "13 digits", HFILL }},
16536         { &hf_ansi_map_originationtriggers_fourteendig,
16537       { "14 digits", "ansi_map.originationtriggers.fourteen",
16538         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fourteendig_bool_val),0x40,
16539         "14 digits", HFILL }},
16540         { &hf_ansi_map_originationtriggers_fifteendig,
16541       { "15 digits", "ansi_map.originationtriggers.fifteen",
16542         FT_BOOLEAN, 8, TFS(&ansi_map_originationtriggers_fifteendig_bool_val),0x80,
16543         "15 digits", HFILL }},
16544
16545         { &hf_ansi_map_triggercapability_init,
16546       { "Introducing Star/Pound (INIT)", "ansi_map.triggercapability.init",
16547         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
16548         "Introducing Star/Pound (INIT)", HFILL }},
16549         { &hf_ansi_map_triggercapability_kdigit,
16550       { "K-digit (K-digit)", "ansi_map.triggercapability.kdigit",
16551         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
16552         "K-digit (K-digit)", HFILL }},
16553         { &hf_ansi_map_triggercapability_all,
16554       { "All_Calls (All)", "ansi_map.triggercapability.all",
16555         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
16556         "All_Calls (All)", HFILL }},
16557         { &hf_ansi_map_triggercapability_rvtc,
16558       { "Revertive_Call (RvtC)", "ansi_map.triggercapability.rvtc",
16559         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
16560         "Revertive_Call (RvtC)", HFILL }},
16561         { &hf_ansi_map_triggercapability_oaa,
16562       { "Origination_Attempt_Authorized (OAA)", "ansi_map.triggercapability.oaa",
16563         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
16564         "Origination_Attempt_Authorized (OAA)", HFILL }},
16565         { &hf_ansi_map_triggercapability_oans,
16566       { "O_Answer (OANS)", "ansi_map.triggercapability.oans",
16567         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x20,
16568         "O_Answer (OANS)", HFILL }},
16569         { &hf_ansi_map_triggercapability_odisc,
16570       { "O_Disconnect (ODISC)", "ansi_map.triggercapability.odisc",
16571         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x40,
16572         "O_Disconnect (ODISC)", HFILL }},
16573         { &hf_ansi_map_triggercapability_ona,
16574       { "O_No_Answer (ONA)", "ansi_map.triggercapability.ona",
16575         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x80,
16576         "O_No_Answer (ONA)", HFILL }},
16577
16578         { &hf_ansi_map_triggercapability_ct ,
16579       { "Call Types (CT)", "ansi_map.triggercapability.ona",
16580         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
16581         "Call Types (CT)", HFILL }},
16582         { &hf_ansi_map_triggercapability_unrec,
16583       { "Unrecognized_Number (Unrec)", "ansi_map.triggercapability.unrec",
16584         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
16585         "Unrecognized_Number (Unrec)", HFILL }},
16586         { &hf_ansi_map_triggercapability_pa,
16587       { "Prior_Agreement (PA)", "ansi_map.triggercapability.pa",
16588         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
16589         "Prior_Agreement (PA)", HFILL }},
16590         { &hf_ansi_map_triggercapability_at,
16591       { "Advanced_Termination (AT)", "ansi_map.triggercapability.at",
16592         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
16593         "Advanced_Termination (AT)", HFILL }},
16594         { &hf_ansi_map_triggercapability_cgraa,
16595       { "Calling_Routing_Address_Available (CgRAA)", "ansi_map.triggercapability.cgraa",
16596         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
16597         "Calling_Routing_Address_Available (CgRAA)", HFILL }},
16598         { &hf_ansi_map_triggercapability_it,
16599       { "Initial_Termination (IT)", "ansi_map.triggercapability.it",
16600         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x20,
16601         "Initial_Termination (IT)", HFILL }},
16602         { &hf_ansi_map_triggercapability_cdraa,
16603       { "Called_Routing_Address_Available (CdRAA)", "ansi_map.triggercapability.cdraa",
16604         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x40,
16605         "Called_Routing_Address_Available (CdRAA)", HFILL }},
16606         { &hf_ansi_map_triggercapability_obsy,
16607       { "O_Called_Party_Busy (OBSY)", "ansi_map.triggercapability.ona",
16608         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x80,
16609         "O_Called_Party_Busy (OBSY)", HFILL }},
16610
16611         { &hf_ansi_map_triggercapability_tra ,
16612       { "Terminating_Resource_Available (TRA)", "ansi_map.triggercapability.tra",
16613         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x01,
16614         "Terminating_Resource_Available (TRA)", HFILL }},
16615         { &hf_ansi_map_triggercapability_tbusy,
16616       { "T_Busy (TBusy)", "ansi_map.triggercapability.tbusy",
16617         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x02,
16618         "T_Busy (TBusy)", HFILL }},
16619         { &hf_ansi_map_triggercapability_tna,
16620       { "T_No_Answer (TNA)", "ansi_map.triggercapability.tna",
16621         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x04,
16622         "T_No_Answer (TNA)", HFILL }},
16623         { &hf_ansi_map_triggercapability_tans,
16624       { "T_Answer (TANS)", "ansi_map.triggercapability.tans",
16625         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x08,
16626         "T_Answer (TANS)", HFILL }},
16627         { &hf_ansi_map_triggercapability_tdisc,
16628       { "T_Disconnect (TDISC) ", "ansi_map.triggercapability.tdisc",
16629         FT_BOOLEAN, 8, TFS(&ansi_map_triggercapability_bool_val),0x10,
16630         "T_Disconnect (TDISC) ", HFILL }},
16631         { &hf_ansi_map_winoperationscapability_conn,
16632       { "ConnectResource (CONN)", "ansi_map.winoperationscapability.conn",
16633         FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_conn_bool_val),0x01,
16634         "ConnectResource (CONN)", HFILL }},
16635         { &hf_ansi_map_winoperationscapability_ccdir,
16636       { "CallControlDirective(CCDIR)", "ansi_map.winoperationscapability.ccdir",
16637         FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_ccdir_bool_val),0x02,
16638         "CallControlDirective(CCDIR)", HFILL }},
16639         { &hf_ansi_map_winoperationscapability_pos,
16640       { "PositionRequest (POS)", "ansi_map.winoperationscapability.pos",
16641         FT_BOOLEAN, 8, TFS(&ansi_map_winoperationscapability_pos_bool_val),0x04,
16642         "PositionRequest (POS)", HFILL }},
16643         { &hf_ansi_map_pacaindicator_pa,
16644       { "Permanent Activation (PA)", "ansi_map.pacaindicator_pa",
16645         FT_BOOLEAN, 8, TFS(&ansi_map_pacaindicator_pa_bool_val),0x01,
16646         "Permanent Activation (PA)", HFILL }},
16647     { &hf_ansi_map_PACA_Level,
16648       { "PACA Level", "ansi_map.PACA_Level",
16649         FT_UINT8, BASE_DEC, VALS(ansi_map_PACA_Level_vals), 0x1e,
16650         "PACA Level", HFILL }},
16651                 
16652
16653 /*--- Included file: packet-ansi_map-hfarr.c ---*/
16654 #line 1 "packet-ansi_map-hfarr.c"
16655     { &hf_ansi_map_electronicSerialNumber,
16656       { "electronicSerialNumber", "ansi_map.electronicSerialNumber",
16657         FT_BYTES, BASE_HEX, NULL, 0,
16658         "ansi_map.ElectronicSerialNumber", HFILL }},
16659     { &hf_ansi_map_msid,
16660       { "msid", "ansi_map.msid",
16661         FT_UINT32, BASE_DEC, VALS(ansi_map_MSID_vals), 0,
16662         "ansi_map.MSID", HFILL }},
16663     { &hf_ansi_map_authenticationAlgorithmVersion,
16664       { "authenticationAlgorithmVersion", "ansi_map.authenticationAlgorithmVersion",
16665         FT_BYTES, BASE_HEX, NULL, 0,
16666         "ansi_map.AuthenticationAlgorithmVersion", HFILL }},
16667     { &hf_ansi_map_authenticationResponseReauthentication,
16668       { "authenticationResponseReauthentication", "ansi_map.authenticationResponseReauthentication",
16669         FT_BYTES, BASE_HEX, NULL, 0,
16670         "ansi_map.AuthenticationResponseReauthentication", HFILL }},
16671     { &hf_ansi_map_authenticationResponseUniqueChallenge,
16672       { "authenticationResponseUniqueChallenge", "ansi_map.authenticationResponseUniqueChallenge",
16673         FT_BYTES, BASE_HEX, NULL, 0,
16674         "ansi_map.AuthenticationResponseUniqueChallenge", HFILL }},
16675     { &hf_ansi_map_callHistoryCount,
16676       { "callHistoryCount", "ansi_map.callHistoryCount",
16677         FT_UINT32, BASE_DEC, NULL, 0,
16678         "ansi_map.CallHistoryCount", HFILL }},
16679     { &hf_ansi_map_cdmaPrivateLongCodeMask,
16680       { "cdmaPrivateLongCodeMask", "ansi_map.cdmaPrivateLongCodeMask",
16681         FT_BYTES, BASE_HEX, NULL, 0,
16682         "ansi_map.CDMAPrivateLongCodeMask", HFILL }},
16683     { &hf_ansi_map_carrierDigits,
16684       { "carrierDigits", "ansi_map.carrierDigits",
16685         FT_BYTES, BASE_HEX, NULL, 0,
16686         "ansi_map.CarrierDigits", HFILL }},
16687     { &hf_ansi_map_denyAccess,
16688       { "denyAccess", "ansi_map.denyAccess",
16689         FT_UINT32, BASE_DEC, VALS(ansi_map_DenyAccess_vals), 0,
16690         "ansi_map.DenyAccess", HFILL }},
16691     { &hf_ansi_map_destinationDigits,
16692       { "destinationDigits", "ansi_map.destinationDigits",
16693         FT_BYTES, BASE_HEX, NULL, 0,
16694         "ansi_map.DestinationDigits", HFILL }},
16695     { &hf_ansi_map_locationAreaID,
16696       { "locationAreaID", "ansi_map.locationAreaID",
16697         FT_BYTES, BASE_HEX, NULL, 0,
16698         "ansi_map.LocationAreaID", HFILL }},
16699     { &hf_ansi_map_randomVariableReauthentication,
16700       { "randomVariableReauthentication", "ansi_map.randomVariableReauthentication",
16701         FT_BYTES, BASE_HEX, NULL, 0,
16702         "ansi_map.RandomVariableReauthentication", HFILL }},
16703     { &hf_ansi_map_meid,
16704       { "meid", "ansi_map.meid",
16705         FT_BYTES, BASE_HEX, NULL, 0,
16706         "ansi_map.MEID", HFILL }},
16707     { &hf_ansi_map_mobileStationMIN,
16708       { "mobileStationMIN", "ansi_map.mobileStationMIN",
16709         FT_NONE, BASE_DEC, NULL, 0,
16710         "ansi_map.MobileStationMIN", HFILL }},
16711     { &hf_ansi_map_mscid,
16712       { "mscid", "ansi_map.mscid",
16713         FT_BYTES, BASE_HEX, NULL, 0,
16714         "ansi_map.MSCID", HFILL }},
16715     { &hf_ansi_map_randomVariableSSD,
16716       { "randomVariableSSD", "ansi_map.randomVariableSSD",
16717         FT_BYTES, BASE_HEX, NULL, 0,
16718         "ansi_map.RandomVariableSSD", HFILL }},
16719     { &hf_ansi_map_randomVariableUniqueChallenge,
16720       { "randomVariableUniqueChallenge", "ansi_map.randomVariableUniqueChallenge",
16721         FT_BYTES, BASE_HEX, NULL, 0,
16722         "ansi_map.RandomVariableUniqueChallenge", HFILL }},
16723     { &hf_ansi_map_routingDigits,
16724       { "routingDigits", "ansi_map.routingDigits",
16725         FT_BYTES, BASE_HEX, NULL, 0,
16726         "ansi_map.RoutingDigits", HFILL }},
16727     { &hf_ansi_map_senderIdentificationNumber,
16728       { "senderIdentificationNumber", "ansi_map.senderIdentificationNumber",
16729         FT_NONE, BASE_DEC, NULL, 0,
16730         "ansi_map.SenderIdentificationNumber", HFILL }},
16731     { &hf_ansi_map_sharedSecretData,
16732       { "sharedSecretData", "ansi_map.sharedSecretData",
16733         FT_BYTES, BASE_HEX, NULL, 0,
16734         "ansi_map.SharedSecretData", HFILL }},
16735     { &hf_ansi_map_signalingMessageEncryptionKey,
16736       { "signalingMessageEncryptionKey", "ansi_map.signalingMessageEncryptionKey",
16737         FT_BYTES, BASE_HEX, NULL, 0,
16738         "ansi_map.SignalingMessageEncryptionKey", HFILL }},
16739     { &hf_ansi_map_ssdnotShared,
16740       { "ssdnotShared", "ansi_map.ssdnotShared",
16741         FT_UINT32, BASE_DEC, VALS(ansi_map_SSDNotShared_vals), 0,
16742         "ansi_map.SSDNotShared", HFILL }},
16743     { &hf_ansi_map_updateCount,
16744       { "updateCount", "ansi_map.updateCount",
16745         FT_UINT32, BASE_DEC, VALS(ansi_map_UpdateCount_vals), 0,
16746         "ansi_map.UpdateCount", HFILL }},
16747     { &hf_ansi_map_interMSCCircuitID,
16748       { "interMSCCircuitID", "ansi_map.interMSCCircuitID",
16749         FT_NONE, BASE_DEC, NULL, 0,
16750         "ansi_map.InterMSCCircuitID", HFILL }},
16751     { &hf_ansi_map_mobileIdentificationNumber,
16752       { "mobileIdentificationNumber", "ansi_map.mobileIdentificationNumber",
16753         FT_NONE, BASE_DEC, NULL, 0,
16754         "ansi_map.MobileIdentificationNumber", HFILL }},
16755     { &hf_ansi_map_countUpdateReport,
16756       { "countUpdateReport", "ansi_map.countUpdateReport",
16757         FT_UINT8, BASE_DEC, VALS(ansi_map_CountUpdateReport_vals), 0,
16758         "ansi_map.CountUpdateReport", HFILL }},
16759     { &hf_ansi_map_uniqueChallengeReport,
16760       { "uniqueChallengeReport", "ansi_map.uniqueChallengeReport",
16761         FT_UINT8, BASE_DEC, VALS(ansi_map_UniqueChallengeReport_vals), 0,
16762         "ansi_map.UniqueChallengeReport", HFILL }},
16763     { &hf_ansi_map_reportType,
16764       { "reportType", "ansi_map.reportType",
16765         FT_UINT32, BASE_DEC, VALS(ansi_map_ReportType_vals), 0,
16766         "ansi_map.ReportType", HFILL }},
16767     { &hf_ansi_map_systemAccessType,
16768       { "systemAccessType", "ansi_map.systemAccessType",
16769         FT_UINT32, BASE_DEC, VALS(ansi_map_SystemAccessType_vals), 0,
16770         "ansi_map.SystemAccessType", HFILL }},
16771     { &hf_ansi_map_systemCapabilities,
16772       { "systemCapabilities", "ansi_map.systemCapabilities",
16773         FT_BYTES, BASE_HEX, NULL, 0,
16774         "ansi_map.SystemCapabilities", HFILL }},
16775     { &hf_ansi_map_callHistoryCountExpected,
16776       { "callHistoryCountExpected", "ansi_map.callHistoryCountExpected",
16777         FT_UINT32, BASE_DEC, NULL, 0,
16778         "ansi_map.CallHistoryCountExpected", HFILL }},
16779     { &hf_ansi_map_reportType2,
16780       { "reportType2", "ansi_map.reportType2",
16781         FT_UINT32, BASE_DEC, VALS(ansi_map_ReportType_vals), 0,
16782         "ansi_map.ReportType", HFILL }},
16783     { &hf_ansi_map_terminalType,
16784       { "terminalType", "ansi_map.terminalType",
16785         FT_UINT32, BASE_DEC, VALS(ansi_map_TerminalType_vals), 0,
16786         "ansi_map.TerminalType", HFILL }},
16787     { &hf_ansi_map_authenticationData,
16788       { "authenticationData", "ansi_map.authenticationData",
16789         FT_BYTES, BASE_HEX, NULL, 0,
16790         "ansi_map.AuthenticationData", HFILL }},
16791     { &hf_ansi_map_authenticationResponse,
16792       { "authenticationResponse", "ansi_map.authenticationResponse",
16793         FT_BYTES, BASE_HEX, NULL, 0,
16794         "ansi_map.AuthenticationResponse", HFILL }},
16795     { &hf_ansi_map_cdmaNetworkIdentification,
16796       { "cdmaNetworkIdentification", "ansi_map.cdmaNetworkIdentification",
16797         FT_BYTES, BASE_HEX, NULL, 0,
16798         "ansi_map.CDMANetworkIdentification", HFILL }},
16799     { &hf_ansi_map_confidentialityModes,
16800       { "confidentialityModes", "ansi_map.confidentialityModes",
16801         FT_BYTES, BASE_HEX, NULL, 0,
16802         "ansi_map.ConfidentialityModes", HFILL }},
16803     { &hf_ansi_map_controlChannelMode,
16804       { "controlChannelMode", "ansi_map.controlChannelMode",
16805         FT_UINT8, BASE_DEC, VALS(ansi_map_ControlChannelMode_vals), 0,
16806         "ansi_map.ControlChannelMode", HFILL }},
16807     { &hf_ansi_map_digits,
16808       { "digits", "ansi_map.digits",
16809         FT_NONE, BASE_DEC, NULL, 0,
16810         "ansi_map.Digits", HFILL }},
16811     { &hf_ansi_map_pc_ssn,
16812       { "pc-ssn", "ansi_map.pc_ssn",
16813         FT_BYTES, BASE_HEX, NULL, 0,
16814         "ansi_map.PC_SSN", HFILL }},
16815     { &hf_ansi_map_randomVariable,
16816       { "randomVariable", "ansi_map.randomVariable",
16817         FT_BYTES, BASE_HEX, NULL, 0,
16818         "ansi_map.RandomVariable", HFILL }},
16819     { &hf_ansi_map_serviceRedirectionCause,
16820       { "serviceRedirectionCause", "ansi_map.serviceRedirectionCause",
16821         FT_UINT8, BASE_DEC, VALS(ansi_map_ServiceRedirectionCause_type_vals), 0,
16822         "ansi_map.ServiceRedirectionCause", HFILL }},
16823     { &hf_ansi_map_suspiciousAccess,
16824       { "suspiciousAccess", "ansi_map.suspiciousAccess",
16825         FT_UINT32, BASE_DEC, VALS(ansi_map_SuspiciousAccess_vals), 0,
16826         "ansi_map.SuspiciousAccess", HFILL }},
16827     { &hf_ansi_map_transactionCapability,
16828       { "transactionCapability", "ansi_map.transactionCapability",
16829         FT_BYTES, BASE_HEX, NULL, 0,
16830         "ansi_map.TransactionCapability", HFILL }},
16831     { &hf_ansi_map_analogRedirectRecord,
16832       { "analogRedirectRecord", "ansi_map.analogRedirectRecord",
16833         FT_NONE, BASE_NONE, NULL, 0,
16834         "ansi_map.AnalogRedirectRecord", HFILL }},
16835     { &hf_ansi_map_cdmaRedirectRecord,
16836       { "cdmaRedirectRecord", "ansi_map.cdmaRedirectRecord",
16837         FT_NONE, BASE_NONE, NULL, 0,
16838         "ansi_map.CDMARedirectRecord", HFILL }},
16839     { &hf_ansi_map_dataKey,
16840       { "dataKey", "ansi_map.dataKey",
16841         FT_BYTES, BASE_HEX, NULL, 0,
16842         "ansi_map.DataKey", HFILL }},
16843     { &hf_ansi_map_roamingIndication,
16844       { "roamingIndication", "ansi_map.roamingIndication",
16845         FT_BYTES, BASE_HEX, NULL, 0,
16846         "ansi_map.RoamingIndication", HFILL }},
16847     { &hf_ansi_map_serviceRedirectionInfo,
16848       { "serviceRedirectionInfo", "ansi_map.serviceRedirectionInfo",
16849         FT_BYTES, BASE_HEX, NULL, 0,
16850         "ansi_map.ServiceRedirectionInfo", HFILL }},
16851     { &hf_ansi_map_voicePrivacyMask,
16852       { "voicePrivacyMask", "ansi_map.voicePrivacyMask",
16853         FT_BYTES, BASE_HEX, NULL, 0,
16854         "ansi_map.VoicePrivacyMask", HFILL }},
16855     { &hf_ansi_map_reauthenticationReport,
16856       { "reauthenticationReport", "ansi_map.reauthenticationReport",
16857         FT_UINT8, BASE_DEC, VALS(ansi_map_ReauthenticationReport_vals), 0,
16858         "ansi_map.ReauthenticationReport", HFILL }},
16859     { &hf_ansi_map_serviceIndicator,
16860       { "serviceIndicator", "ansi_map.serviceIndicator",
16861         FT_UINT8, BASE_DEC, VALS(ansi_map_ServiceIndicator_vals), 0,
16862         "ansi_map.ServiceIndicator", HFILL }},
16863     { &hf_ansi_map_signalingMessageEncryptionReport,
16864       { "signalingMessageEncryptionReport", "ansi_map.signalingMessageEncryptionReport",
16865         FT_UINT8, BASE_DEC, VALS(ansi_map_SMEReport_vals), 0,
16866         "ansi_map.SignalingMessageEncryptionReport", HFILL }},
16867     { &hf_ansi_map_ssdUpdateReport,
16868       { "ssdUpdateReport", "ansi_map.ssdUpdateReport",
16869         FT_UINT16, BASE_DEC, VALS(ansi_map_SSDUpdateReport_vals), 0,
16870         "ansi_map.SSDUpdateReport", HFILL }},
16871     { &hf_ansi_map_voicePrivacyReport,
16872       { "voicePrivacyReport", "ansi_map.voicePrivacyReport",
16873         FT_UINT8, BASE_DEC, VALS(ansi_map_VoicePrivacyReport_vals), 0,
16874         "ansi_map.VoicePrivacyReport", HFILL }},
16875     { &hf_ansi_map_randomVariableBaseStation,
16876       { "randomVariableBaseStation", "ansi_map.randomVariableBaseStation",
16877         FT_BYTES, BASE_HEX, NULL, 0,
16878         "ansi_map.RandomVariableBaseStation", HFILL }},
16879     { &hf_ansi_map_authenticationResponseBaseStation,
16880       { "authenticationResponseBaseStation", "ansi_map.authenticationResponseBaseStation",
16881         FT_BYTES, BASE_HEX, NULL, 0,
16882         "ansi_map.AuthenticationResponseBaseStation", HFILL }},
16883     { &hf_ansi_map_billingID,
16884       { "billingID", "ansi_map.billingID",
16885         FT_BYTES, BASE_HEX, NULL, 0,
16886         "ansi_map.BillingID", HFILL }},
16887     { &hf_ansi_map_channelData,
16888       { "channelData", "ansi_map.channelData",
16889         FT_BYTES, BASE_HEX, NULL, 0,
16890         "ansi_map.ChannelData", HFILL }},
16891     { &hf_ansi_map_interSwitchCount,
16892       { "interSwitchCount", "ansi_map.interSwitchCount",
16893         FT_UINT32, BASE_DEC, NULL, 0,
16894         "ansi_map.InterSwitchCount", HFILL }},
16895     { &hf_ansi_map_servingCellID,
16896       { "servingCellID", "ansi_map.servingCellID",
16897         FT_BYTES, BASE_HEX, NULL, 0,
16898         "ansi_map.ServingCellID", HFILL }},
16899     { &hf_ansi_map_stationClassMark,
16900       { "stationClassMark", "ansi_map.stationClassMark",
16901         FT_BYTES, BASE_HEX, NULL, 0,
16902         "ansi_map.StationClassMark", HFILL }},
16903     { &hf_ansi_map_targetCellID,
16904       { "targetCellID", "ansi_map.targetCellID",
16905         FT_BYTES, BASE_HEX, NULL, 0,
16906         "ansi_map.TargetCellID", HFILL }},
16907     { &hf_ansi_map_handoffReason,
16908       { "handoffReason", "ansi_map.handoffReason",
16909         FT_UINT32, BASE_DEC, VALS(ansi_map_HandoffReason_vals), 0,
16910         "ansi_map.HandoffReason", HFILL }},
16911     { &hf_ansi_map_handoffState,
16912       { "handoffState", "ansi_map.handoffState",
16913         FT_BYTES, BASE_HEX, NULL, 0,
16914         "ansi_map.HandoffState", HFILL }},
16915     { &hf_ansi_map_tdmaBurstIndicator,
16916       { "tdmaBurstIndicator", "ansi_map.tdmaBurstIndicator",
16917         FT_BYTES, BASE_HEX, NULL, 0,
16918         "ansi_map.TDMABurstIndicator", HFILL }},
16919     { &hf_ansi_map_tdmaCallMode,
16920       { "tdmaCallMode", "ansi_map.tdmaCallMode",
16921         FT_BYTES, BASE_HEX, NULL, 0,
16922         "ansi_map.TDMACallMode", HFILL }},
16923     { &hf_ansi_map_tdmaChannelData,
16924       { "tdmaChannelData", "ansi_map.tdmaChannelData",
16925         FT_BYTES, BASE_HEX, NULL, 0,
16926         "ansi_map.TDMAChannelData", HFILL }},
16927     { &hf_ansi_map_baseStationManufacturerCode,
16928       { "baseStationManufacturerCode", "ansi_map.baseStationManufacturerCode",
16929         FT_BYTES, BASE_HEX, NULL, 0,
16930         "ansi_map.BaseStationManufacturerCode", HFILL }},
16931     { &hf_ansi_map_alertCode,
16932       { "alertCode", "ansi_map.alertCode",
16933         FT_BYTES, BASE_HEX, NULL, 0,
16934         "ansi_map.AlertCode", HFILL }},
16935     { &hf_ansi_map_cdma2000HandoffInvokeIOSData,
16936       { "cdma2000HandoffInvokeIOSData", "ansi_map.cdma2000HandoffInvokeIOSData",
16937         FT_BYTES, BASE_HEX, NULL, 0,
16938         "ansi_map.CDMA2000HandoffInvokeIOSData", HFILL }},
16939     { &hf_ansi_map_cdmaBandClassList,
16940       { "cdmaBandClassList", "ansi_map.cdmaBandClassList",
16941         FT_UINT32, BASE_DEC, NULL, 0,
16942         "ansi_map.CDMABandClassList", HFILL }},
16943     { &hf_ansi_map_cdmaCallMode,
16944       { "cdmaCallMode", "ansi_map.cdmaCallMode",
16945         FT_BYTES, BASE_HEX, NULL, 0,
16946         "ansi_map.CDMACallMode", HFILL }},
16947     { &hf_ansi_map_cdmaChannelData,
16948       { "cdmaChannelData", "ansi_map.cdmaChannelData",
16949         FT_BYTES, BASE_HEX, NULL, 0,
16950         "ansi_map.CDMAChannelData", HFILL }},
16951     { &hf_ansi_map_cdmaConnectionReferenceList,
16952       { "cdmaConnectionReferenceList", "ansi_map.cdmaConnectionReferenceList",
16953         FT_UINT32, BASE_DEC, NULL, 0,
16954         "ansi_map.CDMAConnectionReferenceList", HFILL }},
16955     { &hf_ansi_map_cdmaMobileProtocolRevision,
16956       { "cdmaMobileProtocolRevision", "ansi_map.cdmaMobileProtocolRevision",
16957         FT_BYTES, BASE_HEX, NULL, 0,
16958         "ansi_map.CDMAMobileProtocolRevision", HFILL }},
16959     { &hf_ansi_map_cdmaMSMeasuredChannelIdentity,
16960       { "cdmaMSMeasuredChannelIdentity", "ansi_map.cdmaMSMeasuredChannelIdentity",
16961         FT_BYTES, BASE_HEX, NULL, 0,
16962         "ansi_map.CDMAMSMeasuredChannelIdentity", HFILL }},
16963     { &hf_ansi_map_cdmaServiceConfigurationRecord,
16964       { "cdmaServiceConfigurationRecord", "ansi_map.cdmaServiceConfigurationRecord",
16965         FT_BYTES, BASE_HEX, NULL, 0,
16966         "ansi_map.CDMAServiceConfigurationRecord", HFILL }},
16967     { &hf_ansi_map_cdmaServiceOptionList,
16968       { "cdmaServiceOptionList", "ansi_map.cdmaServiceOptionList",
16969         FT_UINT32, BASE_DEC, NULL, 0,
16970         "ansi_map.CDMAServiceOptionList", HFILL }},
16971     { &hf_ansi_map_cdmaServingOneWayDelay,
16972       { "cdmaServingOneWayDelay", "ansi_map.cdmaServingOneWayDelay",
16973         FT_BYTES, BASE_HEX, NULL, 0,
16974         "ansi_map.CDMAServingOneWayDelay", HFILL }},
16975     { &hf_ansi_map_cdmaStationClassMark,
16976       { "cdmaStationClassMark", "ansi_map.cdmaStationClassMark",
16977         FT_BYTES, BASE_HEX, NULL, 0,
16978         "ansi_map.CDMAStationClassMark", HFILL }},
16979     { &hf_ansi_map_cdmaStationClassMark2,
16980       { "cdmaStationClassMark2", "ansi_map.cdmaStationClassMark2",
16981         FT_BYTES, BASE_HEX, NULL, 0,
16982         "ansi_map.CDMAStationClassMark2", HFILL }},
16983     { &hf_ansi_map_cdmaTargetMAHOList,
16984       { "cdmaTargetMAHOList", "ansi_map.cdmaTargetMAHOList",
16985         FT_UINT32, BASE_DEC, NULL, 0,
16986         "ansi_map.CDMATargetMAHOList", HFILL }},
16987     { &hf_ansi_map_cdmaTargetMeasurementList,
16988       { "cdmaTargetMeasurementList", "ansi_map.cdmaTargetMeasurementList",
16989         FT_UINT32, BASE_DEC, NULL, 0,
16990         "ansi_map.CDMATargetMeasurementList", HFILL }},
16991     { &hf_ansi_map_dataPrivacyParameters,
16992       { "dataPrivacyParameters", "ansi_map.dataPrivacyParameters",
16993         FT_BYTES, BASE_HEX, NULL, 0,
16994         "ansi_map.DataPrivacyParameters", HFILL }},
16995     { &hf_ansi_map_ilspInformation,
16996       { "ilspInformation", "ansi_map.ilspInformation",
16997         FT_UINT8, BASE_DEC, VALS(ansi_map_islp_type_vals), 0,
16998         "ansi_map.ISLPInformation", HFILL }},
16999     { &hf_ansi_map_msLocation,
17000       { "msLocation", "ansi_map.msLocation",
17001         FT_BYTES, BASE_HEX, NULL, 0,
17002         "ansi_map.MSLocation", HFILL }},
17003     { &hf_ansi_map_nampsCallMode,
17004       { "nampsCallMode", "ansi_map.nampsCallMode",
17005         FT_BYTES, BASE_HEX, NULL, 0,
17006         "ansi_map.NAMPSCallMode", HFILL }},
17007     { &hf_ansi_map_nampsChannelData,
17008       { "nampsChannelData", "ansi_map.nampsChannelData",
17009         FT_BYTES, BASE_HEX, NULL, 0,
17010         "ansi_map.NAMPSChannelData", HFILL }},
17011     { &hf_ansi_map_nonPublicData,
17012       { "nonPublicData", "ansi_map.nonPublicData",
17013         FT_BYTES, BASE_HEX, NULL, 0,
17014         "ansi_map.NonPublicData", HFILL }},
17015     { &hf_ansi_map_pdsnAddress,
17016       { "pdsnAddress", "ansi_map.pdsnAddress",
17017         FT_BYTES, BASE_HEX, NULL, 0,
17018         "ansi_map.PDSNAddress", HFILL }},
17019     { &hf_ansi_map_pdsnProtocolType,
17020       { "pdsnProtocolType", "ansi_map.pdsnProtocolType",
17021         FT_BYTES, BASE_HEX, NULL, 0,
17022         "ansi_map.PDSNProtocolType", HFILL }},
17023     { &hf_ansi_map_qosPriority,
17024       { "qosPriority", "ansi_map.qosPriority",
17025         FT_BYTES, BASE_HEX, NULL, 0,
17026         "ansi_map.QoSPriority", HFILL }},
17027     { &hf_ansi_map_systemOperatorCode,
17028       { "systemOperatorCode", "ansi_map.systemOperatorCode",
17029         FT_BYTES, BASE_HEX, NULL, 0,
17030         "ansi_map.SystemOperatorCode", HFILL }},
17031     { &hf_ansi_map_tdmaBandwidth,
17032       { "tdmaBandwidth", "ansi_map.tdmaBandwidth",
17033         FT_UINT8, BASE_DEC, VALS(ansi_map_TDMABandwidth_vals), 0x0f,
17034         "ansi_map.TDMABandwidth", HFILL }},
17035     { &hf_ansi_map_tdmaServiceCode,
17036       { "tdmaServiceCode", "ansi_map.tdmaServiceCode",
17037         FT_UINT8, BASE_DEC, VALS(ansi_map_TDMAServiceCode_vals), 0,
17038         "ansi_map.TDMAServiceCode", HFILL }},
17039     { &hf_ansi_map_tdmaTerminalCapability,
17040       { "tdmaTerminalCapability", "ansi_map.tdmaTerminalCapability",
17041         FT_BYTES, BASE_HEX, NULL, 0,
17042         "ansi_map.TDMATerminalCapability", HFILL }},
17043     { &hf_ansi_map_tdmaVoiceCoder,
17044       { "tdmaVoiceCoder", "ansi_map.tdmaVoiceCoder",
17045         FT_BYTES, BASE_HEX, NULL, 0,
17046         "ansi_map.TDMAVoiceCoder", HFILL }},
17047     { &hf_ansi_map_userZoneData,
17048       { "userZoneData", "ansi_map.userZoneData",
17049         FT_BYTES, BASE_HEX, NULL, 0,
17050         "ansi_map.UserZoneData", HFILL }},
17051     { &hf_ansi_map_bsmcstatus,
17052       { "bsmcstatus", "ansi_map.bsmcstatus",
17053         FT_UINT8, BASE_DEC, VALS(ansi_map_BSMCStatus_vals), 0x03,
17054         "ansi_map.BSMCStatus", HFILL }},
17055     { &hf_ansi_map_cdma2000HandoffResponseIOSData,
17056       { "cdma2000HandoffResponseIOSData", "ansi_map.cdma2000HandoffResponseIOSData",
17057         FT_BYTES, BASE_HEX, NULL, 0,
17058         "ansi_map.CDMA2000HandoffResponseIOSData", HFILL }},
17059     { &hf_ansi_map_cdmaCodeChannelList,
17060       { "cdmaCodeChannelList", "ansi_map.cdmaCodeChannelList",
17061         FT_UINT32, BASE_DEC, NULL, 0,
17062         "ansi_map.CDMACodeChannelList", HFILL }},
17063     { &hf_ansi_map_cdmaSearchParameters,
17064       { "cdmaSearchParameters", "ansi_map.cdmaSearchParameters",
17065         FT_BYTES, BASE_HEX, NULL, 0,
17066         "ansi_map.CDMASearchParameters", HFILL }},
17067     { &hf_ansi_map_cdmaSearchWindow,
17068       { "cdmaSearchWindow", "ansi_map.cdmaSearchWindow",
17069         FT_BYTES, BASE_HEX, NULL, 0,
17070         "ansi_map.CDMASearchWindow", HFILL }},
17071     { &hf_ansi_map_sOCStatus,
17072       { "sOCStatus", "ansi_map.sOCStatus",
17073         FT_UINT8, BASE_DEC, VALS(ansi_map_SOCStatus_vals), 0x03,
17074         "ansi_map.SOCStatus", HFILL }},
17075     { &hf_ansi_map_releaseReason,
17076       { "releaseReason", "ansi_map.releaseReason",
17077         FT_UINT32, BASE_DEC, VALS(ansi_map_ReleaseReason_vals), 0,
17078         "ansi_map.ReleaseReason", HFILL }},
17079     { &hf_ansi_map_acgencountered,
17080       { "acgencountered", "ansi_map.acgencountered",
17081         FT_BYTES, BASE_HEX, NULL, 0,
17082         "ansi_map.ACGEncountered", HFILL }},
17083     { &hf_ansi_map_callingPartyName,
17084       { "callingPartyName", "ansi_map.callingPartyName",
17085         FT_BYTES, BASE_HEX, NULL, 0,
17086         "ansi_map.CallingPartyName", HFILL }},
17087     { &hf_ansi_map_callingPartyNumberDigits1,
17088       { "callingPartyNumberDigits1", "ansi_map.callingPartyNumberDigits1",
17089         FT_BYTES, BASE_HEX, NULL, 0,
17090         "ansi_map.CallingPartyNumberDigits1", HFILL }},
17091     { &hf_ansi_map_callingPartyNumberDigits2,
17092       { "callingPartyNumberDigits2", "ansi_map.callingPartyNumberDigits2",
17093         FT_BYTES, BASE_HEX, NULL, 0,
17094         "ansi_map.CallingPartyNumberDigits2", HFILL }},
17095     { &hf_ansi_map_callingPartySubaddress,
17096       { "callingPartySubaddress", "ansi_map.callingPartySubaddress",
17097         FT_BYTES, BASE_HEX, NULL, 0,
17098         "ansi_map.CallingPartySubaddress", HFILL }},
17099     { &hf_ansi_map_conferenceCallingIndicator,
17100       { "conferenceCallingIndicator", "ansi_map.conferenceCallingIndicator",
17101         FT_BYTES, BASE_HEX, NULL, 0,
17102         "ansi_map.ConferenceCallingIndicator", HFILL }},
17103     { &hf_ansi_map_mobileDirectoryNumber,
17104       { "mobileDirectoryNumber", "ansi_map.mobileDirectoryNumber",
17105         FT_NONE, BASE_DEC, NULL, 0,
17106         "ansi_map.MobileDirectoryNumber", HFILL }},
17107     { &hf_ansi_map_mSCIdentificationNumber,
17108       { "mSCIdentificationNumber", "ansi_map.mSCIdentificationNumber",
17109         FT_NONE, BASE_DEC, NULL, 0,
17110         "ansi_map.MSCIdentificationNumber", HFILL }},
17111     { &hf_ansi_map_oneTimeFeatureIndicator,
17112       { "oneTimeFeatureIndicator", "ansi_map.oneTimeFeatureIndicator",
17113         FT_BYTES, BASE_HEX, NULL, 0,
17114         "ansi_map.OneTimeFeatureIndicator", HFILL }},
17115     { &hf_ansi_map_featureResult,
17116       { "featureResult", "ansi_map.featureResult",
17117         FT_UINT32, BASE_DEC, VALS(ansi_map_FeatureResult_vals), 0,
17118         "ansi_map.FeatureResult", HFILL }},
17119     { &hf_ansi_map_accessDeniedReason,
17120       { "accessDeniedReason", "ansi_map.accessDeniedReason",
17121         FT_UINT32, BASE_DEC, VALS(ansi_map_AccessDeniedReason_vals), 0,
17122         "ansi_map.AccessDeniedReason", HFILL }},
17123     { &hf_ansi_map_actionCode,
17124       { "actionCode", "ansi_map.actionCode",
17125         FT_UINT8, BASE_DEC, VALS(ansi_map_ActionCode_vals), 0,
17126         "ansi_map.ActionCode", HFILL }},
17127     { &hf_ansi_map_announcementList,
17128       { "announcementList", "ansi_map.announcementList",
17129         FT_NONE, BASE_NONE, NULL, 0,
17130         "ansi_map.AnnouncementList", HFILL }},
17131     { &hf_ansi_map_callingPartyNumberString1,
17132       { "callingPartyNumberString1", "ansi_map.callingPartyNumberString1",
17133         FT_NONE, BASE_DEC, NULL, 0,
17134         "ansi_map.CallingPartyNumberString1", HFILL }},
17135     { &hf_ansi_map_callingPartyNumberString2,
17136       { "callingPartyNumberString2", "ansi_map.callingPartyNumberString2",
17137         FT_NONE, BASE_DEC, NULL, 0,
17138         "ansi_map.CallingPartyNumberString2", HFILL }},
17139     { &hf_ansi_map_digits_Destination,
17140       { "digits-Destination", "ansi_map.digits_Destination",
17141         FT_NONE, BASE_DEC, NULL, 0,
17142         "ansi_map.Digits", HFILL }},
17143     { &hf_ansi_map_displayText,
17144       { "displayText", "ansi_map.displayText",
17145         FT_BYTES, BASE_HEX, NULL, 0,
17146         "ansi_map.DisplayText", HFILL }},
17147     { &hf_ansi_map_displayText2,
17148       { "displayText2", "ansi_map.displayText2",
17149         FT_BYTES, BASE_HEX, NULL, 0,
17150         "ansi_map.DisplayText2", HFILL }},
17151     { &hf_ansi_map_dmh_AccountCodeDigits,
17152       { "dmh-AccountCodeDigits", "ansi_map.dmh_AccountCodeDigits",
17153         FT_BYTES, BASE_HEX, NULL, 0,
17154         "ansi_map.DMH_AccountCodeDigits", HFILL }},
17155     { &hf_ansi_map_dmh_AlternateBillingDigits,
17156       { "dmh-AlternateBillingDigits", "ansi_map.dmh_AlternateBillingDigits",
17157         FT_BYTES, BASE_HEX, NULL, 0,
17158         "ansi_map.DMH_AlternateBillingDigits", HFILL }},
17159     { &hf_ansi_map_dmh_BillingDigits,
17160       { "dmh-BillingDigits", "ansi_map.dmh_BillingDigits",
17161         FT_BYTES, BASE_HEX, NULL, 0,
17162         "ansi_map.DMH_BillingDigits", HFILL }},
17163     { &hf_ansi_map_dmh_RedirectionIndicator,
17164       { "dmh-RedirectionIndicator", "ansi_map.dmh_RedirectionIndicator",
17165         FT_UINT32, BASE_DEC, VALS(ansi_map_DMH_RedirectionIndicator_vals), 0,
17166         "ansi_map.DMH_RedirectionIndicator", HFILL }},
17167     { &hf_ansi_map_groupInformation,
17168       { "groupInformation", "ansi_map.groupInformation",
17169         FT_BYTES, BASE_HEX, NULL, 0,
17170         "ansi_map.GroupInformation", HFILL }},
17171     { &hf_ansi_map_noAnswerTime,
17172       { "noAnswerTime", "ansi_map.noAnswerTime",
17173         FT_BYTES, BASE_HEX, NULL, 0,
17174         "ansi_map.NoAnswerTime", HFILL }},
17175     { &hf_ansi_map_pACAIndicator,
17176       { "pACAIndicator", "ansi_map.pACAIndicator",
17177         FT_BYTES, BASE_HEX, NULL, 0,
17178         "ansi_map.PACAIndicator", HFILL }},
17179     { &hf_ansi_map_pilotNumber,
17180       { "pilotNumber", "ansi_map.pilotNumber",
17181         FT_BYTES, BASE_HEX, NULL, 0,
17182         "ansi_map.PilotNumber", HFILL }},
17183     { &hf_ansi_map_preferredLanguageIndicator,
17184       { "preferredLanguageIndicator", "ansi_map.preferredLanguageIndicator",
17185         FT_UINT8, BASE_DEC, VALS(ansi_map_PreferredLanguageIndicator_vals), 0,
17186         "ansi_map.PreferredLanguageIndicator", HFILL }},
17187     { &hf_ansi_map_redirectingNumberDigits,
17188       { "redirectingNumberDigits", "ansi_map.redirectingNumberDigits",
17189         FT_BYTES, BASE_HEX, NULL, 0,
17190         "ansi_map.RedirectingNumberDigits", HFILL }},
17191     { &hf_ansi_map_redirectingNumberString,
17192       { "redirectingNumberString", "ansi_map.redirectingNumberString",
17193         FT_BYTES, BASE_HEX, NULL, 0,
17194         "ansi_map.RedirectingNumberString", HFILL }},
17195     { &hf_ansi_map_redirectingSubaddress,
17196       { "redirectingSubaddress", "ansi_map.redirectingSubaddress",
17197         FT_BYTES, BASE_HEX, NULL, 0,
17198         "ansi_map.RedirectingSubaddress", HFILL }},
17199     { &hf_ansi_map_resumePIC,
17200       { "resumePIC", "ansi_map.resumePIC",
17201         FT_UINT32, BASE_DEC, VALS(ansi_map_ResumePIC_vals), 0,
17202         "ansi_map.ResumePIC", HFILL }},
17203     { &hf_ansi_map_terminationList,
17204       { "terminationList", "ansi_map.terminationList",
17205         FT_UINT32, BASE_DEC, NULL, 0,
17206         "ansi_map.TerminationList", HFILL }},
17207     { &hf_ansi_map_terminationTriggers,
17208       { "terminationTriggers", "ansi_map.terminationTriggers",
17209         FT_BYTES, BASE_HEX, NULL, 0,
17210         "ansi_map.TerminationTriggers", HFILL }},
17211     { &hf_ansi_map_triggerAddressList,
17212       { "triggerAddressList", "ansi_map.triggerAddressList",
17213         FT_NONE, BASE_NONE, NULL, 0,
17214         "ansi_map.TriggerAddressList", HFILL }},
17215     { &hf_ansi_map_emergencyServicesRoutingDigits,
17216       { "emergencyServicesRoutingDigits", "ansi_map.emergencyServicesRoutingDigits",
17217         FT_BYTES, BASE_HEX, NULL, 0,
17218         "ansi_map.EmergencyServicesRoutingDigits", HFILL }},
17219     { &hf_ansi_map_targetCellIDList,
17220       { "targetCellIDList", "ansi_map.targetCellIDList",
17221         FT_NONE, BASE_NONE, NULL, 0,
17222         "ansi_map.TargetCellIDList", HFILL }},
17223     { &hf_ansi_map_signalQuality,
17224       { "signalQuality", "ansi_map.signalQuality",
17225         FT_UINT32, BASE_DEC, VALS(ansi_map_SignalQuality_vals), 0,
17226         "ansi_map.SignalQuality", HFILL }},
17227     { &hf_ansi_map_targetMeasurementList,
17228       { "targetMeasurementList", "ansi_map.targetMeasurementList",
17229         FT_UINT32, BASE_DEC, NULL, 0,
17230         "ansi_map.TargetMeasurementList", HFILL }},
17231     { &hf_ansi_map_alertResult,
17232       { "alertResult", "ansi_map.alertResult",
17233         FT_UINT8, BASE_DEC, VALS(ansi_map_AlertResult_result_vals), 0,
17234         "ansi_map.AlertResult", HFILL }},
17235     { &hf_ansi_map_messageWaitingNotificationCount,
17236       { "messageWaitingNotificationCount", "ansi_map.messageWaitingNotificationCount",
17237         FT_BYTES, BASE_HEX, NULL, 0,
17238         "ansi_map.MessageWaitingNotificationCount", HFILL }},
17239     { &hf_ansi_map_messageWaitingNotificationType,
17240       { "messageWaitingNotificationType", "ansi_map.messageWaitingNotificationType",
17241         FT_BYTES, BASE_HEX, NULL, 0,
17242         "ansi_map.MessageWaitingNotificationType", HFILL }},
17243     { &hf_ansi_map_cdmaBandClass,
17244       { "cdmaBandClass", "ansi_map.cdmaBandClass",
17245         FT_BYTES, BASE_HEX, NULL, 0,
17246         "ansi_map.CDMABandClass", HFILL }},
17247     { &hf_ansi_map_cdmaServiceOption,
17248       { "cdmaServiceOption", "ansi_map.cdmaServiceOption",
17249         FT_BYTES, BASE_HEX, NULL, 0,
17250         "ansi_map.CDMAServiceOption", HFILL }},
17251     { &hf_ansi_map_cdmaSlotCycleIndex,
17252       { "cdmaSlotCycleIndex", "ansi_map.cdmaSlotCycleIndex",
17253         FT_BYTES, BASE_HEX, NULL, 0,
17254         "ansi_map.CDMASlotCycleIndex", HFILL }},
17255     { &hf_ansi_map_extendedMSCID,
17256       { "extendedMSCID", "ansi_map.extendedMSCID",
17257         FT_BYTES, BASE_HEX, NULL, 0,
17258         "ansi_map.ExtendedMSCID", HFILL }},
17259     { &hf_ansi_map_extendedSystemMyTypeCode,
17260       { "extendedSystemMyTypeCode", "ansi_map.extendedSystemMyTypeCode",
17261         FT_BYTES, BASE_HEX, NULL, 0,
17262         "ansi_map.ExtendedSystemMyTypeCode", HFILL }},
17263     { &hf_ansi_map_imsi,
17264       { "imsi", "ansi_map.imsi",
17265         FT_BYTES, BASE_HEX, NULL, 0,
17266         "gsm_map.IMSI", HFILL }},
17267     { &hf_ansi_map_legInformation,
17268       { "legInformation", "ansi_map.legInformation",
17269         FT_BYTES, BASE_HEX, NULL, 0,
17270         "ansi_map.LegInformation", HFILL }},
17271     { &hf_ansi_map_mSIDUsage,
17272       { "mSIDUsage", "ansi_map.mSIDUsage",
17273         FT_UINT8, BASE_DEC, VALS(ansi_MSIDUsage_m_or_i_vals), 0x03,
17274         "ansi_map.MSIDUsage", HFILL }},
17275     { &hf_ansi_map_networkTMSI,
17276       { "networkTMSI", "ansi_map.networkTMSI",
17277         FT_BYTES, BASE_HEX, NULL, 0,
17278         "ansi_map.NetworkTMSI", HFILL }},
17279     { &hf_ansi_map_pageCount,
17280       { "pageCount", "ansi_map.pageCount",
17281         FT_BYTES, BASE_HEX, NULL, 0,
17282         "ansi_map.PageCount", HFILL }},
17283     { &hf_ansi_map_pageIndicator,
17284       { "pageIndicator", "ansi_map.pageIndicator",
17285         FT_UINT8, BASE_DEC, VALS(ansi_map_PageIndicator_vals), 0,
17286         "ansi_map.PageIndicator", HFILL }},
17287     { &hf_ansi_map_pageResponseTime,
17288       { "pageResponseTime", "ansi_map.pageResponseTime",
17289         FT_BYTES, BASE_HEX, NULL, 0,
17290         "ansi_map.PageResponseTime", HFILL }},
17291     { &hf_ansi_map_pilotBillingID,
17292       { "pilotBillingID", "ansi_map.pilotBillingID",
17293         FT_BYTES, BASE_HEX, NULL, 0,
17294         "ansi_map.PilotBillingID", HFILL }},
17295     { &hf_ansi_map_redirectingPartyName,
17296       { "redirectingPartyName", "ansi_map.redirectingPartyName",
17297         FT_BYTES, BASE_HEX, NULL, 0,
17298         "ansi_map.RedirectingPartyName", HFILL }},
17299     { &hf_ansi_map_systemMyTypeCode,
17300       { "systemMyTypeCode", "ansi_map.systemMyTypeCode",
17301         FT_UINT32, BASE_DEC, VALS(ansi_map_SystemMyTypeCode_vals), 0,
17302         "ansi_map.SystemMyTypeCode", HFILL }},
17303     { &hf_ansi_map_tdmaDataFeaturesIndicator,
17304       { "tdmaDataFeaturesIndicator", "ansi_map.tdmaDataFeaturesIndicator",
17305         FT_BYTES, BASE_HEX, NULL, 0,
17306         "ansi_map.TDMADataFeaturesIndicator", HFILL }},
17307     { &hf_ansi_map_terminationTreatment,
17308       { "terminationTreatment", "ansi_map.terminationTreatment",
17309         FT_UINT8, BASE_DEC, VALS(ansi_map_TerminationTreatment_vals), 0,
17310         "ansi_map.TerminationTreatment", HFILL }},
17311     { &hf_ansi_map_conditionallyDeniedReason,
17312       { "conditionallyDeniedReason", "ansi_map.conditionallyDeniedReason",
17313         FT_UINT32, BASE_DEC, VALS(ansi_map_ConditionallyDeniedReason_vals), 0,
17314         "ansi_map.ConditionallyDeniedReason", HFILL }},
17315     { &hf_ansi_map_pagingFrameClass,
17316       { "pagingFrameClass", "ansi_map.pagingFrameClass",
17317         FT_UINT8, BASE_DEC, VALS(ansi_map_PagingFrameClass_vals), 0x03,
17318         "ansi_map.PagingFrameClass", HFILL }},
17319     { &hf_ansi_map_pSID_RSIDList,
17320       { "pSID-RSIDList", "ansi_map.pSID_RSIDList",
17321         FT_NONE, BASE_NONE, NULL, 0,
17322         "ansi_map.PSID_RSIDList", HFILL }},
17323     { &hf_ansi_map_randc,
17324       { "randc", "ansi_map.randc",
17325         FT_BYTES, BASE_HEX, NULL, 0,
17326         "ansi_map.RANDC", HFILL }},
17327     { &hf_ansi_map_tdmaDataMode,
17328       { "tdmaDataMode", "ansi_map.tdmaDataMode",
17329         FT_BYTES, BASE_HEX, NULL, 0,
17330         "ansi_map.TDMADataMode", HFILL }},
17331     { &hf_ansi_map_changeServiceAttributes,
17332       { "changeServiceAttributes", "ansi_map.changeServiceAttributes",
17333         FT_BYTES, BASE_HEX, NULL, 0,
17334         "ansi_map.ChangeServiceAttributes", HFILL }},
17335     { &hf_ansi_map_edirectingSubaddress,
17336       { "edirectingSubaddress", "ansi_map.edirectingSubaddress",
17337         FT_BYTES, BASE_HEX, NULL, 0,
17338         "ansi_map.RedirectingSubaddress", HFILL }},
17339     { &hf_ansi_map_setupResult,
17340       { "setupResult", "ansi_map.setupResult",
17341         FT_UINT8, BASE_DEC, VALS(ansi_map_SetupResult_vals), 0,
17342         "ansi_map.SetupResult", HFILL }},
17343     { &hf_ansi_map_terminationAccessType,
17344       { "terminationAccessType", "ansi_map.terminationAccessType",
17345         FT_UINT8, BASE_DEC, VALS(ansi_map_TerminationAccessType_vals), 0,
17346         "ansi_map.TerminationAccessType", HFILL }},
17347     { &hf_ansi_map_triggerType,
17348       { "triggerType", "ansi_map.triggerType",
17349         FT_UINT32, BASE_DEC, VALS(ansi_map_TriggerType_vals), 0,
17350         "ansi_map.TriggerType", HFILL }},
17351     { &hf_ansi_map_winCapability,
17352       { "winCapability", "ansi_map.winCapability",
17353         FT_NONE, BASE_NONE, NULL, 0,
17354         "ansi_map.WINCapability", HFILL }},
17355     { &hf_ansi_map_callingPartyCategory,
17356       { "callingPartyCategory", "ansi_map.callingPartyCategory",
17357         FT_BYTES, BASE_HEX, NULL, 0,
17358         "ansi_map.CallingPartyCategory", HFILL }},
17359     { &hf_ansi_map_controlNetworkID,
17360       { "controlNetworkID", "ansi_map.controlNetworkID",
17361         FT_BYTES, BASE_HEX, NULL, 0,
17362         "ansi_map.ControlNetworkID", HFILL }},
17363     { &hf_ansi_map_digits_carrier,
17364       { "digits-carrier", "ansi_map.digits_carrier",
17365         FT_NONE, BASE_DEC, NULL, 0,
17366         "ansi_map.Digits", HFILL }},
17367     { &hf_ansi_map_digits_dest,
17368       { "digits-dest", "ansi_map.digits_dest",
17369         FT_NONE, BASE_DEC, NULL, 0,
17370         "ansi_map.Digits", HFILL }},
17371     { &hf_ansi_map_dmh_ServiceID,
17372       { "dmh-ServiceID", "ansi_map.dmh_ServiceID",
17373         FT_BYTES, BASE_HEX, NULL, 0,
17374         "ansi_map.DMH_ServiceID", HFILL }},
17375     { &hf_ansi_map_lectronicSerialNumber,
17376       { "lectronicSerialNumber", "ansi_map.lectronicSerialNumber",
17377         FT_BYTES, BASE_HEX, NULL, 0,
17378         "ansi_map.ElectronicSerialNumber", HFILL }},
17379     { &hf_ansi_map_deregistrationType,
17380       { "deregistrationType", "ansi_map.deregistrationType",
17381         FT_UINT32, BASE_DEC, VALS(ansi_map_DeregistrationType_vals), 0,
17382         "ansi_map.DeregistrationType", HFILL }},
17383     { &hf_ansi_map_servicesResult,
17384       { "servicesResult", "ansi_map.servicesResult",
17385         FT_UINT8, BASE_DEC, VALS(ansi_map_ServicesResult_ppr_vals), 0x03,
17386         "ansi_map.ServicesResult", HFILL }},
17387     { &hf_ansi_map_sms_MessageWaitingIndicator,
17388       { "sms-MessageWaitingIndicator", "ansi_map.sms_MessageWaitingIndicator",
17389         FT_NONE, BASE_NONE, NULL, 0,
17390         "ansi_map.SMS_MessageWaitingIndicator", HFILL }},
17391     { &hf_ansi_map_originationTriggers,
17392       { "originationTriggers", "ansi_map.originationTriggers",
17393         FT_BYTES, BASE_HEX, NULL, 0,
17394         "ansi_map.OriginationTriggers", HFILL }},
17395     { &hf_ansi_map_featureIndicator,
17396       { "featureIndicator", "ansi_map.featureIndicator",
17397         FT_UINT32, BASE_DEC, VALS(ansi_map_FeatureIndicator_vals), 0,
17398         "ansi_map.FeatureIndicator", HFILL }},
17399     { &hf_ansi_map_dmh_ChargeInformation,
17400       { "dmh-ChargeInformation", "ansi_map.dmh_ChargeInformation",
17401         FT_BYTES, BASE_HEX, NULL, 0,
17402         "ansi_map.DMH_ChargeInformation", HFILL }},
17403     { &hf_ansi_map_qualificationInformationCode,
17404       { "qualificationInformationCode", "ansi_map.qualificationInformationCode",
17405         FT_UINT32, BASE_DEC, VALS(ansi_map_QualificationInformationCode_vals), 0,
17406         "ansi_map.QualificationInformationCode", HFILL }},
17407     { &hf_ansi_map_authorizationDenied,
17408       { "authorizationDenied", "ansi_map.authorizationDenied",
17409         FT_UINT32, BASE_DEC, VALS(ansi_map_AuthorizationDenied_vals), 0,
17410         "ansi_map.AuthorizationDenied", HFILL }},
17411     { &hf_ansi_map_authorizationPeriod,
17412       { "authorizationPeriod", "ansi_map.authorizationPeriod",
17413         FT_BYTES, BASE_HEX, NULL, 0,
17414         "ansi_map.AuthorizationPeriod", HFILL }},
17415     { &hf_ansi_map_deniedAuthorizationPeriod,
17416       { "deniedAuthorizationPeriod", "ansi_map.deniedAuthorizationPeriod",
17417         FT_BYTES, BASE_HEX, NULL, 0,
17418         "ansi_map.DeniedAuthorizationPeriod", HFILL }},
17419     { &hf_ansi_map_randValidTime,
17420       { "randValidTime", "ansi_map.randValidTime",
17421         FT_BYTES, BASE_HEX, NULL, 0,
17422         "ansi_map.RANDValidTime", HFILL }},
17423     { &hf_ansi_map_redirectionReason,
17424       { "redirectionReason", "ansi_map.redirectionReason",
17425         FT_UINT32, BASE_DEC, VALS(ansi_map_RedirectionReason_vals), 0,
17426         "ansi_map.RedirectionReason", HFILL }},
17427     { &hf_ansi_map_cancellationType,
17428       { "cancellationType", "ansi_map.cancellationType",
17429         FT_UINT8, BASE_DEC, VALS(ansi_map_CancellationType_vals), 0,
17430         "ansi_map.CancellationType", HFILL }},
17431     { &hf_ansi_map_controlChannelData,
17432       { "controlChannelData", "ansi_map.controlChannelData",
17433         FT_BYTES, BASE_HEX, NULL, 0,
17434         "ansi_map.ControlChannelData", HFILL }},
17435     { &hf_ansi_map_receivedSignalQuality,
17436       { "receivedSignalQuality", "ansi_map.receivedSignalQuality",
17437         FT_UINT32, BASE_DEC, NULL, 0,
17438         "ansi_map.ReceivedSignalQuality", HFILL }},
17439     { &hf_ansi_map_systemAccessData,
17440       { "systemAccessData", "ansi_map.systemAccessData",
17441         FT_BYTES, BASE_HEX, NULL, 0,
17442         "ansi_map.SystemAccessData", HFILL }},
17443     { &hf_ansi_map_cancellationDenied,
17444       { "cancellationDenied", "ansi_map.cancellationDenied",
17445         FT_UINT32, BASE_DEC, VALS(ansi_map_CancellationDenied_vals), 0,
17446         "ansi_map.CancellationDenied", HFILL }},
17447     { &hf_ansi_map_availabilityType,
17448       { "availabilityType", "ansi_map.availabilityType",
17449         FT_UINT8, BASE_DEC, VALS(ansi_map_AvailabilityType_vals), 0,
17450         "ansi_map.AvailabilityType", HFILL }},
17451     { &hf_ansi_map_borderCellAccess,
17452       { "borderCellAccess", "ansi_map.borderCellAccess",
17453         FT_UINT32, BASE_DEC, VALS(ansi_map_BorderCellAccess_vals), 0,
17454         "ansi_map.BorderCellAccess", HFILL }},
17455     { &hf_ansi_map_msc_Address,
17456       { "msc-Address", "ansi_map.msc_Address",
17457         FT_BYTES, BASE_HEX, NULL, 0,
17458         "ansi_map.MSC_Address", HFILL }},
17459     { &hf_ansi_map_sms_Address,
17460       { "sms-Address", "ansi_map.sms_Address",
17461         FT_NONE, BASE_DEC, NULL, 0,
17462         "ansi_map.SMS_Address", HFILL }},
17463     { &hf_ansi_map_mpcAddress,
17464       { "mpcAddress", "ansi_map.mpcAddress",
17465         FT_BYTES, BASE_HEX, NULL, 0,
17466         "ansi_map.MPCAddress", HFILL }},
17467     { &hf_ansi_map_mpcAddressList,
17468       { "mpcAddressList", "ansi_map.mpcAddressList",
17469         FT_NONE, BASE_NONE, NULL, 0,
17470         "ansi_map.MPCAddressList", HFILL }},
17471     { &hf_ansi_map_digits_Carrier,
17472       { "digits-Carrier", "ansi_map.digits_Carrier",
17473         FT_NONE, BASE_DEC, NULL, 0,
17474         "ansi_map.Digits", HFILL }},
17475     { &hf_ansi_map_authenticationCapability,
17476       { "authenticationCapability", "ansi_map.authenticationCapability",
17477         FT_UINT8, BASE_DEC, VALS(ansi_map_AuthenticationCapability_vals), 0,
17478         "ansi_map.AuthenticationCapability", HFILL }},
17479     { &hf_ansi_map_callingFeaturesIndicator,
17480       { "callingFeaturesIndicator", "ansi_map.callingFeaturesIndicator",
17481         FT_BYTES, BASE_HEX, NULL, 0,
17482         "ansi_map.CallingFeaturesIndicator", HFILL }},
17483     { &hf_ansi_map_geographicAuthorization,
17484       { "geographicAuthorization", "ansi_map.geographicAuthorization",
17485         FT_UINT8, BASE_DEC, VALS(ansi_map_GeographicAuthorization_vals), 0,
17486         "ansi_map.GeographicAuthorization", HFILL }},
17487     { &hf_ansi_map_meidValidated,
17488       { "meidValidated", "ansi_map.meidValidated",
17489         FT_NONE, BASE_NONE, NULL, 0,
17490         "ansi_map.MEIDValidated", HFILL }},
17491     { &hf_ansi_map_originationIndicator,
17492       { "originationIndicator", "ansi_map.originationIndicator",
17493         FT_UINT32, BASE_DEC, VALS(ansi_map_OriginationIndicator_vals), 0,
17494         "ansi_map.OriginationIndicator", HFILL }},
17495     { &hf_ansi_map_restrictionDigits,
17496       { "restrictionDigits", "ansi_map.restrictionDigits",
17497         FT_BYTES, BASE_HEX, NULL, 0,
17498         "ansi_map.RestrictionDigits", HFILL }},
17499     { &hf_ansi_map_sms_OriginationRestrictions,
17500       { "sms-OriginationRestrictions", "ansi_map.sms_OriginationRestrictions",
17501         FT_BYTES, BASE_HEX, NULL, 0,
17502         "ansi_map.SMS_OriginationRestrictions", HFILL }},
17503     { &hf_ansi_map_sms_TerminationRestrictions,
17504       { "sms-TerminationRestrictions", "ansi_map.sms_TerminationRestrictions",
17505         FT_BYTES, BASE_HEX, NULL, 0,
17506         "ansi_map.SMS_TerminationRestrictions", HFILL }},
17507     { &hf_ansi_map_spinipin,
17508       { "spinipin", "ansi_map.spinipin",
17509         FT_BYTES, BASE_HEX, NULL, 0,
17510         "ansi_map.SPINIPIN", HFILL }},
17511     { &hf_ansi_map_spiniTriggers,
17512       { "spiniTriggers", "ansi_map.spiniTriggers",
17513         FT_BYTES, BASE_HEX, NULL, 0,
17514         "ansi_map.SPINITriggers", HFILL }},
17515     { &hf_ansi_map_terminationRestrictionCode,
17516       { "terminationRestrictionCode", "ansi_map.terminationRestrictionCode",
17517         FT_UINT32, BASE_DEC, VALS(ansi_map_TerminationRestrictionCode_vals), 0,
17518         "ansi_map.TerminationRestrictionCode", HFILL }},
17519     { &hf_ansi_map_lirMode,
17520       { "lirMode", "ansi_map.lirMode",
17521         FT_UINT32, BASE_DEC, VALS(ansi_map_LIRMode_vals), 0,
17522         "ansi_map.LIRMode", HFILL }},
17523     { &hf_ansi_map_digitCollectionControl,
17524       { "digitCollectionControl", "ansi_map.digitCollectionControl",
17525         FT_BYTES, BASE_HEX, NULL, 0,
17526         "ansi_map.DigitCollectionControl", HFILL }},
17527     { &hf_ansi_map_trunkStatus,
17528       { "trunkStatus", "ansi_map.trunkStatus",
17529         FT_UINT32, BASE_DEC, VALS(ansi_map_TrunkStatus_vals), 0,
17530         "ansi_map.TrunkStatus", HFILL }},
17531     { &hf_ansi_map_userGroup,
17532       { "userGroup", "ansi_map.userGroup",
17533         FT_BYTES, BASE_HEX, NULL, 0,
17534         "ansi_map.UserGroup", HFILL }},
17535     { &hf_ansi_map_voiceMailboxNumber,
17536       { "voiceMailboxNumber", "ansi_map.voiceMailboxNumber",
17537         FT_BYTES, BASE_HEX, NULL, 0,
17538         "ansi_map.VoiceMailboxNumber", HFILL }},
17539     { &hf_ansi_map_voiceMailboxPIN,
17540       { "voiceMailboxPIN", "ansi_map.voiceMailboxPIN",
17541         FT_BYTES, BASE_HEX, NULL, 0,
17542         "ansi_map.VoiceMailboxPIN", HFILL }},
17543     { &hf_ansi_map_sms_BearerData,
17544       { "sms-BearerData", "ansi_map.sms_BearerData",
17545         FT_BYTES, BASE_HEX, NULL, 0,
17546         "ansi_map.SMS_BearerData", HFILL }},
17547     { &hf_ansi_map_sms_TeleserviceIdentifier,
17548       { "sms-TeleserviceIdentifier", "ansi_map.sms_TeleserviceIdentifier",
17549         FT_BYTES, BASE_HEX, NULL, 0,
17550         "ansi_map.SMS_TeleserviceIdentifier", HFILL }},
17551     { &hf_ansi_map_sms_ChargeIndicator,
17552       { "sms-ChargeIndicator", "ansi_map.sms_ChargeIndicator",
17553         FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_ChargeIndicator_vals), 0,
17554         "ansi_map.SMS_ChargeIndicator", HFILL }},
17555     { &hf_ansi_map_sms_DestinationAddress,
17556       { "sms-DestinationAddress", "ansi_map.sms_DestinationAddress",
17557         FT_NONE, BASE_DEC, NULL, 0,
17558         "ansi_map.SMS_DestinationAddress", HFILL }},
17559     { &hf_ansi_map_sms_OriginalDestinationAddress,
17560       { "sms-OriginalDestinationAddress", "ansi_map.sms_OriginalDestinationAddress",
17561         FT_NONE, BASE_DEC, NULL, 0,
17562         "ansi_map.SMS_OriginalDestinationAddress", HFILL }},
17563     { &hf_ansi_map_sms_OriginalDestinationSubaddress,
17564       { "sms-OriginalDestinationSubaddress", "ansi_map.sms_OriginalDestinationSubaddress",
17565         FT_BYTES, BASE_HEX, NULL, 0,
17566         "ansi_map.SMS_OriginalDestinationSubaddress", HFILL }},
17567     { &hf_ansi_map_sms_OriginalOriginatingAddress,
17568       { "sms-OriginalOriginatingAddress", "ansi_map.sms_OriginalOriginatingAddress",
17569         FT_NONE, BASE_DEC, NULL, 0,
17570         "ansi_map.SMS_OriginalOriginatingAddress", HFILL }},
17571     { &hf_ansi_map_sms_OriginalOriginatingSubaddress,
17572       { "sms-OriginalOriginatingSubaddress", "ansi_map.sms_OriginalOriginatingSubaddress",
17573         FT_BYTES, BASE_HEX, NULL, 0,
17574         "ansi_map.SMS_OriginalOriginatingSubaddress", HFILL }},
17575     { &hf_ansi_map_sms_OriginatingAddress,
17576       { "sms-OriginatingAddress", "ansi_map.sms_OriginatingAddress",
17577         FT_NONE, BASE_DEC, NULL, 0,
17578         "ansi_map.SMS_OriginatingAddress", HFILL }},
17579     { &hf_ansi_map_sms_CauseCode,
17580       { "sms-CauseCode", "ansi_map.sms_CauseCode",
17581         FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_CauseCode_vals), 0,
17582         "ansi_map.SMS_CauseCode", HFILL }},
17583     { &hf_ansi_map_cdmaServingOneWayDelay2,
17584       { "cdmaServingOneWayDelay2", "ansi_map.cdmaServingOneWayDelay2",
17585         FT_BYTES, BASE_HEX, NULL, 0,
17586         "ansi_map.CDMAServingOneWayDelay2", HFILL }},
17587     { &hf_ansi_map_interMessageTime,
17588       { "interMessageTime", "ansi_map.interMessageTime",
17589         FT_BYTES, BASE_HEX, NULL, 0,
17590         "ansi_map.InterMessageTime", HFILL }},
17591     { &hf_ansi_map_newlyAssignedIMSI,
17592       { "newlyAssignedIMSI", "ansi_map.newlyAssignedIMSI",
17593         FT_BYTES, BASE_HEX, NULL, 0,
17594         "ansi_map.NewlyAssignedIMSI", HFILL }},
17595     { &hf_ansi_map_newlyAssignedMIN,
17596       { "newlyAssignedMIN", "ansi_map.newlyAssignedMIN",
17597         FT_NONE, BASE_DEC, NULL, 0,
17598         "ansi_map.NewlyAssignedMIN", HFILL }},
17599     { &hf_ansi_map_newMINExtension,
17600       { "newMINExtension", "ansi_map.newMINExtension",
17601         FT_BYTES, BASE_HEX, NULL, 0,
17602         "ansi_map.NewMINExtension", HFILL }},
17603     { &hf_ansi_map_sms_MessageCount,
17604       { "sms-MessageCount", "ansi_map.sms_MessageCount",
17605         FT_BYTES, BASE_HEX, NULL, 0,
17606         "ansi_map.SMS_MessageCount", HFILL }},
17607     { &hf_ansi_map_sms_NotificationIndicator,
17608       { "sms-NotificationIndicator", "ansi_map.sms_NotificationIndicator",
17609         FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_NotificationIndicator_vals), 0,
17610         "ansi_map.SMS_NotificationIndicator", HFILL }},
17611     { &hf_ansi_map_teleservice_Priority,
17612       { "teleservice-Priority", "ansi_map.teleservice_Priority",
17613         FT_BYTES, BASE_HEX, NULL, 0,
17614         "ansi_map.Teleservice_Priority", HFILL }},
17615     { &hf_ansi_map_temporaryReferenceNumber,
17616       { "temporaryReferenceNumber", "ansi_map.temporaryReferenceNumber",
17617         FT_BYTES, BASE_HEX, NULL, 0,
17618         "ansi_map.TemporaryReferenceNumber", HFILL }},
17619     { &hf_ansi_map_mobileStationMSID,
17620       { "mobileStationMSID", "ansi_map.mobileStationMSID",
17621         FT_UINT32, BASE_DEC, VALS(ansi_map_MobileStationMSID_vals), 0,
17622         "ansi_map.MobileStationMSID", HFILL }},
17623     { &hf_ansi_map_sms_AccessDeniedReason,
17624       { "sms-AccessDeniedReason", "ansi_map.sms_AccessDeniedReason",
17625         FT_UINT8, BASE_DEC, VALS(ansi_map_SMS_AccessDeniedReason_vals), 0,
17626         "ansi_map.SMS_AccessDeniedReason", HFILL }},
17627     { &hf_ansi_map_seizureType,
17628       { "seizureType", "ansi_map.seizureType",
17629         FT_UINT32, BASE_DEC, VALS(ansi_map_SeizureType_vals), 0,
17630         "ansi_map.SeizureType", HFILL }},
17631     { &hf_ansi_map_requiredParametersMask,
17632       { "requiredParametersMask", "ansi_map.requiredParametersMask",
17633         FT_BYTES, BASE_HEX, NULL, 0,
17634         "ansi_map.RequiredParametersMask", HFILL }},
17635     { &hf_ansi_map_reasonList,
17636       { "reasonList", "ansi_map.reasonList",
17637         FT_UINT32, BASE_DEC, VALS(ansi_map_ReasonList_vals), 0,
17638         "ansi_map.ReasonList", HFILL }},
17639     { &hf_ansi_map_networkTMSIExpirationTime,
17640       { "networkTMSIExpirationTime", "ansi_map.networkTMSIExpirationTime",
17641         FT_BYTES, BASE_HEX, NULL, 0,
17642         "ansi_map.NetworkTMSIExpirationTime", HFILL }},
17643     { &hf_ansi_map_newNetworkTMSI,
17644       { "newNetworkTMSI", "ansi_map.newNetworkTMSI",
17645         FT_BYTES, BASE_HEX, NULL, 0,
17646         "ansi_map.NewNetworkTMSI", HFILL }},
17647     { &hf_ansi_map_serviceID,
17648       { "serviceID", "ansi_map.serviceID",
17649         FT_BYTES, BASE_HEX, NULL, 0,
17650         "ansi_map.ServiceID", HFILL }},
17651     { &hf_ansi_map_dataAccessElementList,
17652       { "dataAccessElementList", "ansi_map.dataAccessElementList",
17653         FT_UINT32, BASE_DEC, NULL, 0,
17654         "ansi_map.DataAccessElementList", HFILL }},
17655     { &hf_ansi_map_timeDateOffset,
17656       { "timeDateOffset", "ansi_map.timeDateOffset",
17657         FT_BYTES, BASE_HEX, NULL, 0,
17658         "ansi_map.TimeDateOffset", HFILL }},
17659     { &hf_ansi_map_timeOfDay,
17660       { "timeOfDay", "ansi_map.timeOfDay",
17661         FT_INT32, BASE_DEC, NULL, 0,
17662         "ansi_map.TimeOfDay", HFILL }},
17663     { &hf_ansi_map_dmd_BillingIndicator,
17664       { "dmd-BillingIndicator", "ansi_map.dmd_BillingIndicator",
17665         FT_UINT32, BASE_DEC, VALS(ansi_map_DMH_BillingIndicator_vals), 0,
17666         "ansi_map.DMH_BillingIndicator", HFILL }},
17667     { &hf_ansi_map_failureType,
17668       { "failureType", "ansi_map.failureType",
17669         FT_UINT32, BASE_DEC, VALS(ansi_map_FailureType_vals), 0,
17670         "ansi_map.FailureType", HFILL }},
17671     { &hf_ansi_map_failureCause,
17672       { "failureCause", "ansi_map.failureCause",
17673         FT_BYTES, BASE_HEX, NULL, 0,
17674         "ansi_map.FailureCause", HFILL }},
17675     { &hf_ansi_map_outingDigits,
17676       { "outingDigits", "ansi_map.outingDigits",
17677         FT_BYTES, BASE_HEX, NULL, 0,
17678         "ansi_map.RoutingDigits", HFILL }},
17679     { &hf_ansi_map_databaseKey,
17680       { "databaseKey", "ansi_map.databaseKey",
17681         FT_BYTES, BASE_HEX, NULL, 0,
17682         "ansi_map.DatabaseKey", HFILL }},
17683     { &hf_ansi_map_modificationRequestList,
17684       { "modificationRequestList", "ansi_map.modificationRequestList",
17685         FT_UINT32, BASE_DEC, NULL, 0,
17686         "ansi_map.ModificationRequestList", HFILL }},
17687     { &hf_ansi_map_modificationResultList,
17688       { "modificationResultList", "ansi_map.modificationResultList",
17689         FT_UINT32, BASE_DEC, NULL, 0,
17690         "ansi_map.ModificationResultList", HFILL }},
17691     { &hf_ansi_map_serviceDataAccessElementList,
17692       { "serviceDataAccessElementList", "ansi_map.serviceDataAccessElementList",
17693         FT_UINT32, BASE_DEC, NULL, 0,
17694         "ansi_map.ServiceDataAccessElementList", HFILL }},
17695     { &hf_ansi_map_privateSpecializedResource,
17696       { "privateSpecializedResource", "ansi_map.privateSpecializedResource",
17697         FT_BYTES, BASE_HEX, NULL, 0,
17698         "ansi_map.PrivateSpecializedResource", HFILL }},
17699     { &hf_ansi_map_specializedResource,
17700       { "specializedResource", "ansi_map.specializedResource",
17701         FT_BYTES, BASE_HEX, NULL, 0,
17702         "ansi_map.SpecializedResource", HFILL }},
17703     { &hf_ansi_map_executeScript,
17704       { "executeScript", "ansi_map.executeScript",
17705         FT_NONE, BASE_NONE, NULL, 0,
17706         "ansi_map.ExecuteScript", HFILL }},
17707     { &hf_ansi_map_scriptResult,
17708       { "scriptResult", "ansi_map.scriptResult",
17709         FT_BYTES, BASE_HEX, NULL, 0,
17710         "ansi_map.ScriptResult", HFILL }},
17711     { &hf_ansi_map_tdmaVoiceMode,
17712       { "tdmaVoiceMode", "ansi_map.tdmaVoiceMode",
17713         FT_BYTES, BASE_HEX, NULL, 0,
17714         "ansi_map.TDMAVoiceMode", HFILL }},
17715     { &hf_ansi_map_callStatus,
17716       { "callStatus", "ansi_map.callStatus",
17717         FT_UINT32, BASE_DEC, VALS(ansi_map_CallStatus_vals), 0,
17718         "ansi_map.CallStatus", HFILL }},
17719     { &hf_ansi_map_releaseCause,
17720       { "releaseCause", "ansi_map.releaseCause",
17721         FT_UINT32, BASE_DEC, VALS(ansi_map_ReleaseCause_vals), 0,
17722         "ansi_map.ReleaseCause", HFILL }},
17723     { &hf_ansi_map_callRecoveryIDList,
17724       { "callRecoveryIDList", "ansi_map.callRecoveryIDList",
17725         FT_UINT32, BASE_DEC, NULL, 0,
17726         "ansi_map.CallRecoveryIDList", HFILL }},
17727     { &hf_ansi_map_positionInformationCode,
17728       { "positionInformationCode", "ansi_map.positionInformationCode",
17729         FT_BYTES, BASE_HEX, NULL, 0,
17730         "ansi_map.PositionInformationCode", HFILL }},
17731     { &hf_ansi_map_mSStatus,
17732       { "mSStatus", "ansi_map.mSStatus",
17733         FT_BYTES, BASE_HEX, NULL, 0,
17734         "ansi_map.MSStatus", HFILL }},
17735     { &hf_ansi_map_pSID_RSIDInformation,
17736       { "pSID-RSIDInformation", "ansi_map.pSID_RSIDInformation",
17737         FT_BYTES, BASE_HEX, NULL, 0,
17738         "ansi_map.PSID_RSIDInformation", HFILL }},
17739     { &hf_ansi_map_positionRequestType,
17740       { "positionRequestType", "ansi_map.positionRequestType",
17741         FT_BYTES, BASE_HEX, NULL, 0,
17742         "ansi_map.PositionRequestType", HFILL }},
17743     { &hf_ansi_map_lcsBillingID,
17744       { "lcsBillingID", "ansi_map.lcsBillingID",
17745         FT_BYTES, BASE_HEX, NULL, 0,
17746         "ansi_map.LCSBillingID", HFILL }},
17747     { &hf_ansi_map_lcs_Client_ID,
17748       { "lcs-Client-ID", "ansi_map.lcs_Client_ID",
17749         FT_BYTES, BASE_HEX, NULL, 0,
17750         "ansi_map.LCS_Client_ID", HFILL }},
17751     { &hf_ansi_map_mobilePositionCapability,
17752       { "mobilePositionCapability", "ansi_map.mobilePositionCapability",
17753         FT_BYTES, BASE_HEX, NULL, 0,
17754         "ansi_map.MobilePositionCapability", HFILL }},
17755     { &hf_ansi_map_dtxIndication,
17756       { "dtxIndication", "ansi_map.dtxIndication",
17757         FT_BYTES, BASE_HEX, NULL, 0,
17758         "ansi_map.DTXIndication", HFILL }},
17759     { &hf_ansi_map_cdmaCodeChannel,
17760       { "cdmaCodeChannel", "ansi_map.cdmaCodeChannel",
17761         FT_BYTES, BASE_HEX, NULL, 0,
17762         "ansi_map.CDMACodeChannel", HFILL }},
17763     { &hf_ansi_map_cdmaMobileCapabilities,
17764       { "cdmaMobileCapabilities", "ansi_map.cdmaMobileCapabilities",
17765         FT_BYTES, BASE_HEX, NULL, 0,
17766         "ansi_map.CDMAMobileCapabilities", HFILL }},
17767     { &hf_ansi_map_cdmaPSMMList,
17768       { "cdmaPSMMList", "ansi_map.cdmaPSMMList",
17769         FT_UINT32, BASE_DEC, NULL, 0,
17770         "ansi_map.CDMAPSMMList", HFILL }},
17771     { &hf_ansi_map_tdma_MAHO_CELLID,
17772       { "tdma-MAHO-CELLID", "ansi_map.tdma_MAHO_CELLID",
17773         FT_BYTES, BASE_HEX, NULL, 0,
17774         "ansi_map.TDMA_MAHO_CELLID", HFILL }},
17775     { &hf_ansi_map_tdma_MAHO_CHANNEL,
17776       { "tdma-MAHO-CHANNEL", "ansi_map.tdma_MAHO_CHANNEL",
17777         FT_BYTES, BASE_HEX, NULL, 0,
17778         "ansi_map.TDMA_MAHO_CHANNEL", HFILL }},
17779     { &hf_ansi_map_tdma_TimeAlignment,
17780       { "tdma-TimeAlignment", "ansi_map.tdma_TimeAlignment",
17781         FT_BYTES, BASE_HEX, NULL, 0,
17782         "ansi_map.TDMA_TimeAlignment", HFILL }},
17783     { &hf_ansi_map_pqos_HorizontalPosition,
17784       { "pqos-HorizontalPosition", "ansi_map.pqos_HorizontalPosition",
17785         FT_BYTES, BASE_HEX, NULL, 0,
17786         "ansi_map.PQOS_HorizontalPosition", HFILL }},
17787     { &hf_ansi_map_pqos_HorizontalVelocity,
17788       { "pqos-HorizontalVelocity", "ansi_map.pqos_HorizontalVelocity",
17789         FT_BYTES, BASE_HEX, NULL, 0,
17790         "ansi_map.PQOS_HorizontalVelocity", HFILL }},
17791     { &hf_ansi_map_pqos_MaximumPositionAge,
17792       { "pqos-MaximumPositionAge", "ansi_map.pqos_MaximumPositionAge",
17793         FT_BYTES, BASE_HEX, NULL, 0,
17794         "ansi_map.PQOS_MaximumPositionAge", HFILL }},
17795     { &hf_ansi_map_pqos_PositionPriority,
17796       { "pqos-PositionPriority", "ansi_map.pqos_PositionPriority",
17797         FT_BYTES, BASE_HEX, NULL, 0,
17798         "ansi_map.PQOS_PositionPriority", HFILL }},
17799     { &hf_ansi_map_pqos_ResponseTime,
17800       { "pqos-ResponseTime", "ansi_map.pqos_ResponseTime",
17801         FT_UINT32, BASE_DEC, VALS(ansi_map_PQOS_ResponseTime_vals), 0,
17802         "ansi_map.PQOS_ResponseTime", HFILL }},
17803     { &hf_ansi_map_pqos_VerticalPosition,
17804       { "pqos-VerticalPosition", "ansi_map.pqos_VerticalPosition",
17805         FT_BYTES, BASE_HEX, NULL, 0,
17806         "ansi_map.PQOS_VerticalPosition", HFILL }},
17807     { &hf_ansi_map_pqos_VerticalVelocity,
17808       { "pqos-VerticalVelocity", "ansi_map.pqos_VerticalVelocity",
17809         FT_BYTES, BASE_HEX, NULL, 0,
17810         "ansi_map.PQOS_VerticalVelocity", HFILL }},
17811     { &hf_ansi_map_cdmaPSMMCount,
17812       { "cdmaPSMMCount", "ansi_map.cdmaPSMMCount",
17813         FT_BYTES, BASE_HEX, NULL, 0,
17814         "ansi_map.CDMAPSMMCount", HFILL }},
17815     { &hf_ansi_map_lirAuthorization,
17816       { "lirAuthorization", "ansi_map.lirAuthorization",
17817         FT_UINT32, BASE_DEC, VALS(ansi_map_LIRAuthorization_vals), 0,
17818         "ansi_map.LIRAuthorization", HFILL }},
17819     { &hf_ansi_map_mpcid,
17820       { "mpcid", "ansi_map.mpcid",
17821         FT_BYTES, BASE_HEX, NULL, 0,
17822         "ansi_map.MPCID", HFILL }},
17823     { &hf_ansi_map_tdma_MAHORequest,
17824       { "tdma-MAHORequest", "ansi_map.tdma_MAHORequest",
17825         FT_BYTES, BASE_HEX, NULL, 0,
17826         "ansi_map.TDMA_MAHORequest", HFILL }},
17827     { &hf_ansi_map_positionResult,
17828       { "positionResult", "ansi_map.positionResult",
17829         FT_BYTES, BASE_HEX, NULL, 0,
17830         "ansi_map.PositionResult", HFILL }},
17831     { &hf_ansi_map_positionInformation,
17832       { "positionInformation", "ansi_map.positionInformation",
17833         FT_NONE, BASE_NONE, NULL, 0,
17834         "ansi_map.PositionInformation", HFILL }},
17835     { &hf_ansi_map_controlType,
17836       { "controlType", "ansi_map.controlType",
17837         FT_BYTES, BASE_HEX, NULL, 0,
17838         "ansi_map.ControlType", HFILL }},
17839     { &hf_ansi_map_destinationAddress,
17840       { "destinationAddress", "ansi_map.destinationAddress",
17841         FT_UINT32, BASE_DEC, VALS(ansi_map_DestinationAddress_vals), 0,
17842         "ansi_map.DestinationAddress", HFILL }},
17843     { &hf_ansi_map_gapDuration,
17844       { "gapDuration", "ansi_map.gapDuration",
17845         FT_UINT32, BASE_DEC, VALS(ansi_map_GapDuration_vals), 0,
17846         "ansi_map.GapDuration", HFILL }},
17847     { &hf_ansi_map_gapInterval,
17848       { "gapInterval", "ansi_map.gapInterval",
17849         FT_UINT32, BASE_DEC, VALS(ansi_map_GapInterval_vals), 0,
17850         "ansi_map.GapInterval", HFILL }},
17851     { &hf_ansi_map_invokingNEType,
17852       { "invokingNEType", "ansi_map.invokingNEType",
17853         FT_INT32, BASE_DEC, NULL, 0,
17854         "ansi_map.InvokingNEType", HFILL }},
17855     { &hf_ansi_map_range,
17856       { "range", "ansi_map.range",
17857         FT_INT32, BASE_DEC, NULL, 0,
17858         "ansi_map.Range", HFILL }},
17859     { &hf_ansi_map_meidStatus,
17860       { "meidStatus", "ansi_map.meidStatus",
17861         FT_BYTES, BASE_HEX, NULL, 0,
17862         "ansi_map.MEIDStatus", HFILL }},
17863     { &hf_ansi_map_aKeyProtocolVersion,
17864       { "aKeyProtocolVersion", "ansi_map.aKeyProtocolVersion",
17865         FT_BYTES, BASE_HEX, NULL, 0,
17866         "ansi_map.AKeyProtocolVersion", HFILL }},
17867     { &hf_ansi_map_mobileStationPartialKey,
17868       { "mobileStationPartialKey", "ansi_map.mobileStationPartialKey",
17869         FT_BYTES, BASE_HEX, NULL, 0,
17870         "ansi_map.MobileStationPartialKey", HFILL }},
17871     { &hf_ansi_map_newlyAssignedMSID,
17872       { "newlyAssignedMSID", "ansi_map.newlyAssignedMSID",
17873         FT_UINT32, BASE_DEC, VALS(ansi_map_NewlyAssignedMSID_vals), 0,
17874         "ansi_map.NewlyAssignedMSID", HFILL }},
17875     { &hf_ansi_map_baseStationPartialKey,
17876       { "baseStationPartialKey", "ansi_map.baseStationPartialKey",
17877         FT_BYTES, BASE_HEX, NULL, 0,
17878         "ansi_map.BaseStationPartialKey", HFILL }},
17879     { &hf_ansi_map_modulusValue,
17880       { "modulusValue", "ansi_map.modulusValue",
17881         FT_BYTES, BASE_HEX, NULL, 0,
17882         "ansi_map.ModulusValue", HFILL }},
17883     { &hf_ansi_map_otasp_ResultCode,
17884       { "otasp-ResultCode", "ansi_map.otasp_ResultCode",
17885         FT_UINT8, BASE_DEC, VALS(ansi_map_OTASP_ResultCode_vals), 0,
17886         "ansi_map.OTASP_ResultCode", HFILL }},
17887     { &hf_ansi_map_primitiveValue,
17888       { "primitiveValue", "ansi_map.primitiveValue",
17889         FT_BYTES, BASE_HEX, NULL, 0,
17890         "ansi_map.PrimitiveValue", HFILL }},
17891     { &hf_ansi_map_record_Type,
17892       { "record-Type", "ansi_map.record_Type",
17893         FT_BYTES, BASE_HEX, NULL, 0,
17894         "ansi_map.Record_Type", HFILL }},
17895     { &hf_ansi_map_information_Record,
17896       { "information-Record", "ansi_map.information_Record",
17897         FT_BYTES, BASE_HEX, NULL, 0,
17898         "ansi_map.Information_Record", HFILL }},
17899     { &hf_ansi_map_announcementCode1,
17900       { "announcementCode1", "ansi_map.announcementCode1",
17901         FT_BYTES, BASE_HEX, NULL, 0,
17902         "ansi_map.AnnouncementCode", HFILL }},
17903     { &hf_ansi_map_announcementCode2,
17904       { "announcementCode2", "ansi_map.announcementCode2",
17905         FT_BYTES, BASE_HEX, NULL, 0,
17906         "ansi_map.AnnouncementCode", HFILL }},
17907     { &hf_ansi_map_cdmaPilotPN,
17908       { "cdmaPilotPN", "ansi_map.cdmaPilotPN",
17909         FT_BYTES, BASE_HEX, NULL, 0,
17910         "ansi_map.CDMAPilotPN", HFILL }},
17911     { &hf_ansi_map_cdmaPowerCombinedIndicator,
17912       { "cdmaPowerCombinedIndicator", "ansi_map.cdmaPowerCombinedIndicator",
17913         FT_BYTES, BASE_HEX, NULL, 0,
17914         "ansi_map.CDMAPowerCombinedIndicator", HFILL }},
17915     { &hf_ansi_map_CDMACodeChannelList_item,
17916       { "Item", "ansi_map.CDMACodeChannelList_item",
17917         FT_NONE, BASE_NONE, NULL, 0,
17918         "ansi_map.CDMACodeChannelInformation", HFILL }},
17919     { &hf_ansi_map_cdmaPilotStrength,
17920       { "cdmaPilotStrength", "ansi_map.cdmaPilotStrength",
17921         FT_BYTES, BASE_HEX, NULL, 0,
17922         "ansi_map.CDMAPilotStrength", HFILL }},
17923     { &hf_ansi_map_cdmaTargetOneWayDelay,
17924       { "cdmaTargetOneWayDelay", "ansi_map.cdmaTargetOneWayDelay",
17925         FT_BYTES, BASE_HEX, NULL, 0,
17926         "ansi_map.CDMATargetOneWayDelay", HFILL }},
17927     { &hf_ansi_map_CDMATargetMAHOList_item,
17928       { "Item", "ansi_map.CDMATargetMAHOList_item",
17929         FT_NONE, BASE_NONE, NULL, 0,
17930         "ansi_map.CDMATargetMAHOInformation", HFILL }},
17931     { &hf_ansi_map_cdmaSignalQuality,
17932       { "cdmaSignalQuality", "ansi_map.cdmaSignalQuality",
17933         FT_BYTES, BASE_HEX, NULL, 0,
17934         "ansi_map.CDMASignalQuality", HFILL }},
17935     { &hf_ansi_map_CDMATargetMeasurementList_item,
17936       { "Item", "ansi_map.CDMATargetMeasurementList_item",
17937         FT_NONE, BASE_NONE, NULL, 0,
17938         "ansi_map.CDMATargetMeasurementInformation", HFILL }},
17939     { &hf_ansi_map_TargetMeasurementList_item,
17940       { "Item", "ansi_map.TargetMeasurementList_item",
17941         FT_NONE, BASE_NONE, NULL, 0,
17942         "ansi_map.TargetMeasurementInformation", HFILL }},
17943     { &hf_ansi_map_TerminationList_item,
17944       { "Item", "ansi_map.TerminationList_item",
17945         FT_UINT32, BASE_DEC, VALS(ansi_map_TerminationList_item_vals), 0,
17946         "ansi_map.TerminationList_item", HFILL }},
17947     { &hf_ansi_map_intersystemTermination,
17948       { "intersystemTermination", "ansi_map.intersystemTermination",
17949         FT_NONE, BASE_NONE, NULL, 0,
17950         "ansi_map.IntersystemTermination", HFILL }},
17951     { &hf_ansi_map_localTermination,
17952       { "localTermination", "ansi_map.localTermination",
17953         FT_NONE, BASE_NONE, NULL, 0,
17954         "ansi_map.LocalTermination", HFILL }},
17955     { &hf_ansi_map_pstnTermination,
17956       { "pstnTermination", "ansi_map.pstnTermination",
17957         FT_NONE, BASE_NONE, NULL, 0,
17958         "ansi_map.PSTNTermination", HFILL }},
17959     { &hf_ansi_map_CDMABandClassList_item,
17960       { "Item", "ansi_map.CDMABandClassList_item",
17961         FT_NONE, BASE_NONE, NULL, 0,
17962         "ansi_map.CDMABandClassInformation", HFILL }},
17963     { &hf_ansi_map_CDMAServiceOptionList_item,
17964       { "Item", "ansi_map.CDMAServiceOptionList_item",
17965         FT_BYTES, BASE_HEX, NULL, 0,
17966         "ansi_map.CDMAServiceOption", HFILL }},
17967     { &hf_ansi_map_pSID_RSIDInformation1,
17968       { "pSID-RSIDInformation1", "ansi_map.pSID_RSIDInformation1",
17969         FT_BYTES, BASE_HEX, NULL, 0,
17970         "ansi_map.PSID_RSIDInformation", HFILL }},
17971     { &hf_ansi_map_targetCellID1,
17972       { "targetCellID1", "ansi_map.targetCellID1",
17973         FT_BYTES, BASE_HEX, NULL, 0,
17974         "ansi_map.TargetCellID", HFILL }},
17975     { &hf_ansi_map_cdmaConnectionReference,
17976       { "cdmaConnectionReference", "ansi_map.cdmaConnectionReference",
17977         FT_BYTES, BASE_HEX, NULL, 0,
17978         "ansi_map.CDMAConnectionReference", HFILL }},
17979     { &hf_ansi_map_cdmaState,
17980       { "cdmaState", "ansi_map.cdmaState",
17981         FT_BYTES, BASE_HEX, NULL, 0,
17982         "ansi_map.CDMAState", HFILL }},
17983     { &hf_ansi_map_cdmaServiceOptionConnectionIdentifier,
17984       { "cdmaServiceOptionConnectionIdentifier", "ansi_map.cdmaServiceOptionConnectionIdentifier",
17985         FT_BYTES, BASE_HEX, NULL, 0,
17986         "ansi_map.CDMAServiceOptionConnectionIdentifier", HFILL }},
17987     { &hf_ansi_map_CDMAConnectionReferenceList_item,
17988       { "Item", "ansi_map.CDMAConnectionReferenceList_item",
17989         FT_NONE, BASE_NONE, NULL, 0,
17990         "ansi_map.CDMAConnectionReferenceList_item", HFILL }},
17991     { &hf_ansi_map_cdmaConnectionReferenceInformation,
17992       { "cdmaConnectionReferenceInformation", "ansi_map.cdmaConnectionReferenceInformation",
17993         FT_NONE, BASE_NONE, NULL, 0,
17994         "ansi_map.CDMAConnectionReferenceInformation", HFILL }},
17995     { &hf_ansi_map_cdmaConnectionReferenceInformation2,
17996       { "cdmaConnectionReferenceInformation2", "ansi_map.cdmaConnectionReferenceInformation2",
17997         FT_NONE, BASE_NONE, NULL, 0,
17998         "ansi_map.CDMAConnectionReferenceInformation", HFILL }},
17999     { &hf_ansi_map_analogRedirectInfo,
18000       { "analogRedirectInfo", "ansi_map.analogRedirectInfo",
18001         FT_BYTES, BASE_HEX, NULL, 0,
18002         "ansi_map.AnalogRedirectInfo", HFILL }},
18003     { &hf_ansi_map_CDMAChannelNumberList_item,
18004       { "Item", "ansi_map.CDMAChannelNumberList_item",
18005         FT_NONE, BASE_NONE, NULL, 0,
18006         "ansi_map.CDMAChannelNumberList_item", HFILL }},
18007     { &hf_ansi_map_cdmaChannelNumber,
18008       { "cdmaChannelNumber", "ansi_map.cdmaChannelNumber",
18009         FT_BYTES, BASE_HEX, NULL, 0,
18010         "ansi_map.CDMAChannelNumber", HFILL }},
18011     { &hf_ansi_map_cdmaChannelNumber2,
18012       { "cdmaChannelNumber2", "ansi_map.cdmaChannelNumber2",
18013         FT_BYTES, BASE_HEX, NULL, 0,
18014         "ansi_map.CDMAChannelNumber", HFILL }},
18015     { &hf_ansi_map_cdmaChannelNumberList,
18016       { "cdmaChannelNumberList", "ansi_map.cdmaChannelNumberList",
18017         FT_UINT32, BASE_DEC, NULL, 0,
18018         "ansi_map.CDMAChannelNumberList", HFILL }},
18019     { &hf_ansi_map_dataID,
18020       { "dataID", "ansi_map.dataID",
18021         FT_BYTES, BASE_HEX, NULL, 0,
18022         "ansi_map.DataID", HFILL }},
18023     { &hf_ansi_map_change,
18024       { "change", "ansi_map.change",
18025         FT_UINT32, BASE_DEC, VALS(ansi_map_Change_vals), 0,
18026         "ansi_map.Change", HFILL }},
18027     { &hf_ansi_map_dataValue,
18028       { "dataValue", "ansi_map.dataValue",
18029         FT_BYTES, BASE_HEX, NULL, 0,
18030         "ansi_map.DataValue", HFILL }},
18031     { &hf_ansi_map_DataAccessElementList_item,
18032       { "Item", "ansi_map.DataAccessElementList_item",
18033         FT_NONE, BASE_NONE, NULL, 0,
18034         "ansi_map.DataAccessElementList_item", HFILL }},
18035     { &hf_ansi_map_dataAccessElement1,
18036       { "dataAccessElement1", "ansi_map.dataAccessElement1",
18037         FT_NONE, BASE_NONE, NULL, 0,
18038         "ansi_map.DataAccessElement", HFILL }},
18039     { &hf_ansi_map_dataAccessElement2,
18040       { "dataAccessElement2", "ansi_map.dataAccessElement2",
18041         FT_NONE, BASE_NONE, NULL, 0,
18042         "ansi_map.DataAccessElement", HFILL }},
18043     { &hf_ansi_map_dataResult,
18044       { "dataResult", "ansi_map.dataResult",
18045         FT_UINT32, BASE_DEC, VALS(ansi_map_DataResult_vals), 0,
18046         "ansi_map.DataResult", HFILL }},
18047     { &hf_ansi_map_DataUpdateResultList_item,
18048       { "Item", "ansi_map.DataUpdateResultList_item",
18049         FT_NONE, BASE_NONE, NULL, 0,
18050         "ansi_map.DataUpdateResult", HFILL }},
18051     { &hf_ansi_map_globalTitle,
18052       { "globalTitle", "ansi_map.globalTitle",
18053         FT_BYTES, BASE_HEX, NULL, 0,
18054         "ansi_map.GlobalTitle", HFILL }},
18055     { &hf_ansi_map_pC_SSN,
18056       { "pC-SSN", "ansi_map.pC_SSN",
18057         FT_BYTES, BASE_HEX, NULL, 0,
18058         "ansi_map.PC_SSN", HFILL }},
18059     { &hf_ansi_map_scriptName,
18060       { "scriptName", "ansi_map.scriptName",
18061         FT_BYTES, BASE_HEX, NULL, 0,
18062         "ansi_map.ScriptName", HFILL }},
18063     { &hf_ansi_map_scriptArgument,
18064       { "scriptArgument", "ansi_map.scriptArgument",
18065         FT_BYTES, BASE_HEX, NULL, 0,
18066         "ansi_map.ScriptArgument", HFILL }},
18067     { &hf_ansi_map_allOrNone,
18068       { "allOrNone", "ansi_map.allOrNone",
18069         FT_UINT32, BASE_DEC, VALS(ansi_map_AllOrNone_vals), 0,
18070         "ansi_map.AllOrNone", HFILL }},
18071     { &hf_ansi_map_ModificationRequestList_item,
18072       { "Item", "ansi_map.ModificationRequestList_item",
18073         FT_NONE, BASE_NONE, NULL, 0,
18074         "ansi_map.ModificationRequest", HFILL }},
18075     { &hf_ansi_map_serviceDataResultList,
18076       { "serviceDataResultList", "ansi_map.serviceDataResultList",
18077         FT_UINT32, BASE_DEC, NULL, 0,
18078         "ansi_map.ServiceDataResultList", HFILL }},
18079     { &hf_ansi_map_ModificationResultList_item,
18080       { "Item", "ansi_map.ModificationResultList_item",
18081         FT_UINT32, BASE_DEC, VALS(ansi_map_ModificationResult_vals), 0,
18082         "ansi_map.ModificationResult", HFILL }},
18083     { &hf_ansi_map_ServiceDataAccessElementList_item,
18084       { "Item", "ansi_map.ServiceDataAccessElementList_item",
18085         FT_NONE, BASE_NONE, NULL, 0,
18086         "ansi_map.ServiceDataAccessElement", HFILL }},
18087     { &hf_ansi_map_dataUpdateResultList,
18088       { "dataUpdateResultList", "ansi_map.dataUpdateResultList",
18089         FT_UINT32, BASE_DEC, NULL, 0,
18090         "ansi_map.DataUpdateResultList", HFILL }},
18091     { &hf_ansi_map_ServiceDataResultList_item,
18092       { "Item", "ansi_map.ServiceDataResultList_item",
18093         FT_NONE, BASE_NONE, NULL, 0,
18094         "ansi_map.ServiceDataResult", HFILL }},
18095     { &hf_ansi_map_triggerList,
18096       { "triggerList", "ansi_map.triggerList",
18097         FT_NONE, BASE_NONE, NULL, 0,
18098         "ansi_map.TriggerList", HFILL }},
18099     { &hf_ansi_map_triggerListOpt,
18100       { "triggerListOpt", "ansi_map.triggerListOpt",
18101         FT_NONE, BASE_NONE, NULL, 0,
18102         "ansi_map.TriggerList", HFILL }},
18103     { &hf_ansi_map_wIN_TriggerList,
18104       { "wIN-TriggerList", "ansi_map.wIN_TriggerList",
18105         FT_BYTES, BASE_HEX, NULL, 0,
18106         "ansi_map.WIN_TriggerList", HFILL }},
18107     { &hf_ansi_map_triggerCapability,
18108       { "triggerCapability", "ansi_map.triggerCapability",
18109         FT_BYTES, BASE_HEX, NULL, 0,
18110         "ansi_map.TriggerCapability", HFILL }},
18111     { &hf_ansi_map_wINOperationsCapability,
18112       { "wINOperationsCapability", "ansi_map.wINOperationsCapability",
18113         FT_BYTES, BASE_HEX, NULL, 0,
18114         "ansi_map.WINOperationsCapability", HFILL }},
18115     { &hf_ansi_map_CallRecoveryIDList_item,
18116       { "Item", "ansi_map.CallRecoveryIDList_item",
18117         FT_NONE, BASE_NONE, NULL, 0,
18118         "ansi_map.CallRecoveryID", HFILL }},
18119     { &hf_ansi_map_generalizedTime,
18120       { "generalizedTime", "ansi_map.generalizedTime",
18121         FT_STRING, BASE_NONE, NULL, 0,
18122         "ansi_map.GeneralizedTime", HFILL }},
18123     { &hf_ansi_map_geographicPosition,
18124       { "geographicPosition", "ansi_map.geographicPosition",
18125         FT_BYTES, BASE_HEX, NULL, 0,
18126         "ansi_map.GeographicPosition", HFILL }},
18127     { &hf_ansi_map_positionSource,
18128       { "positionSource", "ansi_map.positionSource",
18129         FT_BYTES, BASE_HEX, NULL, 0,
18130         "ansi_map.PositionSource", HFILL }},
18131     { &hf_ansi_map_horizontal_Velocity,
18132       { "horizontal-Velocity", "ansi_map.horizontal_Velocity",
18133         FT_BYTES, BASE_HEX, NULL, 0,
18134         "ansi_map.Horizontal_Velocity", HFILL }},
18135     { &hf_ansi_map_vertical_Velocity,
18136       { "vertical-Velocity", "ansi_map.vertical_Velocity",
18137         FT_BYTES, BASE_HEX, NULL, 0,
18138         "ansi_map.Vertical_Velocity", HFILL }},
18139     { &hf_ansi_map_sCFOverloadGapInterval,
18140       { "sCFOverloadGapInterval", "ansi_map.sCFOverloadGapInterval",
18141         FT_UINT32, BASE_DEC, VALS(ansi_map_SCFOverloadGapInterval_vals), 0,
18142         "ansi_map.SCFOverloadGapInterval", HFILL }},
18143     { &hf_ansi_map_serviceManagementSystemGapInterval,
18144       { "serviceManagementSystemGapInterval", "ansi_map.serviceManagementSystemGapInterval",
18145         FT_UINT32, BASE_DEC, VALS(ansi_map_ServiceManagementSystemGapInterval_vals), 0,
18146         "ansi_map.ServiceManagementSystemGapInterval", HFILL }},
18147     { &hf_ansi_map_CDMAPSMMList_item,
18148       { "Item", "ansi_map.CDMAPSMMList_item",
18149         FT_NONE, BASE_NONE, NULL, 0,
18150         "ansi_map.CDMAPSMMList_item", HFILL }},
18151     { &hf_ansi_map_cdmaTargetMAHOList2,
18152       { "cdmaTargetMAHOList2", "ansi_map.cdmaTargetMAHOList2",
18153         FT_UINT32, BASE_DEC, NULL, 0,
18154         "ansi_map.CDMATargetMAHOList", HFILL }},
18155     { &hf_ansi_map_mpcAddress2,
18156       { "mpcAddress2", "ansi_map.mpcAddress2",
18157         FT_BYTES, BASE_HEX, NULL, 0,
18158         "ansi_map.MPCAddress", HFILL }},
18159     { &hf_ansi_map_mobileStationIMSI,
18160       { "mobileStationIMSI", "ansi_map.mobileStationIMSI",
18161         FT_BYTES, BASE_HEX, NULL, 0,
18162         "ansi_map.MobileStationIMSI", HFILL }},
18163     { &hf_ansi_map_handoffMeasurementRequest,
18164       { "handoffMeasurementRequest", "ansi_map.handoffMeasurementRequest",
18165         FT_NONE, BASE_NONE, NULL, 0,
18166         "ansi_map.HandoffMeasurementRequest", HFILL }},
18167     { &hf_ansi_map_facilitiesDirective,
18168       { "facilitiesDirective", "ansi_map.facilitiesDirective",
18169         FT_NONE, BASE_NONE, NULL, 0,
18170         "ansi_map.FacilitiesDirective", HFILL }},
18171     { &hf_ansi_map_handoffBack,
18172       { "handoffBack", "ansi_map.handoffBack",
18173         FT_NONE, BASE_NONE, NULL, 0,
18174         "ansi_map.HandoffBack", HFILL }},
18175     { &hf_ansi_map_facilitiesRelease,
18176       { "facilitiesRelease", "ansi_map.facilitiesRelease",
18177         FT_NONE, BASE_NONE, NULL, 0,
18178         "ansi_map.FacilitiesRelease", HFILL }},
18179     { &hf_ansi_map_qualificationRequest,
18180       { "qualificationRequest", "ansi_map.qualificationRequest",
18181         FT_NONE, BASE_NONE, NULL, 0,
18182         "ansi_map.QualificationRequest", HFILL }},
18183     { &hf_ansi_map_qualificationDirective,
18184       { "qualificationDirective", "ansi_map.qualificationDirective",
18185         FT_NONE, BASE_NONE, NULL, 0,
18186         "ansi_map.QualificationDirective", HFILL }},
18187     { &hf_ansi_map_blocking,
18188       { "blocking", "ansi_map.blocking",
18189         FT_NONE, BASE_NONE, NULL, 0,
18190         "ansi_map.Blocking", HFILL }},
18191     { &hf_ansi_map_unblocking,
18192       { "unblocking", "ansi_map.unblocking",
18193         FT_NONE, BASE_NONE, NULL, 0,
18194         "ansi_map.Unblocking", HFILL }},
18195     { &hf_ansi_map_resetCircuit,
18196       { "resetCircuit", "ansi_map.resetCircuit",
18197         FT_NONE, BASE_NONE, NULL, 0,
18198         "ansi_map.ResetCircuit", HFILL }},
18199     { &hf_ansi_map_trunkTest,
18200       { "trunkTest", "ansi_map.trunkTest",
18201         FT_NONE, BASE_NONE, NULL, 0,
18202         "ansi_map.TrunkTest", HFILL }},
18203     { &hf_ansi_map_trunkTestDisconnect,
18204       { "trunkTestDisconnect", "ansi_map.trunkTestDisconnect",
18205         FT_NONE, BASE_NONE, NULL, 0,
18206         "ansi_map.TrunkTestDisconnect", HFILL }},
18207     { &hf_ansi_map_registrationNotification,
18208       { "registrationNotification", "ansi_map.registrationNotification",
18209         FT_NONE, BASE_NONE, NULL, 0,
18210         "ansi_map.RegistrationNotification", HFILL }},
18211     { &hf_ansi_map_registrationCancellation,
18212       { "registrationCancellation", "ansi_map.registrationCancellation",
18213         FT_NONE, BASE_NONE, NULL, 0,
18214         "ansi_map.RegistrationCancellation", HFILL }},
18215     { &hf_ansi_map_locationRequest,
18216       { "locationRequest", "ansi_map.locationRequest",
18217         FT_NONE, BASE_NONE, NULL, 0,
18218         "ansi_map.LocationRequest", HFILL }},
18219     { &hf_ansi_map_routingRequest,
18220       { "routingRequest", "ansi_map.routingRequest",
18221         FT_NONE, BASE_NONE, NULL, 0,
18222         "ansi_map.RoutingRequest", HFILL }},
18223     { &hf_ansi_map_featureRequest,
18224       { "featureRequest", "ansi_map.featureRequest",
18225         FT_NONE, BASE_NONE, NULL, 0,
18226         "ansi_map.FeatureRequest", HFILL }},
18227     { &hf_ansi_map_unreliableRoamerDataDirective,
18228       { "unreliableRoamerDataDirective", "ansi_map.unreliableRoamerDataDirective",
18229         FT_NONE, BASE_NONE, NULL, 0,
18230         "ansi_map.UnreliableRoamerDataDirective", HFILL }},
18231     { &hf_ansi_map_mSInactive,
18232       { "mSInactive", "ansi_map.mSInactive",
18233         FT_NONE, BASE_NONE, NULL, 0,
18234         "ansi_map.MSInactive", HFILL }},
18235     { &hf_ansi_map_transferToNumberRequest,
18236       { "transferToNumberRequest", "ansi_map.transferToNumberRequest",
18237         FT_NONE, BASE_NONE, NULL, 0,
18238         "ansi_map.TransferToNumberRequest", HFILL }},
18239     { &hf_ansi_map_redirectionRequest,
18240       { "redirectionRequest", "ansi_map.redirectionRequest",
18241         FT_NONE, BASE_NONE, NULL, 0,
18242         "ansi_map.RedirectionRequest", HFILL }},
18243     { &hf_ansi_map_handoffToThird,
18244       { "handoffToThird", "ansi_map.handoffToThird",
18245         FT_NONE, BASE_NONE, NULL, 0,
18246         "ansi_map.HandoffToThird", HFILL }},
18247     { &hf_ansi_map_flashRequest,
18248       { "flashRequest", "ansi_map.flashRequest",
18249         FT_NONE, BASE_NONE, NULL, 0,
18250         "ansi_map.FlashRequest", HFILL }},
18251     { &hf_ansi_map_authenticationDirective,
18252       { "authenticationDirective", "ansi_map.authenticationDirective",
18253         FT_NONE, BASE_NONE, NULL, 0,
18254         "ansi_map.AuthenticationDirective", HFILL }},
18255     { &hf_ansi_map_authenticationRequest,
18256       { "authenticationRequest", "ansi_map.authenticationRequest",
18257         FT_NONE, BASE_NONE, NULL, 0,
18258         "ansi_map.AuthenticationRequest", HFILL }},
18259     { &hf_ansi_map_baseStationChallenge,
18260       { "baseStationChallenge", "ansi_map.baseStationChallenge",
18261         FT_NONE, BASE_NONE, NULL, 0,
18262         "ansi_map.BaseStationChallenge", HFILL }},
18263     { &hf_ansi_map_authenticationFailureReport,
18264       { "authenticationFailureReport", "ansi_map.authenticationFailureReport",
18265         FT_NONE, BASE_NONE, NULL, 0,
18266         "ansi_map.AuthenticationFailureReport", HFILL }},
18267     { &hf_ansi_map_countRequest,
18268       { "countRequest", "ansi_map.countRequest",
18269         FT_NONE, BASE_NONE, NULL, 0,
18270         "ansi_map.CountRequest", HFILL }},
18271     { &hf_ansi_map_interSystemPage,
18272       { "interSystemPage", "ansi_map.interSystemPage",
18273         FT_NONE, BASE_NONE, NULL, 0,
18274         "ansi_map.InterSystemPage", HFILL }},
18275     { &hf_ansi_map_unsolicitedResponse,
18276       { "unsolicitedResponse", "ansi_map.unsolicitedResponse",
18277         FT_NONE, BASE_NONE, NULL, 0,
18278         "ansi_map.UnsolicitedResponse", HFILL }},
18279     { &hf_ansi_map_bulkDeregistration,
18280       { "bulkDeregistration", "ansi_map.bulkDeregistration",
18281         FT_NONE, BASE_NONE, NULL, 0,
18282         "ansi_map.BulkDeregistration", HFILL }},
18283     { &hf_ansi_map_handoffMeasurementRequest2,
18284       { "handoffMeasurementRequest2", "ansi_map.handoffMeasurementRequest2",
18285         FT_NONE, BASE_NONE, NULL, 0,
18286         "ansi_map.HandoffMeasurementRequest2", HFILL }},
18287     { &hf_ansi_map_facilitiesDirective2,
18288       { "facilitiesDirective2", "ansi_map.facilitiesDirective2",
18289         FT_NONE, BASE_NONE, NULL, 0,
18290         "ansi_map.FacilitiesDirective2", HFILL }},
18291     { &hf_ansi_map_handoffBack2,
18292       { "handoffBack2", "ansi_map.handoffBack2",
18293         FT_NONE, BASE_NONE, NULL, 0,
18294         "ansi_map.HandoffBack2", HFILL }},
18295     { &hf_ansi_map_handoffToThird2,
18296       { "handoffToThird2", "ansi_map.handoffToThird2",
18297         FT_NONE, BASE_NONE, NULL, 0,
18298         "ansi_map.HandoffToThird2", HFILL }},
18299     { &hf_ansi_map_authenticationDirectiveForward,
18300       { "authenticationDirectiveForward", "ansi_map.authenticationDirectiveForward",
18301         FT_NONE, BASE_NONE, NULL, 0,
18302         "ansi_map.AuthenticationDirectiveForward", HFILL }},
18303     { &hf_ansi_map_authenticationStatusReport,
18304       { "authenticationStatusReport", "ansi_map.authenticationStatusReport",
18305         FT_NONE, BASE_NONE, NULL, 0,
18306         "ansi_map.AuthenticationStatusReport", HFILL }},
18307     { &hf_ansi_map_informationDirective,
18308       { "informationDirective", "ansi_map.informationDirective",
18309         FT_NONE, BASE_NONE, NULL, 0,
18310         "ansi_map.InformationDirective", HFILL }},
18311     { &hf_ansi_map_informationForward,
18312       { "informationForward", "ansi_map.informationForward",
18313         FT_NONE, BASE_NONE, NULL, 0,
18314         "ansi_map.InformationForward", HFILL }},
18315     { &hf_ansi_map_interSystemAnswer,
18316       { "interSystemAnswer", "ansi_map.interSystemAnswer",
18317         FT_NONE, BASE_NONE, NULL, 0,
18318         "ansi_map.InterSystemAnswer", HFILL }},
18319     { &hf_ansi_map_interSystemPage2,
18320       { "interSystemPage2", "ansi_map.interSystemPage2",
18321         FT_NONE, BASE_NONE, NULL, 0,
18322         "ansi_map.InterSystemPage2", HFILL }},
18323     { &hf_ansi_map_interSystemSetup,
18324       { "interSystemSetup", "ansi_map.interSystemSetup",
18325         FT_NONE, BASE_NONE, NULL, 0,
18326         "ansi_map.InterSystemSetup", HFILL }},
18327     { &hf_ansi_map_originationRequest,
18328       { "originationRequest", "ansi_map.originationRequest",
18329         FT_NONE, BASE_NONE, NULL, 0,
18330         "ansi_map.OriginationRequest", HFILL }},
18331     { &hf_ansi_map_randomVariableRequest,
18332       { "randomVariableRequest", "ansi_map.randomVariableRequest",
18333         FT_NONE, BASE_NONE, NULL, 0,
18334         "ansi_map.RandomVariableRequest", HFILL }},
18335     { &hf_ansi_map_redirectionDirective,
18336       { "redirectionDirective", "ansi_map.redirectionDirective",
18337         FT_NONE, BASE_NONE, NULL, 0,
18338         "ansi_map.RedirectionDirective", HFILL }},
18339     { &hf_ansi_map_remoteUserInteractionDirective,
18340       { "remoteUserInteractionDirective", "ansi_map.remoteUserInteractionDirective",
18341         FT_NONE, BASE_NONE, NULL, 0,
18342         "ansi_map.RemoteUserInteractionDirective", HFILL }},
18343     { &hf_ansi_map_sMSDeliveryBackward,
18344       { "sMSDeliveryBackward", "ansi_map.sMSDeliveryBackward",
18345         FT_NONE, BASE_NONE, NULL, 0,
18346         "ansi_map.SMSDeliveryBackward", HFILL }},
18347     { &hf_ansi_map_sMSDeliveryForward,
18348       { "sMSDeliveryForward", "ansi_map.sMSDeliveryForward",
18349         FT_NONE, BASE_NONE, NULL, 0,
18350         "ansi_map.SMSDeliveryForward", HFILL }},
18351     { &hf_ansi_map_sMSDeliveryPointToPoint,
18352       { "sMSDeliveryPointToPoint", "ansi_map.sMSDeliveryPointToPoint",
18353         FT_NONE, BASE_NONE, NULL, 0,
18354         "ansi_map.SMSDeliveryPointToPoint", HFILL }},
18355     { &hf_ansi_map_sMSNotification,
18356       { "sMSNotification", "ansi_map.sMSNotification",
18357         FT_NONE, BASE_NONE, NULL, 0,
18358         "ansi_map.SMSNotification", HFILL }},
18359     { &hf_ansi_map_sMSRequest,
18360       { "sMSRequest", "ansi_map.sMSRequest",
18361         FT_NONE, BASE_NONE, NULL, 0,
18362         "ansi_map.SMSRequest", HFILL }},
18363     { &hf_ansi_map_oTASPRequest,
18364       { "oTASPRequest", "ansi_map.oTASPRequest",
18365         FT_NONE, BASE_NONE, NULL, 0,
18366         "ansi_map.OTASPRequest", HFILL }},
18367     { &hf_ansi_map_changeFacilities,
18368       { "changeFacilities", "ansi_map.changeFacilities",
18369         FT_NONE, BASE_NONE, NULL, 0,
18370         "ansi_map.ChangeFacilities", HFILL }},
18371     { &hf_ansi_map_changeService,
18372       { "changeService", "ansi_map.changeService",
18373         FT_NONE, BASE_NONE, NULL, 0,
18374         "ansi_map.ChangeService", HFILL }},
18375     { &hf_ansi_map_parameterRequest,
18376       { "parameterRequest", "ansi_map.parameterRequest",
18377         FT_NONE, BASE_NONE, NULL, 0,
18378         "ansi_map.ParameterRequest", HFILL }},
18379     { &hf_ansi_map_tMSIDirective,
18380       { "tMSIDirective", "ansi_map.tMSIDirective",
18381         FT_NONE, BASE_NONE, NULL, 0,
18382         "ansi_map.TMSIDirective", HFILL }},
18383     { &hf_ansi_map_numberPortabilityRequest,
18384       { "numberPortabilityRequest", "ansi_map.numberPortabilityRequest",
18385         FT_NONE, BASE_NONE, NULL, 0,
18386         "ansi_map.NumberPortabilityRequest", HFILL }},
18387     { &hf_ansi_map_serviceRequest,
18388       { "serviceRequest", "ansi_map.serviceRequest",
18389         FT_NONE, BASE_NONE, NULL, 0,
18390         "ansi_map.ServiceRequest", HFILL }},
18391     { &hf_ansi_map_analyzedInformation,
18392       { "analyzedInformation", "ansi_map.analyzedInformation",
18393         FT_NONE, BASE_NONE, NULL, 0,
18394         "ansi_map.AnalyzedInformation", HFILL }},
18395     { &hf_ansi_map_connectionFailureReport,
18396       { "connectionFailureReport", "ansi_map.connectionFailureReport",
18397         FT_NONE, BASE_NONE, NULL, 0,
18398         "ansi_map.ConnectionFailureReport", HFILL }},
18399     { &hf_ansi_map_connectResource,
18400       { "connectResource", "ansi_map.connectResource",
18401         FT_NONE, BASE_NONE, NULL, 0,
18402         "ansi_map.ConnectResource", HFILL }},
18403     { &hf_ansi_map_facilitySelectedAndAvailable,
18404       { "facilitySelectedAndAvailable", "ansi_map.facilitySelectedAndAvailable",
18405         FT_NONE, BASE_NONE, NULL, 0,
18406         "ansi_map.FacilitySelectedAndAvailable", HFILL }},
18407     { &hf_ansi_map_modify,
18408       { "modify", "ansi_map.modify",
18409         FT_NONE, BASE_NONE, NULL, 0,
18410         "ansi_map.Modify", HFILL }},
18411     { &hf_ansi_map_search,
18412       { "search", "ansi_map.search",
18413         FT_NONE, BASE_NONE, NULL, 0,
18414         "ansi_map.Search", HFILL }},
18415     { &hf_ansi_map_seizeResource,
18416       { "seizeResource", "ansi_map.seizeResource",
18417         FT_NONE, BASE_NONE, NULL, 0,
18418         "ansi_map.SeizeResource", HFILL }},
18419     { &hf_ansi_map_sRFDirective,
18420       { "sRFDirective", "ansi_map.sRFDirective",
18421         FT_NONE, BASE_NONE, NULL, 0,
18422         "ansi_map.SRFDirective", HFILL }},
18423     { &hf_ansi_map_tBusy,
18424       { "tBusy", "ansi_map.tBusy",
18425         FT_NONE, BASE_NONE, NULL, 0,
18426         "ansi_map.TBusy", HFILL }},
18427     { &hf_ansi_map_tNoAnswer,
18428       { "tNoAnswer", "ansi_map.tNoAnswer",
18429         FT_NONE, BASE_NONE, NULL, 0,
18430         "ansi_map.TNoAnswer", HFILL }},
18431     { &hf_ansi_map_messageDirective,
18432       { "messageDirective", "ansi_map.messageDirective",
18433         FT_NONE, BASE_NONE, NULL, 0,
18434         "ansi_map.MessageDirective", HFILL }},
18435     { &hf_ansi_map_bulkDisconnection,
18436       { "bulkDisconnection", "ansi_map.bulkDisconnection",
18437         FT_NONE, BASE_NONE, NULL, 0,
18438         "ansi_map.BulkDisconnection", HFILL }},
18439     { &hf_ansi_map_callControlDirective,
18440       { "callControlDirective", "ansi_map.callControlDirective",
18441         FT_NONE, BASE_NONE, NULL, 0,
18442         "ansi_map.CallControlDirective", HFILL }},
18443     { &hf_ansi_map_oAnswer,
18444       { "oAnswer", "ansi_map.oAnswer",
18445         FT_NONE, BASE_NONE, NULL, 0,
18446         "ansi_map.OAnswer", HFILL }},
18447     { &hf_ansi_map_oDisconnect,
18448       { "oDisconnect", "ansi_map.oDisconnect",
18449         FT_NONE, BASE_NONE, NULL, 0,
18450         "ansi_map.ODisconnect", HFILL }},
18451     { &hf_ansi_map_callRecoveryReport,
18452       { "callRecoveryReport", "ansi_map.callRecoveryReport",
18453         FT_NONE, BASE_NONE, NULL, 0,
18454         "ansi_map.CallRecoveryReport", HFILL }},
18455     { &hf_ansi_map_tAnswer,
18456       { "tAnswer", "ansi_map.tAnswer",
18457         FT_NONE, BASE_NONE, NULL, 0,
18458         "ansi_map.TAnswer", HFILL }},
18459     { &hf_ansi_map_tDisconnect,
18460       { "tDisconnect", "ansi_map.tDisconnect",
18461         FT_NONE, BASE_NONE, NULL, 0,
18462         "ansi_map.TDisconnect", HFILL }},
18463     { &hf_ansi_map_unreliableCallData,
18464       { "unreliableCallData", "ansi_map.unreliableCallData",
18465         FT_NONE, BASE_NONE, NULL, 0,
18466         "ansi_map.UnreliableCallData", HFILL }},
18467     { &hf_ansi_map_oCalledPartyBusy,
18468       { "oCalledPartyBusy", "ansi_map.oCalledPartyBusy",
18469         FT_NONE, BASE_NONE, NULL, 0,
18470         "ansi_map.OCalledPartyBusy", HFILL }},
18471     { &hf_ansi_map_oNoAnswer,
18472       { "oNoAnswer", "ansi_map.oNoAnswer",
18473         FT_NONE, BASE_NONE, NULL, 0,
18474         "ansi_map.ONoAnswer", HFILL }},
18475     { &hf_ansi_map_positionRequest,
18476       { "positionRequest", "ansi_map.positionRequest",
18477         FT_NONE, BASE_NONE, NULL, 0,
18478         "ansi_map.PositionRequest", HFILL }},
18479     { &hf_ansi_map_positionRequestForward,
18480       { "positionRequestForward", "ansi_map.positionRequestForward",
18481         FT_NONE, BASE_NONE, NULL, 0,
18482         "ansi_map.PositionRequestForward", HFILL }},
18483     { &hf_ansi_map_callTerminationReport,
18484       { "callTerminationReport", "ansi_map.callTerminationReport",
18485         FT_NONE, BASE_NONE, NULL, 0,
18486         "ansi_map.CallTerminationReport", HFILL }},
18487     { &hf_ansi_map_geoPositionRequest,
18488       { "geoPositionRequest", "ansi_map.geoPositionRequest",
18489         FT_NONE, BASE_NONE, NULL, 0,
18490         "ansi_map.GeoPositionRequest", HFILL }},
18491     { &hf_ansi_map_interSystemPositionRequest,
18492       { "interSystemPositionRequest", "ansi_map.interSystemPositionRequest",
18493         FT_NONE, BASE_NONE, NULL, 0,
18494         "ansi_map.InterSystemPositionRequest", HFILL }},
18495     { &hf_ansi_map_interSystemPositionRequestForward,
18496       { "interSystemPositionRequestForward", "ansi_map.interSystemPositionRequestForward",
18497         FT_NONE, BASE_NONE, NULL, 0,
18498         "ansi_map.InterSystemPositionRequestForward", HFILL }},
18499     { &hf_ansi_map_aCGDirective,
18500       { "aCGDirective", "ansi_map.aCGDirective",
18501         FT_NONE, BASE_NONE, NULL, 0,
18502         "ansi_map.ACGDirective", HFILL }},
18503     { &hf_ansi_map_roamerDatabaseVerificationRequest,
18504       { "roamerDatabaseVerificationRequest", "ansi_map.roamerDatabaseVerificationRequest",
18505         FT_NONE, BASE_NONE, NULL, 0,
18506         "ansi_map.RoamerDatabaseVerificationRequest", HFILL }},
18507     { &hf_ansi_map_addService,
18508       { "addService", "ansi_map.addService",
18509         FT_NONE, BASE_NONE, NULL, 0,
18510         "ansi_map.AddService", HFILL }},
18511     { &hf_ansi_map_dropService,
18512       { "dropService", "ansi_map.dropService",
18513         FT_NONE, BASE_NONE, NULL, 0,
18514         "ansi_map.DropService", HFILL }},
18515     { &hf_ansi_map_lcsParameterRequest,
18516       { "lcsParameterRequest", "ansi_map.lcsParameterRequest",
18517         FT_NONE, BASE_NONE, NULL, 0,
18518         "ansi_map.LCSParameterRequest", HFILL }},
18519     { &hf_ansi_map_checkMEID,
18520       { "checkMEID", "ansi_map.checkMEID",
18521         FT_NONE, BASE_NONE, NULL, 0,
18522         "ansi_map.CheckMEID", HFILL }},
18523     { &hf_ansi_map_positionEventNotification,
18524       { "positionEventNotification", "ansi_map.positionEventNotification",
18525         FT_NONE, BASE_NONE, NULL, 0,
18526         "ansi_map.PositionEventNotification", HFILL }},
18527     { &hf_ansi_map_statusRequest,
18528       { "statusRequest", "ansi_map.statusRequest",
18529         FT_NONE, BASE_NONE, NULL, 0,
18530         "ansi_map.StatusRequest", HFILL }},
18531     { &hf_ansi_map_handoffMeasurementRequestRes,
18532       { "handoffMeasurementRequestRes", "ansi_map.handoffMeasurementRequestRes",
18533         FT_NONE, BASE_NONE, NULL, 0,
18534         "ansi_map.HandoffMeasurementRequestRes", HFILL }},
18535     { &hf_ansi_map_facilitiesDirectiveRes,
18536       { "facilitiesDirectiveRes", "ansi_map.facilitiesDirectiveRes",
18537         FT_NONE, BASE_NONE, NULL, 0,
18538         "ansi_map.FacilitiesDirectiveRes", HFILL }},
18539     { &hf_ansi_map_handoffBackRes,
18540       { "handoffBackRes", "ansi_map.handoffBackRes",
18541         FT_NONE, BASE_NONE, NULL, 0,
18542         "ansi_map.HandoffBackRes", HFILL }},
18543     { &hf_ansi_map_facilitiesReleaseRes,
18544       { "facilitiesReleaseRes", "ansi_map.facilitiesReleaseRes",
18545         FT_NONE, BASE_NONE, NULL, 0,
18546         "ansi_map.FacilitiesReleaseRes", HFILL }},
18547     { &hf_ansi_map_qualificationRequestRes,
18548       { "qualificationRequestRes", "ansi_map.qualificationRequestRes",
18549         FT_NONE, BASE_NONE, NULL, 0,
18550         "ansi_map.QualificationRequestRes", HFILL }},
18551     { &hf_ansi_map_resetCircuitRes,
18552       { "resetCircuitRes", "ansi_map.resetCircuitRes",
18553         FT_NONE, BASE_NONE, NULL, 0,
18554         "ansi_map.ResetCircuitRes", HFILL }},
18555     { &hf_ansi_map_registrationNotificationRes,
18556       { "registrationNotificationRes", "ansi_map.registrationNotificationRes",
18557         FT_NONE, BASE_NONE, NULL, 0,
18558         "ansi_map.RegistrationNotificationRes", HFILL }},
18559     { &hf_ansi_map_registrationCancellationRes,
18560       { "registrationCancellationRes", "ansi_map.registrationCancellationRes",
18561         FT_NONE, BASE_NONE, NULL, 0,
18562         "ansi_map.RegistrationCancellationRes", HFILL }},
18563     { &hf_ansi_map_locationRequestRes,
18564       { "locationRequestRes", "ansi_map.locationRequestRes",
18565         FT_NONE, BASE_NONE, NULL, 0,
18566         "ansi_map.LocationRequestRes", HFILL }},
18567     { &hf_ansi_map_routingRequestRes,
18568       { "routingRequestRes", "ansi_map.routingRequestRes",
18569         FT_NONE, BASE_NONE, NULL, 0,
18570         "ansi_map.RoutingRequestRes", HFILL }},
18571     { &hf_ansi_map_featureRequestRes,
18572       { "featureRequestRes", "ansi_map.featureRequestRes",
18573         FT_NONE, BASE_NONE, NULL, 0,
18574         "ansi_map.FeatureRequestRes", HFILL }},
18575     { &hf_ansi_map_transferToNumberRequestRes,
18576       { "transferToNumberRequestRes", "ansi_map.transferToNumberRequestRes",
18577         FT_NONE, BASE_NONE, NULL, 0,
18578         "ansi_map.TransferToNumberRequestRes", HFILL }},
18579     { &hf_ansi_map_handoffToThirdRes,
18580       { "handoffToThirdRes", "ansi_map.handoffToThirdRes",
18581         FT_NONE, BASE_NONE, NULL, 0,
18582         "ansi_map.HandoffToThirdRes", HFILL }},
18583     { &hf_ansi_map_authenticationDirectiveRes,
18584       { "authenticationDirectiveRes", "ansi_map.authenticationDirectiveRes",
18585         FT_NONE, BASE_NONE, NULL, 0,
18586         "ansi_map.AuthenticationDirectiveRes", HFILL }},
18587     { &hf_ansi_map_authenticationRequestRes,
18588       { "authenticationRequestRes", "ansi_map.authenticationRequestRes",
18589         FT_NONE, BASE_NONE, NULL, 0,
18590         "ansi_map.AuthenticationRequestRes", HFILL }},
18591     { &hf_ansi_map_baseStationChallengeRes,
18592       { "baseStationChallengeRes", "ansi_map.baseStationChallengeRes",
18593         FT_NONE, BASE_NONE, NULL, 0,
18594         "ansi_map.BaseStationChallengeRes", HFILL }},
18595     { &hf_ansi_map_authenticationFailureReportRes,
18596       { "authenticationFailureReportRes", "ansi_map.authenticationFailureReportRes",
18597         FT_NONE, BASE_NONE, NULL, 0,
18598         "ansi_map.AuthenticationFailureReportRes", HFILL }},
18599     { &hf_ansi_map_countRequestRes,
18600       { "countRequestRes", "ansi_map.countRequestRes",
18601         FT_NONE, BASE_NONE, NULL, 0,
18602         "ansi_map.CountRequestRes", HFILL }},
18603     { &hf_ansi_map_interSystemPageRes,
18604       { "interSystemPageRes", "ansi_map.interSystemPageRes",
18605         FT_NONE, BASE_NONE, NULL, 0,
18606         "ansi_map.InterSystemPageRes", HFILL }},
18607     { &hf_ansi_map_unsolicitedResponseRes,
18608       { "unsolicitedResponseRes", "ansi_map.unsolicitedResponseRes",
18609         FT_NONE, BASE_NONE, NULL, 0,
18610         "ansi_map.UnsolicitedResponseRes", HFILL }},
18611     { &hf_ansi_map_handoffMeasurementRequest2Res,
18612       { "handoffMeasurementRequest2Res", "ansi_map.handoffMeasurementRequest2Res",
18613         FT_NONE, BASE_NONE, NULL, 0,
18614         "ansi_map.HandoffMeasurementRequest2Res", HFILL }},
18615     { &hf_ansi_map_facilitiesDirective2Res,
18616       { "facilitiesDirective2Res", "ansi_map.facilitiesDirective2Res",
18617         FT_NONE, BASE_NONE, NULL, 0,
18618         "ansi_map.FacilitiesDirective2Res", HFILL }},
18619     { &hf_ansi_map_handoffBack2Res,
18620       { "handoffBack2Res", "ansi_map.handoffBack2Res",
18621         FT_NONE, BASE_NONE, NULL, 0,
18622         "ansi_map.HandoffBack2Res", HFILL }},
18623     { &hf_ansi_map_handoffToThird2Res,
18624       { "handoffToThird2Res", "ansi_map.handoffToThird2Res",
18625         FT_NONE, BASE_NONE, NULL, 0,
18626         "ansi_map.HandoffToThird2Res", HFILL }},
18627     { &hf_ansi_map_authenticationDirectiveForwardRes,
18628       { "authenticationDirectiveForwardRes", "ansi_map.authenticationDirectiveForwardRes",
18629         FT_NONE, BASE_NONE, NULL, 0,
18630         "ansi_map.AuthenticationDirectiveForwardRes", HFILL }},
18631     { &hf_ansi_map_authenticationStatusReportRes,
18632       { "authenticationStatusReportRes", "ansi_map.authenticationStatusReportRes",
18633         FT_NONE, BASE_NONE, NULL, 0,
18634         "ansi_map.AuthenticationStatusReportRes", HFILL }},
18635     { &hf_ansi_map_informationDirectiveRes,
18636       { "informationDirectiveRes", "ansi_map.informationDirectiveRes",
18637         FT_NONE, BASE_NONE, NULL, 0,
18638         "ansi_map.InformationDirectiveRes", HFILL }},
18639     { &hf_ansi_map_informationForwardRes,
18640       { "informationForwardRes", "ansi_map.informationForwardRes",
18641         FT_NONE, BASE_NONE, NULL, 0,
18642         "ansi_map.InformationForwardRes", HFILL }},
18643     { &hf_ansi_map_interSystemPage2Res,
18644       { "interSystemPage2Res", "ansi_map.interSystemPage2Res",
18645         FT_NONE, BASE_NONE, NULL, 0,
18646         "ansi_map.InterSystemPage2Res", HFILL }},
18647     { &hf_ansi_map_interSystemSetupRes,
18648       { "interSystemSetupRes", "ansi_map.interSystemSetupRes",
18649         FT_NONE, BASE_NONE, NULL, 0,
18650         "ansi_map.InterSystemSetupRes", HFILL }},
18651     { &hf_ansi_map_originationRequestRes,
18652       { "originationRequestRes", "ansi_map.originationRequestRes",
18653         FT_NONE, BASE_NONE, NULL, 0,
18654         "ansi_map.OriginationRequestRes", HFILL }},
18655     { &hf_ansi_map_randomVariableRequestRes,
18656       { "randomVariableRequestRes", "ansi_map.randomVariableRequestRes",
18657         FT_NONE, BASE_NONE, NULL, 0,
18658         "ansi_map.RandomVariableRequestRes", HFILL }},
18659     { &hf_ansi_map_remoteUserInteractionDirectiveRes,
18660       { "remoteUserInteractionDirectiveRes", "ansi_map.remoteUserInteractionDirectiveRes",
18661         FT_NONE, BASE_NONE, NULL, 0,
18662         "ansi_map.RemoteUserInteractionDirectiveRes", HFILL }},
18663     { &hf_ansi_map_sMSDeliveryBackwardRes,
18664       { "sMSDeliveryBackwardRes", "ansi_map.sMSDeliveryBackwardRes",
18665         FT_NONE, BASE_NONE, NULL, 0,
18666         "ansi_map.SMSDeliveryBackwardRes", HFILL }},
18667     { &hf_ansi_map_sMSDeliveryForwardRes,
18668       { "sMSDeliveryForwardRes", "ansi_map.sMSDeliveryForwardRes",
18669         FT_NONE, BASE_NONE, NULL, 0,
18670         "ansi_map.SMSDeliveryForwardRes", HFILL }},
18671     { &hf_ansi_map_sMSDeliveryPointToPointRes,
18672       { "sMSDeliveryPointToPointRes", "ansi_map.sMSDeliveryPointToPointRes",
18673         FT_NONE, BASE_NONE, NULL, 0,
18674         "ansi_map.SMSDeliveryPointToPointRes", HFILL }},
18675     { &hf_ansi_map_sMSNotificationRes,
18676       { "sMSNotificationRes", "ansi_map.sMSNotificationRes",
18677         FT_NONE, BASE_NONE, NULL, 0,
18678         "ansi_map.SMSNotificationRes", HFILL }},
18679     { &hf_ansi_map_sMSRequestRes,
18680       { "sMSRequestRes", "ansi_map.sMSRequestRes",
18681         FT_NONE, BASE_NONE, NULL, 0,
18682         "ansi_map.SMSRequestRes", HFILL }},
18683     { &hf_ansi_map_oTASPRequestRes,
18684       { "oTASPRequestRes", "ansi_map.oTASPRequestRes",
18685         FT_NONE, BASE_NONE, NULL, 0,
18686         "ansi_map.OTASPRequestRes", HFILL }},
18687     { &hf_ansi_map_changeFacilitiesRes,
18688       { "changeFacilitiesRes", "ansi_map.changeFacilitiesRes",
18689         FT_NONE, BASE_NONE, NULL, 0,
18690         "ansi_map.ChangeFacilitiesRes", HFILL }},
18691     { &hf_ansi_map_changeServiceRes,
18692       { "changeServiceRes", "ansi_map.changeServiceRes",
18693         FT_NONE, BASE_NONE, NULL, 0,
18694         "ansi_map.ChangeServiceRes", HFILL }},
18695     { &hf_ansi_map_parameterRequestRes,
18696       { "parameterRequestRes", "ansi_map.parameterRequestRes",
18697         FT_NONE, BASE_NONE, NULL, 0,
18698         "ansi_map.ParameterRequestRes", HFILL }},
18699     { &hf_ansi_map_tMSIDirectiveRes,
18700       { "tMSIDirectiveRes", "ansi_map.tMSIDirectiveRes",
18701         FT_NONE, BASE_NONE, NULL, 0,
18702         "ansi_map.TMSIDirectiveRes", HFILL }},
18703     { &hf_ansi_map_serviceRequestRes,
18704       { "serviceRequestRes", "ansi_map.serviceRequestRes",
18705         FT_NONE, BASE_NONE, NULL, 0,
18706         "ansi_map.ServiceRequestRes", HFILL }},
18707     { &hf_ansi_map_analyzedInformationRes,
18708       { "analyzedInformationRes", "ansi_map.analyzedInformationRes",
18709         FT_NONE, BASE_NONE, NULL, 0,
18710         "ansi_map.AnalyzedInformationRes", HFILL }},
18711     { &hf_ansi_map_facilitySelectedAndAvailableRes,
18712       { "facilitySelectedAndAvailableRes", "ansi_map.facilitySelectedAndAvailableRes",
18713         FT_NONE, BASE_NONE, NULL, 0,
18714         "ansi_map.FacilitySelectedAndAvailableRes", HFILL }},
18715     { &hf_ansi_map_modifyRes,
18716       { "modifyRes", "ansi_map.modifyRes",
18717         FT_NONE, BASE_NONE, NULL, 0,
18718         "ansi_map.ModifyRes", HFILL }},
18719     { &hf_ansi_map_searchRes,
18720       { "searchRes", "ansi_map.searchRes",
18721         FT_NONE, BASE_NONE, NULL, 0,
18722         "ansi_map.SearchRes", HFILL }},
18723     { &hf_ansi_map_seizeResourceRes,
18724       { "seizeResourceRes", "ansi_map.seizeResourceRes",
18725         FT_NONE, BASE_NONE, NULL, 0,
18726         "ansi_map.SeizeResourceRes", HFILL }},
18727     { &hf_ansi_map_sRFDirectiveRes,
18728       { "sRFDirectiveRes", "ansi_map.sRFDirectiveRes",
18729         FT_NONE, BASE_NONE, NULL, 0,
18730         "ansi_map.SRFDirectiveRes", HFILL }},
18731     { &hf_ansi_map_tBusyRes,
18732       { "tBusyRes", "ansi_map.tBusyRes",
18733         FT_NONE, BASE_NONE, NULL, 0,
18734         "ansi_map.TBusyRes", HFILL }},
18735     { &hf_ansi_map_tNoAnswerRes,
18736       { "tNoAnswerRes", "ansi_map.tNoAnswerRes",
18737         FT_NONE, BASE_NONE, NULL, 0,
18738         "ansi_map.TNoAnswerRes", HFILL }},
18739     { &hf_ansi_map_callControlDirectiveRes,
18740       { "callControlDirectiveRes", "ansi_map.callControlDirectiveRes",
18741         FT_NONE, BASE_NONE, NULL, 0,
18742         "ansi_map.CallControlDirectiveRes", HFILL }},
18743     { &hf_ansi_map_oDisconnectRes,
18744       { "oDisconnectRes", "ansi_map.oDisconnectRes",
18745         FT_NONE, BASE_NONE, NULL, 0,
18746         "ansi_map.ODisconnectRes", HFILL }},
18747     { &hf_ansi_map_tDisconnectRes,
18748       { "tDisconnectRes", "ansi_map.tDisconnectRes",
18749         FT_NONE, BASE_NONE, NULL, 0,
18750         "ansi_map.TDisconnectRes", HFILL }},
18751     { &hf_ansi_map_oCalledPartyBusyRes,
18752       { "oCalledPartyBusyRes", "ansi_map.oCalledPartyBusyRes",
18753         FT_NONE, BASE_NONE, NULL, 0,
18754         "ansi_map.OCalledPartyBusyRes", HFILL }},
18755     { &hf_ansi_map_oNoAnswerRes,
18756       { "oNoAnswerRes", "ansi_map.oNoAnswerRes",
18757         FT_NONE, BASE_NONE, NULL, 0,
18758         "ansi_map.ONoAnswerRes", HFILL }},
18759     { &hf_ansi_map_positionRequestRes,
18760       { "positionRequestRes", "ansi_map.positionRequestRes",
18761         FT_NONE, BASE_NONE, NULL, 0,
18762         "ansi_map.PositionRequestRes", HFILL }},
18763     { &hf_ansi_map_positionRequestForwardRes,
18764       { "positionRequestForwardRes", "ansi_map.positionRequestForwardRes",
18765         FT_NONE, BASE_NONE, NULL, 0,
18766         "ansi_map.PositionRequestForwardRes", HFILL }},
18767     { &hf_ansi_map_interSystemPositionRequestRes,
18768       { "interSystemPositionRequestRes", "ansi_map.interSystemPositionRequestRes",
18769         FT_NONE, BASE_NONE, NULL, 0,
18770         "ansi_map.InterSystemPositionRequestRes", HFILL }},
18771     { &hf_ansi_map_interSystemPositionRequestForwardRes,
18772       { "interSystemPositionRequestForwardRes", "ansi_map.interSystemPositionRequestForwardRes",
18773         FT_NONE, BASE_NONE, NULL, 0,
18774         "ansi_map.InterSystemPositionRequestForwardRes", HFILL }},
18775     { &hf_ansi_map_roamerDatabaseVerificationRequestRes,
18776       { "roamerDatabaseVerificationRequestRes", "ansi_map.roamerDatabaseVerificationRequestRes",
18777         FT_NONE, BASE_NONE, NULL, 0,
18778         "ansi_map.RoamerDatabaseVerificationRequestRes", HFILL }},
18779     { &hf_ansi_map_addServiceRes,
18780       { "addServiceRes", "ansi_map.addServiceRes",
18781         FT_NONE, BASE_NONE, NULL, 0,
18782         "ansi_map.AddServiceRes", HFILL }},
18783     { &hf_ansi_map_dropServiceRes,
18784       { "dropServiceRes", "ansi_map.dropServiceRes",
18785         FT_NONE, BASE_NONE, NULL, 0,
18786         "ansi_map.DropServiceRes", HFILL }},
18787     { &hf_ansi_map_lcsParameterRequestRes,
18788       { "lcsParameterRequestRes", "ansi_map.lcsParameterRequestRes",
18789         FT_NONE, BASE_NONE, NULL, 0,
18790         "ansi_map.LCSParameterRequestRes", HFILL }},
18791     { &hf_ansi_map_checkMEIDRes,
18792       { "checkMEIDRes", "ansi_map.checkMEIDRes",
18793         FT_NONE, BASE_NONE, NULL, 0,
18794         "ansi_map.CheckMEIDRes", HFILL }},
18795     { &hf_ansi_map_statusRequestRes,
18796       { "statusRequestRes", "ansi_map.statusRequestRes",
18797         FT_NONE, BASE_NONE, NULL, 0,
18798         "ansi_map.StatusRequestRes", HFILL }},
18799
18800 /*--- End of included file: packet-ansi_map-hfarr.c ---*/
18801 #line 5213 "packet-ansi_map-template.c"
18802   };
18803
18804   /* List of subtrees */
18805   static gint *ett[] = {
18806           &ett_ansi_map,
18807           &ett_mintype,
18808           &ett_digitstype,
18809           &ett_billingid,
18810           &ett_sms_bearer_data,
18811           &ett_sms_teleserviceIdentifier,
18812           &ett_extendedmscid,
18813           &ett_extendedsystemmytypecode,
18814           &ett_handoffstate,
18815           &ett_mscid,
18816           &ett_cdmachanneldata,
18817           &ett_cdmastationclassmark,
18818           &ett_channeldata,
18819           &ett_confidentialitymodes,
18820           &ett_controlchanneldata,
18821           &ett_CDMA2000HandoffInvokeIOSData,
18822           &ett_CDMA2000HandoffResponseIOSData,
18823           &ett_originationtriggers,
18824           &ett_pacaindicator,
18825           &ett_callingpartyname,
18826           &ett_triggercapability,
18827           &ett_winoperationscapability,
18828           &ett_win_trigger_list,
18829           &ett_controlnetworkid,
18830           &ett_transactioncapability,
18831           &ett_cdmaserviceoption,
18832           &ett_sms_originationrestrictions,
18833           &ett_systemcapabilities,
18834
18835 /*--- Included file: packet-ansi_map-ettarr.c ---*/
18836 #line 1 "packet-ansi_map-ettarr.c"
18837     &ett_ansi_map_AuthenticationDirective_U,
18838     &ett_ansi_map_AuthenticationDirectiveRes_U,
18839     &ett_ansi_map_AuthenticationDirectiveForward_U,
18840     &ett_ansi_map_AuthenticationDirectiveForwardRes_U,
18841     &ett_ansi_map_AuthenticationFailureReport_U,
18842     &ett_ansi_map_AuthenticationFailureReportRes_U,
18843     &ett_ansi_map_AuthenticationRequest_U,
18844     &ett_ansi_map_AuthenticationRequestRes_U,
18845     &ett_ansi_map_AuthenticationStatusReport_U,
18846     &ett_ansi_map_AuthenticationStatusReportRes_U,
18847     &ett_ansi_map_BaseStationChallenge_U,
18848     &ett_ansi_map_BaseStationChallengeRes_U,
18849     &ett_ansi_map_Blocking_U,
18850     &ett_ansi_map_BulkDeregistration_U,
18851     &ett_ansi_map_CountRequest_U,
18852     &ett_ansi_map_CountRequestRes_U,
18853     &ett_ansi_map_FacilitiesDirective_U,
18854     &ett_ansi_map_FacilitiesDirectiveRes_U,
18855     &ett_ansi_map_FacilitiesDirective2_U,
18856     &ett_ansi_map_FacilitiesDirective2Res_U,
18857     &ett_ansi_map_FacilitiesRelease_U,
18858     &ett_ansi_map_FacilitiesReleaseRes_U,
18859     &ett_ansi_map_FeatureRequest_U,
18860     &ett_ansi_map_FeatureRequestRes_U,
18861     &ett_ansi_map_FlashRequest_U,
18862     &ett_ansi_map_HandoffBack_U,
18863     &ett_ansi_map_HandoffBackRes_U,
18864     &ett_ansi_map_HandoffBack2_U,
18865     &ett_ansi_map_HandoffBack2Res_U,
18866     &ett_ansi_map_HandoffMeasurementRequest_U,
18867     &ett_ansi_map_HandoffMeasurementRequestRes_U,
18868     &ett_ansi_map_HandoffMeasurementRequest2_U,
18869     &ett_ansi_map_HandoffMeasurementRequest2Res_U,
18870     &ett_ansi_map_HandoffToThird_U,
18871     &ett_ansi_map_HandoffToThirdRes_U,
18872     &ett_ansi_map_HandoffToThird2_U,
18873     &ett_ansi_map_HandoffToThird2Res_U,
18874     &ett_ansi_map_InformationDirective_U,
18875     &ett_ansi_map_InformationDirectiveRes_U,
18876     &ett_ansi_map_InformationForward_U,
18877     &ett_ansi_map_InformationForwardRes_U,
18878     &ett_ansi_map_InterSystemAnswer_U,
18879     &ett_ansi_map_InterSystemPage_U,
18880     &ett_ansi_map_InterSystemPageRes_U,
18881     &ett_ansi_map_InterSystemPage2_U,
18882     &ett_ansi_map_InterSystemPage2Res_U,
18883     &ett_ansi_map_InterSystemSetup_U,
18884     &ett_ansi_map_InterSystemSetupRes_U,
18885     &ett_ansi_map_LocationRequest_U,
18886     &ett_ansi_map_LocationRequestRes_U,
18887     &ett_ansi_map_MSInactive_U,
18888     &ett_ansi_map_OriginationRequest_U,
18889     &ett_ansi_map_OriginationRequestRes_U,
18890     &ett_ansi_map_QualificationDirective_U,
18891     &ett_ansi_map_QualificationRequest_U,
18892     &ett_ansi_map_QualificationRequestRes_U,
18893     &ett_ansi_map_RandomVariableRequest_U,
18894     &ett_ansi_map_RandomVariableRequestRes_U,
18895     &ett_ansi_map_RedirectionDirective_U,
18896     &ett_ansi_map_RedirectionRequest_U,
18897     &ett_ansi_map_RegistrationCancellation_U,
18898     &ett_ansi_map_RegistrationCancellationRes_U,
18899     &ett_ansi_map_RegistrationNotification_U,
18900     &ett_ansi_map_RegistrationNotificationRes_U,
18901     &ett_ansi_map_RemoteUserInteractionDirective_U,
18902     &ett_ansi_map_RemoteUserInteractionDirectiveRes_U,
18903     &ett_ansi_map_ResetCircuit_U,
18904     &ett_ansi_map_ResetCircuitRes_U,
18905     &ett_ansi_map_RoutingRequest_U,
18906     &ett_ansi_map_RoutingRequestRes_U,
18907     &ett_ansi_map_SMSDeliveryBackward_U,
18908     &ett_ansi_map_SMSDeliveryBackwardRes_U,
18909     &ett_ansi_map_SMSDeliveryForward_U,
18910     &ett_ansi_map_SMSDeliveryForwardRes_U,
18911     &ett_ansi_map_SMSDeliveryPointToPoint_U,
18912     &ett_ansi_map_SMSDeliveryPointToPointRes_U,
18913     &ett_ansi_map_SMSNotification_U,
18914     &ett_ansi_map_SMSNotificationRes_U,
18915     &ett_ansi_map_SMSRequest_U,
18916     &ett_ansi_map_SMSRequestRes_U,
18917     &ett_ansi_map_TransferToNumberRequest_U,
18918     &ett_ansi_map_TransferToNumberRequestRes_U,
18919     &ett_ansi_map_TrunkTest_U,
18920     &ett_ansi_map_TrunkTestDisconnect_U,
18921     &ett_ansi_map_Unblocking_U,
18922     &ett_ansi_map_UnreliableRoamerDataDirective_U,
18923     &ett_ansi_map_UnsolicitedResponse_U,
18924     &ett_ansi_map_UnsolicitedResponseRes_U,
18925     &ett_ansi_map_ParameterRequest_U,
18926     &ett_ansi_map_ParameterRequestRes_U,
18927     &ett_ansi_map_TMSIDirective_U,
18928     &ett_ansi_map_TMSIDirectiveRes_U,
18929     &ett_ansi_map_NumberPortabilityRequest_U,
18930     &ett_ansi_map_ServiceRequest_U,
18931     &ett_ansi_map_ServiceRequestRes_U,
18932     &ett_ansi_map_AnalyzedInformation_U,
18933     &ett_ansi_map_AnalyzedInformationRes_U,
18934     &ett_ansi_map_ConnectionFailureReport_U,
18935     &ett_ansi_map_ConnectResource_U,
18936     &ett_ansi_map_FacilitySelectedAndAvailable_U,
18937     &ett_ansi_map_FacilitySelectedAndAvailableRes_U,
18938     &ett_ansi_map_Modify_U,
18939     &ett_ansi_map_ModifyRes_U,
18940     &ett_ansi_map_Search_U,
18941     &ett_ansi_map_SearchRes_U,
18942     &ett_ansi_map_SeizeResource_U,
18943     &ett_ansi_map_SeizeResourceRes_U,
18944     &ett_ansi_map_SRFDirective_U,
18945     &ett_ansi_map_SRFDirectiveRes_U,
18946     &ett_ansi_map_TBusy_U,
18947     &ett_ansi_map_TBusyRes_U,
18948     &ett_ansi_map_TNoAnswer_U,
18949     &ett_ansi_map_TNoAnswerRes_U,
18950     &ett_ansi_map_ChangeFacilities_U,
18951     &ett_ansi_map_ChangeFacilitiesRes_U,
18952     &ett_ansi_map_ChangeService_U,
18953     &ett_ansi_map_ChangeServiceRes_U,
18954     &ett_ansi_map_MessageDirective_U,
18955     &ett_ansi_map_BulkDisconnection_U,
18956     &ett_ansi_map_CallControlDirective_U,
18957     &ett_ansi_map_CallControlDirectiveRes_U,
18958     &ett_ansi_map_OAnswer_U,
18959     &ett_ansi_map_ODisconnect_U,
18960     &ett_ansi_map_ODisconnectRes_U,
18961     &ett_ansi_map_CallRecoveryReport_U,
18962     &ett_ansi_map_TAnswer_U,
18963     &ett_ansi_map_TDisconnect_U,
18964     &ett_ansi_map_TDisconnectRes_U,
18965     &ett_ansi_map_UnreliableCallData_U,
18966     &ett_ansi_map_OCalledPartyBusy_U,
18967     &ett_ansi_map_OCalledPartyBusyRes_U,
18968     &ett_ansi_map_ONoAnswer_U,
18969     &ett_ansi_map_ONoAnswerRes_U,
18970     &ett_ansi_map_PositionRequest_U,
18971     &ett_ansi_map_PositionRequestRes_U,
18972     &ett_ansi_map_PositionRequestForward_U,
18973     &ett_ansi_map_PositionRequestForwardRes_U,
18974     &ett_ansi_map_CallTerminationReport_U,
18975     &ett_ansi_map_GeoPositionRequest_U,
18976     &ett_ansi_map_InterSystemPositionRequest_U,
18977     &ett_ansi_map_InterSystemPositionRequestRes_U,
18978     &ett_ansi_map_InterSystemPositionRequestForward_U,
18979     &ett_ansi_map_InterSystemPositionRequestForwardRes_U,
18980     &ett_ansi_map_ACGDirective_U,
18981     &ett_ansi_map_RoamerDatabaseVerificationRequest_U,
18982     &ett_ansi_map_RoamerDatabaseVerificationRequestRes_U,
18983     &ett_ansi_map_LCSParameterRequest_U,
18984     &ett_ansi_map_LCSParameterRequestRes_U,
18985     &ett_ansi_map_CheckMEID_U,
18986     &ett_ansi_map_CheckMEIDRes_U,
18987     &ett_ansi_map_AddService_U,
18988     &ett_ansi_map_AddServiceRes_U,
18989     &ett_ansi_map_DropService_U,
18990     &ett_ansi_map_DropServiceRes_U,
18991     &ett_ansi_map_PositionEventNotification_U,
18992     &ett_ansi_map_OTASPRequest_U,
18993     &ett_ansi_map_OTASPRequestRes_U,
18994     &ett_ansi_map_StatusRequest_U,
18995     &ett_ansi_map_StatusRequestRes_U,
18996     &ett_ansi_map_AnnouncementList,
18997     &ett_ansi_map_CDMACodeChannelInformation,
18998     &ett_ansi_map_CDMACodeChannelList,
18999     &ett_ansi_map_CDMATargetMAHOInformation,
19000     &ett_ansi_map_CDMATargetMAHOList,
19001     &ett_ansi_map_CDMATargetMeasurementInformation,
19002     &ett_ansi_map_CDMATargetMeasurementList,
19003     &ett_ansi_map_IntersystemTermination,
19004     &ett_ansi_map_LocalTermination,
19005     &ett_ansi_map_PSTNTermination,
19006     &ett_ansi_map_TargetMeasurementInformation,
19007     &ett_ansi_map_TargetMeasurementList,
19008     &ett_ansi_map_TerminationList,
19009     &ett_ansi_map_TerminationList_item,
19010     &ett_ansi_map_CDMABandClassInformation,
19011     &ett_ansi_map_CDMABandClassList,
19012     &ett_ansi_map_CDMAServiceOptionList,
19013     &ett_ansi_map_PSID_RSIDList,
19014     &ett_ansi_map_TargetCellIDList,
19015     &ett_ansi_map_CDMAConnectionReferenceInformation,
19016     &ett_ansi_map_CDMAConnectionReferenceList,
19017     &ett_ansi_map_CDMAConnectionReferenceList_item,
19018     &ett_ansi_map_AnalogRedirectRecord,
19019     &ett_ansi_map_CDMAChannelNumberList,
19020     &ett_ansi_map_CDMAChannelNumberList_item,
19021     &ett_ansi_map_CDMARedirectRecord,
19022     &ett_ansi_map_MSID,
19023     &ett_ansi_map_DataAccessElement,
19024     &ett_ansi_map_DataAccessElementList,
19025     &ett_ansi_map_DataAccessElementList_item,
19026     &ett_ansi_map_DataUpdateResult,
19027     &ett_ansi_map_DataUpdateResultList,
19028     &ett_ansi_map_DestinationAddress,
19029     &ett_ansi_map_ExecuteScript,
19030     &ett_ansi_map_ModificationRequest,
19031     &ett_ansi_map_ModificationRequestList,
19032     &ett_ansi_map_ModificationResult,
19033     &ett_ansi_map_ModificationResultList,
19034     &ett_ansi_map_ServiceDataAccessElement,
19035     &ett_ansi_map_ServiceDataAccessElementList,
19036     &ett_ansi_map_ServiceDataResult,
19037     &ett_ansi_map_ServiceDataResultList,
19038     &ett_ansi_map_TriggerAddressList,
19039     &ett_ansi_map_TriggerList,
19040     &ett_ansi_map_WINCapability,
19041     &ett_ansi_map_CallRecoveryID,
19042     &ett_ansi_map_CallRecoveryIDList,
19043     &ett_ansi_map_PositionInformation,
19044     &ett_ansi_map_GapInterval,
19045     &ett_ansi_map_CDMAPSMMList,
19046     &ett_ansi_map_CDMAPSMMList_item,
19047     &ett_ansi_map_MPCAddressList,
19048     &ett_ansi_map_MobileStationMSID,
19049     &ett_ansi_map_NewlyAssignedMSID,
19050     &ett_ansi_map_InvokeData,
19051     &ett_ansi_map_ReturnData,
19052
19053 /*--- End of included file: packet-ansi_map-ettarr.c ---*/
19054 #line 5246 "packet-ansi_map-template.c"
19055   };
19056
19057
19058   /* Register protocol */
19059   proto_ansi_map = proto_register_protocol(PNAME, PSNAME, PFNAME);
19060   /* Register fields and subtrees */
19061   proto_register_field_array(proto_ansi_map, hf, array_length(hf));
19062   proto_register_subtree_array(ett, array_length(ett));
19063
19064  
19065   register_dissector("ansi_map", dissect_ansi_map, proto_ansi_map);
19066
19067   is637_tele_id_dissector_table =
19068           register_dissector_table("ansi_map.tele_id", "IS-637 Teleservice ID",
19069             FT_UINT8, BASE_DEC);
19070
19071   is683_dissector_table =
19072         register_dissector_table("ansi_map.ota", "IS-683-A (OTA)",
19073             FT_UINT8, BASE_DEC);
19074
19075   is801_dissector_table =
19076         register_dissector_table("ansi_map.pld", "IS-801 (PLD)",
19077             FT_UINT8, BASE_DEC);
19078
19079   ansi_map_tap = register_tap("ansi_map");
19080
19081
19082   range_convert_str(&global_ssn_range, "5-14", MAX_SSN);
19083
19084   ssn_range = range_empty();
19085
19086   ansi_map_module = prefs_register_protocol(proto_ansi_map, proto_reg_handoff_ansi_map);
19087     
19088
19089   prefs_register_range_preference(ansi_map_module, "map.ssn", "ANSI MAP SSNs",
19090                                     "ANSI MAP SSNs to decode as ANSI MAP",
19091                                     &global_ssn_range, MAX_SSN);
19092
19093   register_init_routine(&ansi_map_init_protocol);
19094 }
19095
19096
19097
19098
19099